
void detachFunc(sqlite3_context *context,int NotUsed,sqlite3_value **argv)

{
  byte *pbVar1;
  bool bVar2;
  byte bVar3;
  bool bVar4;
  undefined *puVar5;
  int iVar6;
  byte *pbVar7;
  Pager *pPVar8;
  int iVar9;
  Btree *pBVar10;
  byte *pbVar11;
  byte *pbVar12;
  undefined *eMode;
  int *pnLog;
  _func_int_void_ptr *xBusy;
  int iVar13;
  Db *pDVar14;
  sqlite3 *psVar15;
  BtShared *pBVar16;
  int iVar17;
  code *pcVar18;
  undefined *puVar19;
  int *piStack_b0;
  char zErr [128];
  
  puVar19 = PTR___stack_chk_guard_00190e24;
  iVar6 = *(int *)PTR___stack_chk_guard_00190e24;
  pbVar7 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*argv,1);
  psVar15 = context->pOut->db;
  if (pbVar7 == (byte *)0x0) {
    pbVar7 = PTR_LAB_00190958 + 0x30a8;
  }
  if (0 < psVar15->nDb) {
    iVar13 = 0;
    pDVar14 = psVar15->aDb;
    do {
      pBVar10 = pDVar14->pBt;
      if (pBVar10 != (Btree *)0x0) {
        pbVar11 = (byte *)pDVar14->zDbSName;
        pnLog = (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18];
        if (pnLog == (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]) {
          if (*pbVar11 == 0) {
LAB_000d7bec:
            if (iVar13 < 2) {
              (*(code *)PTR_sqlite3_snprintf_00190a44)
                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)
              ;
              goto LAB_000d7b94;
            }
            if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {
              (*(code *)PTR_sqlite3_snprintf_00190a44)
                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)
              ;
              goto LAB_000d7b94;
            }
            eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
            sqlite3BtreeClose(pBVar10);
            pDVar14->pBt = (Btree *)0x0;
            pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);
            pDVar14->pSchema = (Schema *)0x0;
            (*pcVar18)();
            goto LAB_000d7bc4;
          }
          pbVar11 = pbVar11 + 1;
          pbVar12 = pbVar7;
          while( true ) {
            pbVar1 = pbVar12 + 1;
            bVar3 = *pbVar11;
            pbVar12 = pbVar12 + 1;
            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;
            pbVar11 = pbVar11 + 1;
            if (bVar3 == 0) goto LAB_000d7bec;
          }
        }
      }
      iVar13 = iVar13 + 1;
      pDVar14 = pDVar14 + 1;
    } while (iVar13 != psVar15->nDb);
  }
  (*(code *)PTR_sqlite3_snprintf_00190a44)
            (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar7);
LAB_000d7b94:
  puVar5 = PTR_LAB_00190bc0;
  pbVar11 = (byte *)zErr;
  psVar15 = (sqlite3 *)context->pOut;
  pnLog = (int *)0x1;
  context->isError = 1;
  eMode = (undefined *)0xffffffff;
  piStack_b0 = (int *)0xffffffff;
  (*(code *)(puVar5 + -0x2aec))();
LAB_000d7bc4:
  if (iVar6 == *(int *)puVar19) {
    return;
  }
  puVar19 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  iVar6 = psVar15->nDb;
  iVar13 = *(int *)(puVar19 + 0xb8f08);
  if (0 < iVar6) {
    iVar17 = *(int *)(puVar19 + 0xb8f08);
    bVar4 = false;
    pbVar7 = (byte *)0x1;
    if (pbVar11 == (byte *)0x0) goto LAB_000d7d38;
LAB_000d7d1c:
    if (pbVar11 == &DAT_0000000a) goto LAB_000d7d38;
    if ((int)pbVar7 < iVar6) {
LAB_000d7d30:
      do {
        bVar2 = pbVar11 != pbVar7;
        pbVar7 = pbVar7 + 1;
        if (bVar2) goto LAB_000d7d1c;
LAB_000d7d38:
        pBVar10 = psVar15->aDb[(int)(pbVar7 + -1)].pBt;
        if (pBVar10 == (Btree *)0x0) {
LAB_000d7e0c:
          if (iVar6 <= (int)pbVar7) break;
        }
        else {
          pBVar16 = pBVar10->pBt;
          if (pBVar10->sharable != '\0') {
            (*(code *)(iVar17 + 0x7108))(pBVar10);
          }
          if (pBVar16->inTransaction != '\0') {
            if (pBVar10->sharable == '\0') {
              return;
            }
            iVar6 = pBVar10->wantToLock + -1;
            pBVar10->wantToLock = iVar6;
            if (iVar6 != 0) {
              return;
            }
            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);
            return;
          }
          pPVar8 = pBVar16->pPager;
          if (pPVar8->pWal == (Wal *)0x0) {
            if (pBVar10->sharable != '\0') {
              iVar6 = pBVar10->wantToLock + -1;
              pBVar10->wantToLock = iVar6;
              if (iVar6 != 0) {
                iVar6 = psVar15->nDb;
                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;
                break;
              }
              (*(code *)(iVar13 + 0x71f0))(pBVar10);
            }
            iVar6 = psVar15->nDb;
            goto LAB_000d7e0c;
          }
          if (eMode == (undefined *)0x0) {
            xBusy = (_func_int_void_ptr *)0x0;
          }
          else {
            xBusy = pPVar8->xBusyHandler;
          }
          iVar9 = sqlite3WalCheckpoint
                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,
                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,
                             pnLog,piStack_b0);
          if ((pBVar10->sharable != '\0') &&
             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {
            (*(code *)(iVar13 + 0x71f0))(pBVar10);
          }
          iVar6 = psVar15->nDb;
          if (iVar9 == 5) {
            bVar4 = true;
            if (iVar6 <= (int)pbVar7) {
              return;
            }
            piStack_b0 = (int *)0x0;
            pnLog = (int *)0x0;
            goto LAB_000d7d30;
          }
          if (iVar6 <= (int)pbVar7) {
            if (iVar9 != 0) {
              return;
            }
            break;
          }
          if (iVar9 != 0) {
            return;
          }
        }
LAB_000d7e18:
        piStack_b0 = (int *)0x0;
        pnLog = (int *)0x0;
      } while( true );
    }
    if (bVar4) {
      return;
    }
  }
  return;
}



int FUN_000d7a84(int *param_1,undefined4 param_2,undefined4 *param_3)

{
  byte *pbVar1;
  bool bVar2;
  byte bVar3;
  bool bVar4;
  undefined *puVar5;
  byte *pbVar6;
  int iVar7;
  int iVar8;
  byte *pbVar9;
  byte *pbVar10;
  undefined *puVar11;
  uint uVar12;
  undefined4 uVar13;
  int iVar14;
  undefined4 *puVar15;
  int iVar16;
  int *piVar17;
  int iVar18;
  code *pcVar19;
  undefined *puVar20;
  undefined4 local_b0;
  byte abStack_9c [128];
  int local_1c;
  
  puVar20 = PTR___stack_chk_guard_00190e24;
  local_1c = *(int *)PTR___stack_chk_guard_00190e24;
  pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1);
  iVar16 = *(int *)(*param_1 + 0x20);
  if (pbVar6 == (byte *)0x0) {
    pbVar6 = PTR_LAB_00190958 + 0x30a8;
  }
  if (0 < *(int *)(iVar16 + 0x14)) {
    iVar14 = 0;
    puVar15 = *(undefined4 **)(iVar16 + 0x10);
    do {
      iVar8 = puVar15[1];
      if (iVar8 != 0) {
        pbVar9 = (byte *)*puVar15;
        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];
        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {
          if (*pbVar9 == 0) {
LAB_000d7bec:
            if (iVar14 < 2) {
              (*(code *)PTR_sqlite3_snprintf_00190a44)
                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,
                         pbVar6);
              goto LAB_000d7b94;
            }
            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {
              (*(code *)PTR_sqlite3_snprintf_00190a44)
                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,
                         pbVar6);
              goto LAB_000d7b94;
            }
            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
            FUN_000d66bc();
            puVar15[1] = 0;
            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);
            puVar15[3] = 0;
            (*pcVar19)();
            goto LAB_000d7bc4;
          }
          pbVar9 = pbVar9 + 1;
          pbVar10 = pbVar6;
          while( true ) {
            pbVar1 = pbVar10 + 1;
            bVar3 = *pbVar9;
            pbVar10 = pbVar10 + 1;
            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;
            pbVar9 = pbVar9 + 1;
            if (bVar3 == 0) goto LAB_000d7bec;
          }
        }
      }
      iVar14 = iVar14 + 1;
      puVar15 = puVar15 + 4;
    } while (iVar14 != *(int *)(iVar16 + 0x14));
  }
  (*(code *)PTR_sqlite3_snprintf_00190a44)
            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6);
LAB_000d7b94:
  puVar5 = PTR_LAB_00190bc0;
  pbVar9 = abStack_9c;
  iVar16 = *param_1;
  uVar12 = 1;
  param_1[5] = 1;
  puVar11 = (undefined *)0xffffffff;
  local_b0 = 0xffffffff;
  (*(code *)(puVar5 + -0x2aec))();
LAB_000d7bc4:
  if (local_1c == *(int *)puVar20) {
    return *(int *)puVar20;
  }
  puVar20 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  iVar14 = *(int *)(iVar16 + 0x14);
  iVar8 = *(int *)(puVar20 + 0xb8f08);
  if (0 < iVar14) {
    iVar18 = *(int *)(puVar20 + 0xb8f08);
    bVar4 = false;
    pbVar6 = (byte *)0x1;
    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;
LAB_000d7d1c:
    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;
    if ((int)pbVar6 < iVar14) {
LAB_000d7d30:
      do {
        bVar2 = pbVar9 != pbVar6;
        pbVar6 = pbVar6 + 1;
        if (bVar2) goto LAB_000d7d1c;
LAB_000d7d38:
        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);
        if (puVar15 == (undefined4 *)0x0) {
LAB_000d7e0c:
          if (iVar14 <= (int)pbVar6) break;
        }
        else {
          piVar17 = (int *)puVar15[1];
          if (*(char *)((int)puVar15 + 9) != '\0') {
            (*(code *)(iVar18 + 0x7108))(puVar15);
          }
          if (*(char *)(piVar17 + 5) != '\0') {
            if (*(char *)((int)puVar15 + 9) == '\0') {
              return 6;
            }
            iVar16 = puVar15[3];
            puVar15[3] = iVar16 + -1;
            if (iVar16 + -1 == 0) {
              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);
            }
            return 6;
          }
          iVar14 = *piVar17;
          if (*(int *)(iVar14 + 0xd8) == 0) {
            if (*(char *)((int)puVar15 + 9) != '\0') {
              iVar14 = puVar15[3];
              puVar15[3] = iVar14 + -1;
              if (iVar14 + -1 != 0) {
                iVar14 = *(int *)(iVar16 + 0x14);
                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;
                break;
              }
              (*(code *)(iVar8 + 0x71f0))(puVar15);
            }
            iVar14 = *(int *)(iVar16 + 0x14);
            goto LAB_000d7e0c;
          }
          if (puVar11 == (undefined *)0x0) {
            uVar13 = 0;
          }
          else {
            uVar13 = *(undefined4 *)(iVar14 + 0xb0);
          }
          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,
                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),
                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,
                               local_b0);
          if ((*(char *)((int)puVar15 + 9) != '\0') &&
             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {
            (*(code *)(iVar8 + 0x71f0))(puVar15);
          }
          iVar14 = *(int *)(iVar16 + 0x14);
          if (iVar7 == 5) {
            bVar4 = true;
            if (iVar14 <= (int)pbVar6) {
              return 5;
            }
            local_b0 = 0;
            uVar12 = 0;
            goto LAB_000d7d30;
          }
          if (iVar14 <= (int)pbVar6) {
            if (iVar7 != 0) {
              return iVar7;
            }
            break;
          }
          if (iVar7 != 0) {
            return iVar7;
          }
        }
LAB_000d7e18:
        local_b0 = 0;
        uVar12 = 0;
      } while( true );
    }
    if (bVar4) {
      return 5;
    }
  }
  return 0;
}


lui gp,0xc
addiu gp,gp,0xe9c
addu gp,gp,t9
addiu sp,sp,-0xc0
lw t9,-0x7d60(gp)
li a1,0x1
sw s0,0xac(sp)
addiu t9,t9,0x6f60
sw gp,0x18(sp)
sw s3,0xb8(sp)
sw s2,0xb4(sp)
or s2,a0,zero
sw ra,0xbc(sp)
sw s1,0xb0(sp)
lw s0,-0x7afc(gp)
lw a0,0x0(a2)
lw v0,0x0(s0)
sw v0,0xa4(sp)
jalr t9
_nop
lw v1,0x0(s2)
lw gp,0x18(sp)
beq v0,zero,0x000d7c64
_lw s3,0x20(v1)
lw t4,0x14(s3)
blez t4,0x000d7b70
_lw t1,-0x7d8c(gp)
or t3,zero,zero
lw s1,0x10(s3)
addiu t1,t1,-0x3c18
lw a0,0x4(s1)
beq a0,zero,0x000d7b64
_nop
lw a1,0x0(s1)
lbu v1,0x0(v0)
lbu a2,0x0(a1)
addu v1,t1,v1
addu t0,t1,a2
lbu a3,0x0(v1)
lbu v1,0x0(t0)
bne a3,v1,0x000d7b64
_nop
beq a2,zero,0x000d7bec
_or a2,v0,zero
b 0x000d7b44
_addiu a1,a1,0x1
beq t0,zero,0x000d7bec
_addiu a1,a1,0x1
lbu v1,0x1(a2)
lbu t0,0x0(a1)
addu v1,t1,v1
addu t2,t1,t0
lbu v1,0x0(v1)
lbu t2,0x0(t2)
beq t2,v1,0x000d7b3c
_addiu a2,a2,0x1
addiu t3,t3,0x1
bne t3,t4,0x000d7afc
_addiu s1,s1,0x10
lw a2,-0x7fc4(gp)
addiu s1,sp,0x24
lw t9,-0x7edc(gp)
li a0,0x80
or a3,v0,zero
addiu a2,a2,-0x40fc
jalr t9
_or a1,s1,zero
lw gp,0x18(sp)
lw t9,-0x7d60(gp)
li v0,0x1
lw a0,0x0(s2)
li a3,0x1
sw v0,0x14(s2)
li v0,-0x1
li a2,-0x1
addiu t9,t9,-0x2aec
sw v0,0x10(sp)
jalr t9
_or a1,s1,zero
lw gp,0x18(sp)
lw v1,0xa4(sp)
lw v0,0x0(s0)
bne v1,v0,0x000d7c94
_lw ra,0xbc(sp)
lw s3,0xb8(sp)
lw s2,0xb4(sp)
lw s1,0xb0(sp)
lw s0,0xac(sp)
jr ra
_addiu sp,sp,0xc0
slti t3,t3,0x2
bne t3,zero,0x000d7c70
_lw a2,-0x7fc4(gp)
lbu v1,0x8(a0)
bne v1,zero,0x000d7c10
_lw a2,-0x7fc4(gp)
lw v1,0x10(a0)
beq v1,zero,0x000d7c34
_lw t9,-0x7d64(gp)
addiu s1,sp,0x24
lw t9,-0x7edc(gp)
li a0,0x80
or a3,v0,zero
addiu a2,a2,-0x4114
jalr t9
_or a1,s1,zero
b 0x000d7b94
_lw gp,0x18(sp)
addiu t9,t9,0x66bc
bal 0x000d66bc
_nop
or a0,s3,zero
lw gp,0x18(sp)
sw zero,0x4(s1)
lw t9,-0x7d7c(gp)
addiu t9,t9,-0x3fbc
jalr t9
_sw zero,0xc(s1)
b 0x000d7bc4
_lw gp,0x18(sp)
lw v0,-0x7fc8(gp)
b 0x000d7ae4
_addiu v0,v0,0x30a8
addiu s1,sp,0x24
lw t9,-0x7edc(gp)
li a0,0x80
or a3,v0,zero
addiu a2,a2,-0x4130
jalr t9
_or a1,s1,zero
b 0x000d7b94
_lw gp,0x18(sp)
lw t9,-0x7b28(gp)
jalr t9
_nop
(translation_unit "int FUN_000d7a84(int *param_1,undefined4 param_2,undefined4 *param_3)\n\n{\n  byte *pbVar1;\n  bool bVar2;\n  byte bVar3;\n  bool bVar4;\n  undefined *puVar5;\n  byte *pbVar6;\n  int iVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined *puVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined4 local_b0;\n  byte abStack_9c [128];\n  int local_1c;\n  \n  puVar20 = PTR___stack_chk_guard_00190e24;\n  local_1c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1);\n  iVar16 = *(int *)(*param_1 + 0x20);\n  if (pbVar6 == (byte *)0x0) {\n    pbVar6 = PTR_LAB_00190958 + 0x30a8;\n  }\n  if (0 < *(int *)(iVar16 + 0x14)) {\n    iVar14 = 0;\n    puVar15 = *(undefined4 **)(iVar16 + 0x10);\n    do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));\n  }\n  (*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6);\nLAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;\n  pbVar9 = abStack_9c;\n  iVar16 = *param_1;\n  uVar12 = 1;\n  param_1[5] = 1;\n  puVar11 = (undefined *)0xffffffff;\n  local_b0 = 0xffffffff;\n  (*(code *)(puVar5 + -0x2aec))();\nLAB_000d7bc4:\n  if (local_1c == *(int *)puVar20) {\n    return *(int *)puVar20;\n  }\n  puVar20 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  iVar14 = *(int *)(iVar16 + 0x14);\n  iVar8 = *(int *)(puVar20 + 0xb8f08);\n  if (0 < iVar14) {\n    iVar18 = *(int *)(puVar20 + 0xb8f08);\n    bVar4 = false;\n    pbVar6 = (byte *)0x1;\n    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }\n    if (bVar4) {\n      return 5;\n    }\n  }\n  return 0;\n}\n\n" (function_definition "int FUN_000d7a84(int *param_1,undefined4 param_2,undefined4 *param_3)\n\n{\n  byte *pbVar1;\n  bool bVar2;\n  byte bVar3;\n  bool bVar4;\n  undefined *puVar5;\n  byte *pbVar6;\n  int iVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined *puVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined4 local_b0;\n  byte abStack_9c [128];\n  int local_1c;\n  \n  puVar20 = PTR___stack_chk_guard_00190e24;\n  local_1c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1);\n  iVar16 = *(int *)(*param_1 + 0x20);\n  if (pbVar6 == (byte *)0x0) {\n    pbVar6 = PTR_LAB_00190958 + 0x30a8;\n  }\n  if (0 < *(int *)(iVar16 + 0x14)) {\n    iVar14 = 0;\n    puVar15 = *(undefined4 **)(iVar16 + 0x10);\n    do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));\n  }\n  (*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6);\nLAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;\n  pbVar9 = abStack_9c;\n  iVar16 = *param_1;\n  uVar12 = 1;\n  param_1[5] = 1;\n  puVar11 = (undefined *)0xffffffff;\n  local_b0 = 0xffffffff;\n  (*(code *)(puVar5 + -0x2aec))();\nLAB_000d7bc4:\n  if (local_1c == *(int *)puVar20) {\n    return *(int *)puVar20;\n  }\n  puVar20 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  iVar14 = *(int *)(iVar16 + 0x14);\n  iVar8 = *(int *)(puVar20 + 0xb8f08);\n  if (0 < iVar14) {\n    iVar18 = *(int *)(puVar20 + 0xb8f08);\n    bVar4 = false;\n    pbVar6 = (byte *)0x1;\n    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }\n    if (bVar4) {\n      return 5;\n    }\n  }\n  return 0;\n}" primitive_type (function_declarator "FUN_000d7a84(int *param_1,undefined4 param_2,undefined4 *param_3)" identifier (parameter_list "(int *param_1,undefined4 param_2,undefined4 *param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  byte *pbVar1;\n  bool bVar2;\n  byte bVar3;\n  bool bVar4;\n  undefined *puVar5;\n  byte *pbVar6;\n  int iVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined *puVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined4 local_b0;\n  byte abStack_9c [128];\n  int local_1c;\n  \n  puVar20 = PTR___stack_chk_guard_00190e24;\n  local_1c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1);\n  iVar16 = *(int *)(*param_1 + 0x20);\n  if (pbVar6 == (byte *)0x0) {\n    pbVar6 = PTR_LAB_00190958 + 0x30a8;\n  }\n  if (0 < *(int *)(iVar16 + 0x14)) {\n    iVar14 = 0;\n    puVar15 = *(undefined4 **)(iVar16 + 0x10);\n    do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));\n  }\n  (*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6);\nLAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;\n  pbVar9 = abStack_9c;\n  iVar16 = *param_1;\n  uVar12 = 1;\n  param_1[5] = 1;\n  puVar11 = (undefined *)0xffffffff;\n  local_b0 = 0xffffffff;\n  (*(code *)(puVar5 + -0x2aec))();\nLAB_000d7bc4:\n  if (local_1c == *(int *)puVar20) {\n    return *(int *)puVar20;\n  }\n  puVar20 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  iVar14 = *(int *)(iVar16 + 0x14);\n  iVar8 = *(int *)(puVar20 + 0xb8f08);\n  if (0 < iVar14) {\n    iVar18 = *(int *)(puVar20 + 0xb8f08);\n    bVar4 = false;\n    pbVar6 = (byte *)0x1;\n    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }\n    if (bVar4) {\n      return 5;\n    }\n  }\n  return 0;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 local_b0;" type_identifier identifier ;) (declaration "byte abStack_9c [128];" type_identifier (array_declarator "abStack_9c [128]" identifier [ number_literal ]) ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar20 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar20 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_1c = *(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 "pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1);" (assignment_expression "pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1)" identifier = (cast_expression "(byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x6f60))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x6f60)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x6f60)" ( (binary_expression "PTR_LAB_00190bc0 + 0x6f60" identifier + number_literal) )))) )) (argument_list "(*param_3,1)" ( (pointer_expression "*param_3" * identifier) , number_literal ))))) ;) (expression_statement "iVar16 = *(int *)(*param_1 + 0x20);" (assignment_expression "iVar16 = *(int *)(*param_1 + 0x20)" identifier = (pointer_expression "*(int *)(*param_1 + 0x20)" * (cast_expression "(int *)(*param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x20)" ( (binary_expression "*param_1 + 0x20" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (if_statement "if (pbVar6 == (byte *)0x0) {\n    pbVar6 = PTR_LAB_00190958 + 0x30a8;\n  }" if (parenthesized_expression "(pbVar6 == (byte *)0x0)" ( (binary_expression "pbVar6 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pbVar6 = PTR_LAB_00190958 + 0x30a8;\n  }" { (expression_statement "pbVar6 = PTR_LAB_00190958 + 0x30a8;" (assignment_expression "pbVar6 = PTR_LAB_00190958 + 0x30a8" identifier = (binary_expression "PTR_LAB_00190958 + 0x30a8" identifier + number_literal)) ;) })) (if_statement "if (0 < *(int *)(iVar16 + 0x14)) {\n    iVar14 = 0;\n    puVar15 = *(undefined4 **)(iVar16 + 0x10);\n    do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));\n  }" if (parenthesized_expression "(0 < *(int *)(iVar16 + 0x14))" ( (binary_expression "0 < *(int *)(iVar16 + 0x14)" number_literal < (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    iVar14 = 0;\n    puVar15 = *(undefined4 **)(iVar16 + 0x10);\n    do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));\n  }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "puVar15 = *(undefined4 **)(iVar16 + 0x10);" (assignment_expression "puVar15 = *(undefined4 **)(iVar16 + 0x10)" identifier = (pointer_expression "*(undefined4 **)(iVar16 + 0x10)" * (cast_expression "(undefined4 **)(iVar16 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x10)" ( (binary_expression "iVar16 + 0x10" identifier + number_literal) ))))) ;) (do_statement "do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));" do (compound_statement "{\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    }" { (expression_statement "iVar8 = puVar15[1];" (assignment_expression "iVar8 = puVar15[1]" identifier = (subscript_expression "puVar15[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }" { (expression_statement "pbVar9 = (byte *)*puVar15;" (assignment_expression "pbVar9 = (byte *)*puVar15" identifier = (cast_expression "(byte *)*puVar15" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (expression_statement "uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];" (assignment_expression "uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18]" identifier = (cast_expression "(uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR_DAT_00190b94[*pbVar6 - 0x3c18]" identifier [ (binary_expression "*pbVar6 - 0x3c18" (pointer_expression "*pbVar6" * identifier) - number_literal) ])))) ;) (if_statement "if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }" if (parenthesized_expression "(uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18])" ( (binary_expression "uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]" identifier == (cast_expression "(byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR_DAT_00190b94[*pbVar9 - 0x3c18]" identifier [ (binary_expression "*pbVar9 - 0x3c18" (pointer_expression "*pbVar9" * identifier) - number_literal) ]))) )) (compound_statement "{\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }" { (if_statement "if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }" if (parenthesized_expression "(*pbVar9 == 0)" ( (binary_expression "*pbVar9 == 0" (pointer_expression "*pbVar9" * identifier) == number_literal) )) (compound_statement "{\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }" { (labeled_statement "LAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" statement_identifier : (if_statement "if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" if (parenthesized_expression "(iVar14 < 2)" ( (binary_expression "iVar14 < 2" identifier < number_literal) )) (compound_statement "{\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" { (expression_statement "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);" (call_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6)" (parenthesized_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)" ( (pointer_expression "*(code *)PTR_sqlite3_snprintf_00190a44" * (cast_expression "(code *)PTR_sqlite3_snprintf_00190a44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6)" ( number_literal , identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_000d7b94;" goto statement_identifier ;) }))) (if_statement "if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" if (parenthesized_expression "((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0))" ( (binary_expression "(*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)" (parenthesized_expression "(*(char *)(iVar8 + 8) != '\0')" ( (binary_expression "*(char *)(iVar8 + 8) != '\0'" (pointer_expression "*(char *)(iVar8 + 8)" * (cast_expression "(char *)(iVar8 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(int *)(iVar8 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar8 + 0x10) != 0" (pointer_expression "*(int *)(iVar8 + 0x10)" * (cast_expression "(int *)(iVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" { (expression_statement "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);" (call_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6)" (parenthesized_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)" ( (pointer_expression "*(code *)PTR_sqlite3_snprintf_00190a44" * (cast_expression "(code *)PTR_sqlite3_snprintf_00190a44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6)" ( number_literal , identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_000d7b94;" goto statement_identifier ;) })) (expression_statement "puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "FUN_000d66bc();" (call_expression "FUN_000d66bc()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar15[1] = 0;" (assignment_expression "puVar15[1] = 0" (subscript_expression "puVar15[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);" (assignment_expression "pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x3fbc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x3fbc)" ( (binary_expression "PTR_LAB_00190ba4 + -0x3fbc" identifier + number_literal) )))) ;) (expression_statement "puVar15[3] = 0;" (assignment_expression "puVar15[3] = 0" (subscript_expression "puVar15[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000d7bc4;" goto statement_identifier ;) })) (expression_statement "pbVar9 = pbVar9 + 1;" (assignment_expression "pbVar9 = pbVar9 + 1" identifier = (binary_expression "pbVar9 + 1" identifier + number_literal)) ;) (expression_statement "pbVar10 = pbVar6;" (assignment_expression "pbVar10 = pbVar6" identifier = identifier) ;) (while_statement "while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }" { (expression_statement "pbVar1 = pbVar10 + 1;" (assignment_expression "pbVar1 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar9;" (assignment_expression "bVar3 = *pbVar9" identifier = (pointer_expression "*pbVar9" * identifier)) ;) (expression_statement "pbVar10 = pbVar10 + 1;" (assignment_expression "pbVar10 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) (if_statement "if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;" if (parenthesized_expression "(PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18])" ( (binary_expression "PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]" (subscript_expression "PTR_DAT_00190b94[bVar3 - 0x3c18]" identifier [ (binary_expression "bVar3 - 0x3c18" identifier - number_literal) ]) != (subscript_expression "PTR_DAT_00190b94[*pbVar1 - 0x3c18]" identifier [ (binary_expression "*pbVar1 - 0x3c18" (pointer_expression "*pbVar1" * identifier) - number_literal) ])) )) (break_statement "break;" break ;)) (expression_statement "pbVar9 = pbVar9 + 1;" (assignment_expression "pbVar9 = pbVar9 + 1" identifier = (binary_expression "pbVar9 + 1" identifier + number_literal)) ;) (if_statement "if (bVar3 == 0) goto LAB_000d7bec;" if (parenthesized_expression "(bVar3 == 0)" ( (binary_expression "bVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000d7bec;" goto statement_identifier ;)) })) })) })) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "puVar15 = puVar15 + 4;" (assignment_expression "puVar15 = puVar15 + 4" identifier = (binary_expression "puVar15 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar14 != *(int *)(iVar16 + 0x14))" ( (binary_expression "iVar14 != *(int *)(iVar16 + 0x14)" identifier != (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) )) ;) })) (expression_statement "(*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6);" (call_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6)" (parenthesized_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)" ( (pointer_expression "*(code *)PTR_sqlite3_snprintf_00190a44" * (cast_expression "(code *)PTR_sqlite3_snprintf_00190a44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6)" ( number_literal , identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc" identifier + number_literal) , identifier ))) ;) (labeled_statement "LAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;" statement_identifier : (expression_statement "puVar5 = PTR_LAB_00190bc0;" (assignment_expression "puVar5 = PTR_LAB_00190bc0" identifier = identifier) ;)) (expression_statement "pbVar9 = abStack_9c;" (assignment_expression "pbVar9 = abStack_9c" identifier = identifier) ;) (expression_statement "iVar16 = *param_1;" (assignment_expression "iVar16 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar12 = 1;" (assignment_expression "uVar12 = 1" identifier = number_literal) ;) (expression_statement "param_1[5] = 1;" (assignment_expression "param_1[5] = 1" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11 = (undefined *)0xffffffff;" (assignment_expression "puVar11 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = 0xffffffff;" (assignment_expression "local_b0 = 0xffffffff" identifier = number_literal) ;) (expression_statement "(*(code *)(puVar5 + -0x2aec))();" (call_expression "(*(code *)(puVar5 + -0x2aec))()" (parenthesized_expression "(*(code *)(puVar5 + -0x2aec))" ( (pointer_expression "*(code *)(puVar5 + -0x2aec)" * (cast_expression "(code *)(puVar5 + -0x2aec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x2aec)" ( (binary_expression "puVar5 + -0x2aec" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000d7bc4:\n  if (local_1c == *(int *)puVar20) {\n    return *(int *)puVar20;\n  }" statement_identifier : (if_statement "if (local_1c == *(int *)puVar20) {\n    return *(int *)puVar20;\n  }" if (parenthesized_expression "(local_1c == *(int *)puVar20)" ( (binary_expression "local_1c == *(int *)puVar20" identifier == (pointer_expression "*(int *)puVar20" * (cast_expression "(int *)puVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return *(int *)puVar20;\n  }" { (return_statement "return *(int *)puVar20;" return (pointer_expression "*(int *)puVar20" * (cast_expression "(int *)puVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "puVar20 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar20 = 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 "iVar14 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x14)" identifier = (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar20 + 0xb8f08);" (assignment_expression "iVar8 = *(int *)(puVar20 + 0xb8f08)" identifier = (pointer_expression "*(int *)(puVar20 + 0xb8f08)" * (cast_expression "(int *)(puVar20 + 0xb8f08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xb8f08)" ( (binary_expression "puVar20 + 0xb8f08" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar14) {\n    iVar18 = *(int *)(puVar20 + 0xb8f08);\n    bVar4 = false;\n    pbVar6 = (byte *)0x1;\n    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }\n    if (bVar4) {\n      return 5;\n    }\n  }" if (parenthesized_expression "(0 < iVar14)" ( (binary_expression "0 < iVar14" number_literal < identifier) )) (compound_statement "{\n    iVar18 = *(int *)(puVar20 + 0xb8f08);\n    bVar4 = false;\n    pbVar6 = (byte *)0x1;\n    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }\n    if (bVar4) {\n      return 5;\n    }\n  }" { (expression_statement "iVar18 = *(int *)(puVar20 + 0xb8f08);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0xb8f08)" identifier = (pointer_expression "*(int *)(puVar20 + 0xb8f08)" * (cast_expression "(int *)(puVar20 + 0xb8f08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xb8f08)" ( (binary_expression "puVar20 + 0xb8f08" identifier + number_literal) ))))) ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "pbVar6 = (byte *)0x1;" (assignment_expression "pbVar6 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;" if (parenthesized_expression "(pbVar9 == (byte *)0x0)" ( (binary_expression "pbVar9 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d7d38;" goto statement_identifier ;)) (labeled_statement "LAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;" statement_identifier : (if_statement "if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;" if (parenthesized_expression "(pbVar9 == &DAT_0000000a)" ( (binary_expression "pbVar9 == &DAT_0000000a" identifier == (pointer_expression "&DAT_0000000a" & identifier)) )) (goto_statement "goto LAB_000d7d38;" goto statement_identifier ;))) (if_statement "if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }" if (parenthesized_expression "((int)pbVar6 < iVar14)" ( (binary_expression "(int)pbVar6 < iVar14" (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }" { (labeled_statement "LAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );" statement_identifier : (do_statement "do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );" do (compound_statement "{\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      }" { (expression_statement "bVar2 = pbVar9 != pbVar6;" (assignment_expression "bVar2 = pbVar9 != pbVar6" identifier = (binary_expression "pbVar9 != pbVar6" identifier != identifier)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (if_statement "if (bVar2) goto LAB_000d7d1c;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_000d7d1c;" goto statement_identifier ;)) (labeled_statement "LAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);" statement_identifier : (expression_statement "puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);" (assignment_expression "puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc)" * (cast_expression "(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc)" ( (binary_expression "*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc" (binary_expression "*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10" (pointer_expression "*(int *)(iVar16 + 0x10)" * (cast_expression "(int *)(iVar16 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x10)" ( (binary_expression "iVar16 + 0x10" identifier + number_literal) )))) + (binary_expression "(int)pbVar6 * 0x10" (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;)) (if_statement "if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }" if (parenthesized_expression "(puVar15 == (undefined4 *)0x0)" ( (binary_expression "puVar15 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }" { (labeled_statement "LAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;" statement_identifier : (if_statement "if (iVar14 <= (int)pbVar6) break;" if (parenthesized_expression "(iVar14 <= (int)pbVar6)" ( (binary_expression "iVar14 <= (int)pbVar6" identifier <= (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;))) }) (else_clause "else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }" else (compound_statement "{\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }" { (expression_statement "piVar17 = (int *)puVar15[1];" (assignment_expression "piVar17 = (int *)puVar15[1]" identifier = (cast_expression "(int *)puVar15[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[1]" identifier [ number_literal ]))) ;) (if_statement "if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }" if (parenthesized_expression "(*(char *)((int)puVar15 + 9) != '\0')" ( (binary_expression "*(char *)((int)puVar15 + 9) != '\0'" (pointer_expression "*(char *)((int)puVar15 + 9)" * (cast_expression "(char *)((int)puVar15 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + 9)" ( (binary_expression "(int)puVar15 + 9" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }" { (expression_statement "(*(code *)(iVar18 + 0x7108))(puVar15);" (call_expression "(*(code *)(iVar18 + 0x7108))(puVar15)" (parenthesized_expression "(*(code *)(iVar18 + 0x7108))" ( (pointer_expression "*(code *)(iVar18 + 0x7108)" * (cast_expression "(code *)(iVar18 + 0x7108)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x7108)" ( (binary_expression "iVar18 + 0x7108" identifier + number_literal) )))) )) (argument_list "(puVar15)" ( identifier ))) ;) })) (if_statement "if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }" if (parenthesized_expression "(*(char *)(piVar17 + 5) != '\0')" ( (binary_expression "*(char *)(piVar17 + 5) != '\0'" (pointer_expression "*(char *)(piVar17 + 5)" * (cast_expression "(char *)(piVar17 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 5)" ( (binary_expression "piVar17 + 5" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }" { (if_statement "if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }" if (parenthesized_expression "(*(char *)((int)puVar15 + 9) == '\0')" ( (binary_expression "*(char *)((int)puVar15 + 9) == '\0'" (pointer_expression "*(char *)((int)puVar15 + 9)" * (cast_expression "(char *)((int)puVar15 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + 9)" ( (binary_expression "(int)puVar15 + 9" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              return 6;\n            }" { (return_statement "return 6;" return number_literal ;) })) (expression_statement "iVar16 = puVar15[3];" (assignment_expression "iVar16 = puVar15[3]" identifier = (subscript_expression "puVar15[3]" identifier [ number_literal ])) ;) (expression_statement "puVar15[3] = iVar16 + -1;" (assignment_expression "puVar15[3] = iVar16 + -1" (subscript_expression "puVar15[3]" identifier [ number_literal ]) = (binary_expression "iVar16 + -1" identifier + number_literal)) ;) (if_statement "if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }" if (parenthesized_expression "(iVar16 + -1 == 0)" ( (binary_expression "iVar16 + -1 == 0" (binary_expression "iVar16 + -1" identifier + number_literal) == number_literal) )) (compound_statement "{\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }" { (expression_statement "(*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);" (call_expression "(*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15)" (parenthesized_expression "(*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))" ( (pointer_expression "*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0)" * (cast_expression "(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0xb8f08) + 0x71f0)" ( (binary_expression "*(int *)(puVar20 + 0xb8f08) + 0x71f0" (pointer_expression "*(int *)(puVar20 + 0xb8f08)" * (cast_expression "(int *)(puVar20 + 0xb8f08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xb8f08)" ( (binary_expression "puVar20 + 0xb8f08" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar15)" ( identifier ))) ;) })) (return_statement "return 6;" return number_literal ;) })) (expression_statement "iVar14 = *piVar17;" (assignment_expression "iVar14 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (if_statement "if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }" if (parenthesized_expression "(*(int *)(iVar14 + 0xd8) == 0)" ( (binary_expression "*(int *)(iVar14 + 0xd8) == 0" (pointer_expression "*(int *)(iVar14 + 0xd8)" * (cast_expression "(int *)(iVar14 + 0xd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xd8)" ( (binary_expression "iVar14 + 0xd8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }" { (if_statement "if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }" if (parenthesized_expression "(*(char *)((int)puVar15 + 9) != '\0')" ( (binary_expression "*(char *)((int)puVar15 + 9) != '\0'" (pointer_expression "*(char *)((int)puVar15 + 9)" * (cast_expression "(char *)((int)puVar15 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + 9)" ( (binary_expression "(int)puVar15 + 9" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }" { (expression_statement "iVar14 = puVar15[3];" (assignment_expression "iVar14 = puVar15[3]" identifier = (subscript_expression "puVar15[3]" identifier [ number_literal ])) ;) (expression_statement "puVar15[3] = iVar14 + -1;" (assignment_expression "puVar15[3] = iVar14 + -1" (subscript_expression "puVar15[3]" identifier [ number_literal ]) = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (if_statement "if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }" if (parenthesized_expression "(iVar14 + -1 != 0)" ( (binary_expression "iVar14 + -1 != 0" (binary_expression "iVar14 + -1" identifier + number_literal) != number_literal) )) (compound_statement "{\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }" { (expression_statement "iVar14 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x14)" identifier = (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((int)pbVar6 < iVar14) goto LAB_000d7e18;" if (parenthesized_expression "((int)pbVar6 < iVar14)" ( (binary_expression "(int)pbVar6 < iVar14" (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (goto_statement "goto LAB_000d7e18;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "(*(code *)(iVar8 + 0x71f0))(puVar15);" (call_expression "(*(code *)(iVar8 + 0x71f0))(puVar15)" (parenthesized_expression "(*(code *)(iVar8 + 0x71f0))" ( (pointer_expression "*(code *)(iVar8 + 0x71f0)" * (cast_expression "(code *)(iVar8 + 0x71f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x71f0)" ( (binary_expression "iVar8 + 0x71f0" identifier + number_literal) )))) )) (argument_list "(puVar15)" ( identifier ))) ;) })) (expression_statement "iVar14 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x14)" identifier = (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000d7e0c;" goto statement_identifier ;) })) (if_statement "if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }" if (parenthesized_expression "(puVar11 == (undefined *)0x0)" ( (binary_expression "puVar11 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar13 = 0;\n          }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }" else (compound_statement "{\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }" { (expression_statement "uVar13 = *(undefined4 *)(iVar14 + 0xb0);" (assignment_expression "uVar13 = *(undefined4 *)(iVar14 + 0xb0)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0xb0)" * (cast_expression "(undefined4 *)(iVar14 + 0xb0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xb0)" ( (binary_expression "iVar14 + 0xb0" identifier + number_literal) ))))) ;) }))) (expression_statement "iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);" (assignment_expression "iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0)" identifier = (call_expression "FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0)" identifier (argument_list "(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0)" ( (pointer_expression "*(int *)(iVar14 + 0xd8)" * (cast_expression "(int *)(iVar14 + 0xd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xd8)" ( (binary_expression "iVar14 + 0xd8" identifier + number_literal) )))) , (pointer_expression "*puVar15" * identifier) , identifier , identifier , (pointer_expression "*(undefined4 *)(iVar14 + 0xb4)" * (cast_expression "(undefined4 *)(iVar14 + 0xb4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xb4)" ( (binary_expression "iVar14 + 0xb4" identifier + number_literal) )))) , (pointer_expression "*(undefined1 *)(iVar14 + 0xb)" * (cast_expression "(undefined1 *)(iVar14 + 0xb)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xb)" ( (binary_expression "iVar14 + 0xb" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar14 + 0x98)" * (cast_expression "(undefined4 *)(iVar14 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x98)" ( (binary_expression "iVar14 + 0x98" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar14 + 0xd0)" * (cast_expression "(undefined4 *)(iVar14 + 0xd0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xd0)" ( (binary_expression "iVar14 + 0xd0" identifier + number_literal) )))) , identifier , identifier )))) ;) (if_statement "if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }" if (parenthesized_expression "((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0))" ( (binary_expression "(*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)" (parenthesized_expression "(*(char *)((int)puVar15 + 9) != '\0')" ( (binary_expression "*(char *)((int)puVar15 + 9) != '\0'" (pointer_expression "*(char *)((int)puVar15 + 9)" * (cast_expression "(char *)((int)puVar15 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + 9)" ( (binary_expression "(int)puVar15 + 9" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)" ( (comma_expression "iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0" (assignment_expression "iVar14 = puVar15[3]" identifier = (subscript_expression "puVar15[3]" identifier [ number_literal ])) , (comma_expression "puVar15[3] = iVar14 + -1, iVar14 + -1 == 0" (assignment_expression "puVar15[3] = iVar14 + -1" (subscript_expression "puVar15[3]" identifier [ number_literal ]) = (binary_expression "iVar14 + -1" identifier + number_literal)) , (binary_expression "iVar14 + -1 == 0" (binary_expression "iVar14 + -1" identifier + number_literal) == number_literal))) ))) )) (compound_statement "{\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }" { (expression_statement "(*(code *)(iVar8 + 0x71f0))(puVar15);" (call_expression "(*(code *)(iVar8 + 0x71f0))(puVar15)" (parenthesized_expression "(*(code *)(iVar8 + 0x71f0))" ( (pointer_expression "*(code *)(iVar8 + 0x71f0)" * (cast_expression "(code *)(iVar8 + 0x71f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x71f0)" ( (binary_expression "iVar8 + 0x71f0" identifier + number_literal) )))) )) (argument_list "(puVar15)" ( identifier ))) ;) })) (expression_statement "iVar14 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x14)" identifier = (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }" if (parenthesized_expression "(iVar7 == 5)" ( (binary_expression "iVar7 == 5" identifier == number_literal) )) (compound_statement "{\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }" { (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (if_statement "if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }" if (parenthesized_expression "(iVar14 <= (int)pbVar6)" ( (binary_expression "iVar14 <= (int)pbVar6" identifier <= (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              return 5;\n            }" { (return_statement "return 5;" return number_literal ;) })) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000d7d30;" goto statement_identifier ;) })) (if_statement "if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }" if (parenthesized_expression "(iVar14 <= (int)pbVar6)" ( (binary_expression "iVar14 <= (int)pbVar6" identifier <= (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }" { (if_statement "if (iVar7 != 0) {\n              return iVar7;\n            }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              return iVar7;\n            }" { (return_statement "return iVar7;" return identifier ;) })) (break_statement "break;" break ;) })) (if_statement "if (iVar7 != 0) {\n            return iVar7;\n          }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n            return iVar7;\n          }" { (return_statement "return iVar7;" return identifier ;) })) }))) (labeled_statement "LAB_000d7e18:\n        local_b0 = 0;" statement_identifier : (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;)) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (if_statement "if (bVar4) {\n      return 5;\n    }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n      return 5;\n    }" { (return_statement "return 5;" return number_literal ;) })) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "void detachFunc(sqlite3_context *context,int NotUsed,sqlite3_value **argv)\n\n{\n  byte *pbVar1;\n  bool bVar2;\n  byte bVar3;\n  bool bVar4;\n  undefined *puVar5;\n  int iVar6;\n  byte *pbVar7;\n  Pager *pPVar8;\n  int iVar9;\n  Btree *pBVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  undefined *eMode;\n  int *pnLog;\n  _func_int_void_ptr *xBusy;\n  int iVar13;\n  Db *pDVar14;\n  sqlite3 *psVar15;\n  BtShared *pBVar16;\n  int iVar17;\n  code *pcVar18;\n  undefined *puVar19;\n  int *piStack_b0;\n  char zErr [128];\n  \n  puVar19 = PTR___stack_chk_guard_00190e24;\n  iVar6 = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar7 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*argv,1);\n  psVar15 = context->pOut->db;\n  if (pbVar7 == (byte *)0x0) {\n    pbVar7 = PTR_LAB_00190958 + 0x30a8;\n  }\n  if (0 < psVar15->nDb) {\n    iVar13 = 0;\n    pDVar14 = psVar15->aDb;\n    do {\n      pBVar10 = pDVar14->pBt;\n      if (pBVar10 != (Btree *)0x0) {\n        pbVar11 = (byte *)pDVar14->zDbSName;\n        pnLog = (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18];\n        if (pnLog == (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]) {\n          if (*pbVar11 == 0) {\nLAB_000d7bec:\n            if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            sqlite3BtreeClose(pBVar10);\n            pDVar14->pBt = (Btree *)0x0;\n            pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            pDVar14->pSchema = (Schema *)0x0;\n            (*pcVar18)();\n            goto LAB_000d7bc4;\n          }\n          pbVar11 = pbVar11 + 1;\n          pbVar12 = pbVar7;\n          while( true ) {\n            pbVar1 = pbVar12 + 1;\n            bVar3 = *pbVar11;\n            pbVar12 = pbVar12 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar11 = pbVar11 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar13 = iVar13 + 1;\n      pDVar14 = pDVar14 + 1;\n    } while (iVar13 != psVar15->nDb);\n  }\n  (*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar7);\nLAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;\n  pbVar11 = (byte *)zErr;\n  psVar15 = (sqlite3 *)context->pOut;\n  pnLog = (int *)0x1;\n  context->isError = 1;\n  eMode = (undefined *)0xffffffff;\n  piStack_b0 = (int *)0xffffffff;\n  (*(code *)(puVar5 + -0x2aec))();\nLAB_000d7bc4:\n  if (iVar6 == *(int *)puVar19) {\n    return;\n  }\n  puVar19 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  iVar6 = psVar15->nDb;\n  iVar13 = *(int *)(puVar19 + 0xb8f08);\n  if (0 < iVar6) {\n    iVar17 = *(int *)(puVar19 + 0xb8f08);\n    bVar4 = false;\n    pbVar7 = (byte *)0x1;\n    if (pbVar11 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar11 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar7 < iVar6) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar11 != pbVar7;\n        pbVar7 = pbVar7 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        pBVar10 = psVar15->aDb[(int)(pbVar7 + -1)].pBt;\n        if (pBVar10 == (Btree *)0x0) {\nLAB_000d7e0c:\n          if (iVar6 <= (int)pbVar7) break;\n        }\n        else {\n          pBVar16 = pBVar10->pBt;\n          if (pBVar10->sharable != '\0') {\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }\n          if (pBVar16->inTransaction != '\0') {\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }\n          pPVar8 = pBVar16->pPager;\n          if (pPVar8->pWal == (Wal *)0x0) {\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }\n          if (eMode == (undefined *)0x0) {\n            xBusy = (_func_int_void_ptr *)0x0;\n          }\n          else {\n            xBusy = pPVar8->xBusyHandler;\n          }\n          iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0);\n          if ((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }\n          iVar6 = psVar15->nDb;\n          if (iVar9 == 5) {\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }\n          if (iVar6 <= (int)pbVar7) {\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }\n          if (iVar9 != 0) {\n            return;\n          }\n        }\nLAB_000d7e18:\n        piStack_b0 = (int *)0x0;\n        pnLog = (int *)0x0;\n      } while( true );\n    }\n    if (bVar4) {\n      return;\n    }\n  }\n  return;\n}\n\n" (function_definition "void detachFunc(sqlite3_context *context,int NotUsed,sqlite3_value **argv)\n\n{\n  byte *pbVar1;\n  bool bVar2;\n  byte bVar3;\n  bool bVar4;\n  undefined *puVar5;\n  int iVar6;\n  byte *pbVar7;\n  Pager *pPVar8;\n  int iVar9;\n  Btree *pBVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  undefined *eMode;\n  int *pnLog;\n  _func_int_void_ptr *xBusy;\n  int iVar13;\n  Db *pDVar14;\n  sqlite3 *psVar15;\n  BtShared *pBVar16;\n  int iVar17;\n  code *pcVar18;\n  undefined *puVar19;\n  int *piStack_b0;\n  char zErr [128];\n  \n  puVar19 = PTR___stack_chk_guard_00190e24;\n  iVar6 = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar7 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*argv,1);\n  psVar15 = context->pOut->db;\n  if (pbVar7 == (byte *)0x0) {\n    pbVar7 = PTR_LAB_00190958 + 0x30a8;\n  }\n  if (0 < psVar15->nDb) {\n    iVar13 = 0;\n    pDVar14 = psVar15->aDb;\n    do {\n      pBVar10 = pDVar14->pBt;\n      if (pBVar10 != (Btree *)0x0) {\n        pbVar11 = (byte *)pDVar14->zDbSName;\n        pnLog = (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18];\n        if (pnLog == (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]) {\n          if (*pbVar11 == 0) {\nLAB_000d7bec:\n            if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            sqlite3BtreeClose(pBVar10);\n            pDVar14->pBt = (Btree *)0x0;\n            pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            pDVar14->pSchema = (Schema *)0x0;\n            (*pcVar18)();\n            goto LAB_000d7bc4;\n          }\n          pbVar11 = pbVar11 + 1;\n          pbVar12 = pbVar7;\n          while( true ) {\n            pbVar1 = pbVar12 + 1;\n            bVar3 = *pbVar11;\n            pbVar12 = pbVar12 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar11 = pbVar11 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar13 = iVar13 + 1;\n      pDVar14 = pDVar14 + 1;\n    } while (iVar13 != psVar15->nDb);\n  }\n  (*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar7);\nLAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;\n  pbVar11 = (byte *)zErr;\n  psVar15 = (sqlite3 *)context->pOut;\n  pnLog = (int *)0x1;\n  context->isError = 1;\n  eMode = (undefined *)0xffffffff;\n  piStack_b0 = (int *)0xffffffff;\n  (*(code *)(puVar5 + -0x2aec))();\nLAB_000d7bc4:\n  if (iVar6 == *(int *)puVar19) {\n    return;\n  }\n  puVar19 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  iVar6 = psVar15->nDb;\n  iVar13 = *(int *)(puVar19 + 0xb8f08);\n  if (0 < iVar6) {\n    iVar17 = *(int *)(puVar19 + 0xb8f08);\n    bVar4 = false;\n    pbVar7 = (byte *)0x1;\n    if (pbVar11 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar11 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar7 < iVar6) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar11 != pbVar7;\n        pbVar7 = pbVar7 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        pBVar10 = psVar15->aDb[(int)(pbVar7 + -1)].pBt;\n        if (pBVar10 == (Btree *)0x0) {\nLAB_000d7e0c:\n          if (iVar6 <= (int)pbVar7) break;\n        }\n        else {\n          pBVar16 = pBVar10->pBt;\n          if (pBVar10->sharable != '\0') {\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }\n          if (pBVar16->inTransaction != '\0') {\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }\n          pPVar8 = pBVar16->pPager;\n          if (pPVar8->pWal == (Wal *)0x0) {\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }\n          if (eMode == (undefined *)0x0) {\n            xBusy = (_func_int_void_ptr *)0x0;\n          }\n          else {\n            xBusy = pPVar8->xBusyHandler;\n          }\n          iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0);\n          if ((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }\n          iVar6 = psVar15->nDb;\n          if (iVar9 == 5) {\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }\n          if (iVar6 <= (int)pbVar7) {\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }\n          if (iVar9 != 0) {\n            return;\n          }\n        }\nLAB_000d7e18:\n        piStack_b0 = (int *)0x0;\n        pnLog = (int *)0x0;\n      } while( true );\n    }\n    if (bVar4) {\n      return;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "detachFunc(sqlite3_context *context,int NotUsed,sqlite3_value **argv)" identifier (parameter_list "(sqlite3_context *context,int NotUsed,sqlite3_value **argv)" ( (parameter_declaration "sqlite3_context *context" type_identifier (pointer_declarator "*context" * identifier)) , (parameter_declaration "int NotUsed" primitive_type identifier) , (parameter_declaration "sqlite3_value **argv" type_identifier (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) ))) (compound_statement "{\n  byte *pbVar1;\n  bool bVar2;\n  byte bVar3;\n  bool bVar4;\n  undefined *puVar5;\n  int iVar6;\n  byte *pbVar7;\n  Pager *pPVar8;\n  int iVar9;\n  Btree *pBVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  undefined *eMode;\n  int *pnLog;\n  _func_int_void_ptr *xBusy;\n  int iVar13;\n  Db *pDVar14;\n  sqlite3 *psVar15;\n  BtShared *pBVar16;\n  int iVar17;\n  code *pcVar18;\n  undefined *puVar19;\n  int *piStack_b0;\n  char zErr [128];\n  \n  puVar19 = PTR___stack_chk_guard_00190e24;\n  iVar6 = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar7 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*argv,1);\n  psVar15 = context->pOut->db;\n  if (pbVar7 == (byte *)0x0) {\n    pbVar7 = PTR_LAB_00190958 + 0x30a8;\n  }\n  if (0 < psVar15->nDb) {\n    iVar13 = 0;\n    pDVar14 = psVar15->aDb;\n    do {\n      pBVar10 = pDVar14->pBt;\n      if (pBVar10 != (Btree *)0x0) {\n        pbVar11 = (byte *)pDVar14->zDbSName;\n        pnLog = (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18];\n        if (pnLog == (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]) {\n          if (*pbVar11 == 0) {\nLAB_000d7bec:\n            if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            sqlite3BtreeClose(pBVar10);\n            pDVar14->pBt = (Btree *)0x0;\n            pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            pDVar14->pSchema = (Schema *)0x0;\n            (*pcVar18)();\n            goto LAB_000d7bc4;\n          }\n          pbVar11 = pbVar11 + 1;\n          pbVar12 = pbVar7;\n          while( true ) {\n            pbVar1 = pbVar12 + 1;\n            bVar3 = *pbVar11;\n            pbVar12 = pbVar12 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar11 = pbVar11 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar13 = iVar13 + 1;\n      pDVar14 = pDVar14 + 1;\n    } while (iVar13 != psVar15->nDb);\n  }\n  (*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar7);\nLAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;\n  pbVar11 = (byte *)zErr;\n  psVar15 = (sqlite3 *)context->pOut;\n  pnLog = (int *)0x1;\n  context->isError = 1;\n  eMode = (undefined *)0xffffffff;\n  piStack_b0 = (int *)0xffffffff;\n  (*(code *)(puVar5 + -0x2aec))();\nLAB_000d7bc4:\n  if (iVar6 == *(int *)puVar19) {\n    return;\n  }\n  puVar19 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  iVar6 = psVar15->nDb;\n  iVar13 = *(int *)(puVar19 + 0xb8f08);\n  if (0 < iVar6) {\n    iVar17 = *(int *)(puVar19 + 0xb8f08);\n    bVar4 = false;\n    pbVar7 = (byte *)0x1;\n    if (pbVar11 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar11 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar7 < iVar6) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar11 != pbVar7;\n        pbVar7 = pbVar7 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        pBVar10 = psVar15->aDb[(int)(pbVar7 + -1)].pBt;\n        if (pBVar10 == (Btree *)0x0) {\nLAB_000d7e0c:\n          if (iVar6 <= (int)pbVar7) break;\n        }\n        else {\n          pBVar16 = pBVar10->pBt;\n          if (pBVar10->sharable != '\0') {\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }\n          if (pBVar16->inTransaction != '\0') {\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }\n          pPVar8 = pBVar16->pPager;\n          if (pPVar8->pWal == (Wal *)0x0) {\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }\n          if (eMode == (undefined *)0x0) {\n            xBusy = (_func_int_void_ptr *)0x0;\n          }\n          else {\n            xBusy = pPVar8->xBusyHandler;\n          }\n          iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0);\n          if ((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }\n          iVar6 = psVar15->nDb;\n          if (iVar9 == 5) {\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }\n          if (iVar6 <= (int)pbVar7) {\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }\n          if (iVar9 != 0) {\n            return;\n          }\n        }\nLAB_000d7e18:\n        piStack_b0 = (int *)0x0;\n        pnLog = (int *)0x0;\n      } while( true );\n    }\n    if (bVar4) {\n      return;\n    }\n  }\n  return;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "Pager *pPVar8;" type_identifier (pointer_declarator "*pPVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "Btree *pBVar10;" type_identifier (pointer_declarator "*pBVar10" * identifier) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "undefined *eMode;" type_identifier (pointer_declarator "*eMode" * identifier) ;) (declaration "int *pnLog;" primitive_type (pointer_declarator "*pnLog" * identifier) ;) (declaration "_func_int_void_ptr *xBusy;" type_identifier (pointer_declarator "*xBusy" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "Db *pDVar14;" type_identifier (pointer_declarator "*pDVar14" * identifier) ;) (declaration "sqlite3 *psVar15;" type_identifier (pointer_declarator "*psVar15" * identifier) ;) (declaration "BtShared *pBVar16;" type_identifier (pointer_declarator "*pBVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int *piStack_b0;" primitive_type (pointer_declarator "*piStack_b0" * identifier) ;) (declaration "char zErr [128];" primitive_type (array_declarator "zErr [128]" identifier [ number_literal ]) ;) (expression_statement "puVar19 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar19 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "iVar6 = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "iVar6 = *(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 "pbVar7 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*argv,1);" (assignment_expression "pbVar7 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*argv,1)" identifier = (cast_expression "(byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*argv,1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*argv,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x6f60))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x6f60)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x6f60)" ( (binary_expression "PTR_LAB_00190bc0 + 0x6f60" identifier + number_literal) )))) )) (argument_list "(*argv,1)" ( (pointer_expression "*argv" * identifier) , number_literal ))))) ;) (expression_statement "psVar15 = context->pOut->db;" (assignment_expression "psVar15 = context->pOut->db" identifier = (field_expression "context->pOut->db" (field_expression "context->pOut" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (pbVar7 == (byte *)0x0) {\n    pbVar7 = PTR_LAB_00190958 + 0x30a8;\n  }" if (parenthesized_expression "(pbVar7 == (byte *)0x0)" ( (binary_expression "pbVar7 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pbVar7 = PTR_LAB_00190958 + 0x30a8;\n  }" { (expression_statement "pbVar7 = PTR_LAB_00190958 + 0x30a8;" (assignment_expression "pbVar7 = PTR_LAB_00190958 + 0x30a8" identifier = (binary_expression "PTR_LAB_00190958 + 0x30a8" identifier + number_literal)) ;) })) (if_statement "if (0 < psVar15->nDb) {\n    iVar13 = 0;\n    pDVar14 = psVar15->aDb;\n    do {\n      pBVar10 = pDVar14->pBt;\n      if (pBVar10 != (Btree *)0x0) {\n        pbVar11 = (byte *)pDVar14->zDbSName;\n        pnLog = (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18];\n        if (pnLog == (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]) {\n          if (*pbVar11 == 0) {\nLAB_000d7bec:\n            if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            sqlite3BtreeClose(pBVar10);\n            pDVar14->pBt = (Btree *)0x0;\n            pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            pDVar14->pSchema = (Schema *)0x0;\n            (*pcVar18)();\n            goto LAB_000d7bc4;\n          }\n          pbVar11 = pbVar11 + 1;\n          pbVar12 = pbVar7;\n          while( true ) {\n            pbVar1 = pbVar12 + 1;\n            bVar3 = *pbVar11;\n            pbVar12 = pbVar12 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar11 = pbVar11 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar13 = iVar13 + 1;\n      pDVar14 = pDVar14 + 1;\n    } while (iVar13 != psVar15->nDb);\n  }" if (parenthesized_expression "(0 < psVar15->nDb)" ( (binary_expression "0 < psVar15->nDb" number_literal < (field_expression "psVar15->nDb" identifier -> field_identifier)) )) (compound_statement "{\n    iVar13 = 0;\n    pDVar14 = psVar15->aDb;\n    do {\n      pBVar10 = pDVar14->pBt;\n      if (pBVar10 != (Btree *)0x0) {\n        pbVar11 = (byte *)pDVar14->zDbSName;\n        pnLog = (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18];\n        if (pnLog == (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]) {\n          if (*pbVar11 == 0) {\nLAB_000d7bec:\n            if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            sqlite3BtreeClose(pBVar10);\n            pDVar14->pBt = (Btree *)0x0;\n            pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            pDVar14->pSchema = (Schema *)0x0;\n            (*pcVar18)();\n            goto LAB_000d7bc4;\n          }\n          pbVar11 = pbVar11 + 1;\n          pbVar12 = pbVar7;\n          while( true ) {\n            pbVar1 = pbVar12 + 1;\n            bVar3 = *pbVar11;\n            pbVar12 = pbVar12 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar11 = pbVar11 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar13 = iVar13 + 1;\n      pDVar14 = pDVar14 + 1;\n    } while (iVar13 != psVar15->nDb);\n  }" { (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "pDVar14 = psVar15->aDb;" (assignment_expression "pDVar14 = psVar15->aDb" identifier = (field_expression "psVar15->aDb" identifier -> field_identifier)) ;) (do_statement "do {\n      pBVar10 = pDVar14->pBt;\n      if (pBVar10 != (Btree *)0x0) {\n        pbVar11 = (byte *)pDVar14->zDbSName;\n        pnLog = (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18];\n        if (pnLog == (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]) {\n          if (*pbVar11 == 0) {\nLAB_000d7bec:\n            if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            sqlite3BtreeClose(pBVar10);\n            pDVar14->pBt = (Btree *)0x0;\n            pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            pDVar14->pSchema = (Schema *)0x0;\n            (*pcVar18)();\n            goto LAB_000d7bc4;\n          }\n          pbVar11 = pbVar11 + 1;\n          pbVar12 = pbVar7;\n          while( true ) {\n            pbVar1 = pbVar12 + 1;\n            bVar3 = *pbVar11;\n            pbVar12 = pbVar12 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar11 = pbVar11 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar13 = iVar13 + 1;\n      pDVar14 = pDVar14 + 1;\n    } while (iVar13 != psVar15->nDb);" do (compound_statement "{\n      pBVar10 = pDVar14->pBt;\n      if (pBVar10 != (Btree *)0x0) {\n        pbVar11 = (byte *)pDVar14->zDbSName;\n        pnLog = (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18];\n        if (pnLog == (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]) {\n          if (*pbVar11 == 0) {\nLAB_000d7bec:\n            if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            sqlite3BtreeClose(pBVar10);\n            pDVar14->pBt = (Btree *)0x0;\n            pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            pDVar14->pSchema = (Schema *)0x0;\n            (*pcVar18)();\n            goto LAB_000d7bc4;\n          }\n          pbVar11 = pbVar11 + 1;\n          pbVar12 = pbVar7;\n          while( true ) {\n            pbVar1 = pbVar12 + 1;\n            bVar3 = *pbVar11;\n            pbVar12 = pbVar12 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar11 = pbVar11 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar13 = iVar13 + 1;\n      pDVar14 = pDVar14 + 1;\n    }" { (expression_statement "pBVar10 = pDVar14->pBt;" (assignment_expression "pBVar10 = pDVar14->pBt" identifier = (field_expression "pDVar14->pBt" identifier -> field_identifier)) ;) (if_statement "if (pBVar10 != (Btree *)0x0) {\n        pbVar11 = (byte *)pDVar14->zDbSName;\n        pnLog = (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18];\n        if (pnLog == (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]) {\n          if (*pbVar11 == 0) {\nLAB_000d7bec:\n            if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            sqlite3BtreeClose(pBVar10);\n            pDVar14->pBt = (Btree *)0x0;\n            pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            pDVar14->pSchema = (Schema *)0x0;\n            (*pcVar18)();\n            goto LAB_000d7bc4;\n          }\n          pbVar11 = pbVar11 + 1;\n          pbVar12 = pbVar7;\n          while( true ) {\n            pbVar1 = pbVar12 + 1;\n            bVar3 = *pbVar11;\n            pbVar12 = pbVar12 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar11 = pbVar11 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }" if (parenthesized_expression "(pBVar10 != (Btree *)0x0)" ( (binary_expression "pBVar10 != (Btree *)0x0" identifier != (cast_expression "(Btree *)0x0" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pbVar11 = (byte *)pDVar14->zDbSName;\n        pnLog = (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18];\n        if (pnLog == (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]) {\n          if (*pbVar11 == 0) {\nLAB_000d7bec:\n            if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            sqlite3BtreeClose(pBVar10);\n            pDVar14->pBt = (Btree *)0x0;\n            pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            pDVar14->pSchema = (Schema *)0x0;\n            (*pcVar18)();\n            goto LAB_000d7bc4;\n          }\n          pbVar11 = pbVar11 + 1;\n          pbVar12 = pbVar7;\n          while( true ) {\n            pbVar1 = pbVar12 + 1;\n            bVar3 = *pbVar11;\n            pbVar12 = pbVar12 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar11 = pbVar11 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }" { (expression_statement "pbVar11 = (byte *)pDVar14->zDbSName;" (assignment_expression "pbVar11 = (byte *)pDVar14->zDbSName" identifier = (cast_expression "(byte *)pDVar14->zDbSName" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar14->zDbSName" identifier -> field_identifier))) ;) (expression_statement "pnLog = (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18];" (assignment_expression "pnLog = (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18]" identifier = (cast_expression "(int *)(uint)(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR_DAT_00190b94[*pbVar7 - 0x3c18]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR_DAT_00190b94[*pbVar7 - 0x3c18]" identifier [ (binary_expression "*pbVar7 - 0x3c18" (pointer_expression "*pbVar7" * identifier) - number_literal) ]))))) ;) (if_statement "if (pnLog == (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]) {\n          if (*pbVar11 == 0) {\nLAB_000d7bec:\n            if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            sqlite3BtreeClose(pBVar10);\n            pDVar14->pBt = (Btree *)0x0;\n            pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            pDVar14->pSchema = (Schema *)0x0;\n            (*pcVar18)();\n            goto LAB_000d7bc4;\n          }\n          pbVar11 = pbVar11 + 1;\n          pbVar12 = pbVar7;\n          while( true ) {\n            pbVar1 = pbVar12 + 1;\n            bVar3 = *pbVar11;\n            pbVar12 = pbVar12 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar11 = pbVar11 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }" if (parenthesized_expression "(pnLog == (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18])" ( (binary_expression "pnLog == (int *)(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]" identifier == (cast_expression "(int *)(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR_DAT_00190b94[*pbVar11 - 0x3c18]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR_DAT_00190b94[*pbVar11 - 0x3c18]" identifier [ (binary_expression "*pbVar11 - 0x3c18" (pointer_expression "*pbVar11" * identifier) - number_literal) ]))))) )) (compound_statement "{\n          if (*pbVar11 == 0) {\nLAB_000d7bec:\n            if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            sqlite3BtreeClose(pBVar10);\n            pDVar14->pBt = (Btree *)0x0;\n            pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            pDVar14->pSchema = (Schema *)0x0;\n            (*pcVar18)();\n            goto LAB_000d7bc4;\n          }\n          pbVar11 = pbVar11 + 1;\n          pbVar12 = pbVar7;\n          while( true ) {\n            pbVar1 = pbVar12 + 1;\n            bVar3 = *pbVar11;\n            pbVar12 = pbVar12 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar11 = pbVar11 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }" { (if_statement "if (*pbVar11 == 0) {\nLAB_000d7bec:\n            if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            sqlite3BtreeClose(pBVar10);\n            pDVar14->pBt = (Btree *)0x0;\n            pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            pDVar14->pSchema = (Schema *)0x0;\n            (*pcVar18)();\n            goto LAB_000d7bc4;\n          }" if (parenthesized_expression "(*pbVar11 == 0)" ( (binary_expression "*pbVar11 == 0" (pointer_expression "*pbVar11" * identifier) == number_literal) )) (compound_statement "{\nLAB_000d7bec:\n            if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }\n            eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            sqlite3BtreeClose(pBVar10);\n            pDVar14->pBt = (Btree *)0x0;\n            pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            pDVar14->pSchema = (Schema *)0x0;\n            (*pcVar18)();\n            goto LAB_000d7bc4;\n          }" { (labeled_statement "LAB_000d7bec:\n            if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }" statement_identifier : (if_statement "if (iVar13 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }" if (parenthesized_expression "(iVar13 < 2)" ( (binary_expression "iVar13 < 2" identifier < number_literal) )) (compound_statement "{\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }" { (expression_statement "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)\n              ;" (call_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)" (parenthesized_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)" ( (pointer_expression "*(code *)PTR_sqlite3_snprintf_00190a44" * (cast_expression "(code *)PTR_sqlite3_snprintf_00190a44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,pbVar7)" ( number_literal , identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_000d7b94;" goto statement_identifier ;) }))) (if_statement "if ((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }" if (parenthesized_expression "((pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0))" ( (binary_expression "(pBVar10->inTrans != '\0') || (pBVar10->nBackup != 0)" (parenthesized_expression "(pBVar10->inTrans != '\0')" ( (binary_expression "pBVar10->inTrans != '\0'" (field_expression "pBVar10->inTrans" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(pBVar10->nBackup != 0)" ( (binary_expression "pBVar10->nBackup != 0" (field_expression "pBVar10->nBackup" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;\n              goto LAB_000d7b94;\n            }" { (expression_statement "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)\n              ;" (call_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)" (parenthesized_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)" ( (pointer_expression "*(code *)PTR_sqlite3_snprintf_00190a44" * (cast_expression "(code *)PTR_sqlite3_snprintf_00190a44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,pbVar7)" ( number_literal , identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_000d7b94;" goto statement_identifier ;) })) (expression_statement "eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "eMode = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "sqlite3BtreeClose(pBVar10);" (call_expression "sqlite3BtreeClose(pBVar10)" identifier (argument_list "(pBVar10)" ( identifier ))) ;) (expression_statement "pDVar14->pBt = (Btree *)0x0;" (assignment_expression "pDVar14->pBt = (Btree *)0x0" (field_expression "pDVar14->pBt" identifier -> field_identifier) = (cast_expression "(Btree *)0x0" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);" (assignment_expression "pcVar18 = (code *)(PTR_LAB_00190ba4 + -0x3fbc)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x3fbc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x3fbc)" ( (binary_expression "PTR_LAB_00190ba4 + -0x3fbc" identifier + number_literal) )))) ;) (expression_statement "pDVar14->pSchema = (Schema *)0x0;" (assignment_expression "pDVar14->pSchema = (Schema *)0x0" (field_expression "pDVar14->pSchema" identifier -> field_identifier) = (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000d7bc4;" goto statement_identifier ;) })) (expression_statement "pbVar11 = pbVar11 + 1;" (assignment_expression "pbVar11 = pbVar11 + 1" identifier = (binary_expression "pbVar11 + 1" identifier + number_literal)) ;) (expression_statement "pbVar12 = pbVar7;" (assignment_expression "pbVar12 = pbVar7" identifier = identifier) ;) (while_statement "while( true ) {\n            pbVar1 = pbVar12 + 1;\n            bVar3 = *pbVar11;\n            pbVar12 = pbVar12 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar11 = pbVar11 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            pbVar1 = pbVar12 + 1;\n            bVar3 = *pbVar11;\n            pbVar12 = pbVar12 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar11 = pbVar11 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }" { (expression_statement "pbVar1 = pbVar12 + 1;" (assignment_expression "pbVar1 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar11;" (assignment_expression "bVar3 = *pbVar11" identifier = (pointer_expression "*pbVar11" * identifier)) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (if_statement "if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;" if (parenthesized_expression "(PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18])" ( (binary_expression "PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]" (subscript_expression "PTR_DAT_00190b94[bVar3 - 0x3c18]" identifier [ (binary_expression "bVar3 - 0x3c18" identifier - number_literal) ]) != (subscript_expression "PTR_DAT_00190b94[*pbVar1 - 0x3c18]" identifier [ (binary_expression "*pbVar1 - 0x3c18" (pointer_expression "*pbVar1" * identifier) - number_literal) ])) )) (break_statement "break;" break ;)) (expression_statement "pbVar11 = pbVar11 + 1;" (assignment_expression "pbVar11 = pbVar11 + 1" identifier = (binary_expression "pbVar11 + 1" identifier + number_literal)) ;) (if_statement "if (bVar3 == 0) goto LAB_000d7bec;" if (parenthesized_expression "(bVar3 == 0)" ( (binary_expression "bVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000d7bec;" goto statement_identifier ;)) })) })) })) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "pDVar14 = pDVar14 + 1;" (assignment_expression "pDVar14 = pDVar14 + 1" identifier = (binary_expression "pDVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar13 != psVar15->nDb)" ( (binary_expression "iVar13 != psVar15->nDb" identifier != (field_expression "psVar15->nDb" identifier -> field_identifier)) )) ;) })) (expression_statement "(*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar7);" (call_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar7)" (parenthesized_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)" ( (pointer_expression "*(code *)PTR_sqlite3_snprintf_00190a44" * (cast_expression "(code *)PTR_sqlite3_snprintf_00190a44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x80,zErr,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar7)" ( number_literal , identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc" identifier + number_literal) , identifier ))) ;) (labeled_statement "LAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;" statement_identifier : (expression_statement "puVar5 = PTR_LAB_00190bc0;" (assignment_expression "puVar5 = PTR_LAB_00190bc0" identifier = identifier) ;)) (expression_statement "pbVar11 = (byte *)zErr;" (assignment_expression "pbVar11 = (byte *)zErr" identifier = (cast_expression "(byte *)zErr" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar15 = (sqlite3 *)context->pOut;" (assignment_expression "psVar15 = (sqlite3 *)context->pOut" identifier = (cast_expression "(sqlite3 *)context->pOut" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "context->pOut" identifier -> field_identifier))) ;) (expression_statement "pnLog = (int *)0x1;" (assignment_expression "pnLog = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "context->isError = 1;" (assignment_expression "context->isError = 1" (field_expression "context->isError" identifier -> field_identifier) = number_literal) ;) (expression_statement "eMode = (undefined *)0xffffffff;" (assignment_expression "eMode = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piStack_b0 = (int *)0xffffffff;" (assignment_expression "piStack_b0 = (int *)0xffffffff" identifier = (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)(puVar5 + -0x2aec))();" (call_expression "(*(code *)(puVar5 + -0x2aec))()" (parenthesized_expression "(*(code *)(puVar5 + -0x2aec))" ( (pointer_expression "*(code *)(puVar5 + -0x2aec)" * (cast_expression "(code *)(puVar5 + -0x2aec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x2aec)" ( (binary_expression "puVar5 + -0x2aec" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000d7bc4:\n  if (iVar6 == *(int *)puVar19) {\n    return;\n  }" statement_identifier : (if_statement "if (iVar6 == *(int *)puVar19) {\n    return;\n  }" if (parenthesized_expression "(iVar6 == *(int *)puVar19)" ( (binary_expression "iVar6 == *(int *)puVar19" identifier == (pointer_expression "*(int *)puVar19" * (cast_expression "(int *)puVar19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "puVar19 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar19 = 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 "iVar6 = psVar15->nDb;" (assignment_expression "iVar6 = psVar15->nDb" identifier = (field_expression "psVar15->nDb" identifier -> field_identifier)) ;) (expression_statement "iVar13 = *(int *)(puVar19 + 0xb8f08);" (assignment_expression "iVar13 = *(int *)(puVar19 + 0xb8f08)" identifier = (pointer_expression "*(int *)(puVar19 + 0xb8f08)" * (cast_expression "(int *)(puVar19 + 0xb8f08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0xb8f08)" ( (binary_expression "puVar19 + 0xb8f08" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar6) {\n    iVar17 = *(int *)(puVar19 + 0xb8f08);\n    bVar4 = false;\n    pbVar7 = (byte *)0x1;\n    if (pbVar11 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar11 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar7 < iVar6) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar11 != pbVar7;\n        pbVar7 = pbVar7 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        pBVar10 = psVar15->aDb[(int)(pbVar7 + -1)].pBt;\n        if (pBVar10 == (Btree *)0x0) {\nLAB_000d7e0c:\n          if (iVar6 <= (int)pbVar7) break;\n        }\n        else {\n          pBVar16 = pBVar10->pBt;\n          if (pBVar10->sharable != '\0') {\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }\n          if (pBVar16->inTransaction != '\0') {\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }\n          pPVar8 = pBVar16->pPager;\n          if (pPVar8->pWal == (Wal *)0x0) {\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }\n          if (eMode == (undefined *)0x0) {\n            xBusy = (_func_int_void_ptr *)0x0;\n          }\n          else {\n            xBusy = pPVar8->xBusyHandler;\n          }\n          iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0);\n          if ((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }\n          iVar6 = psVar15->nDb;\n          if (iVar9 == 5) {\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }\n          if (iVar6 <= (int)pbVar7) {\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }\n          if (iVar9 != 0) {\n            return;\n          }\n        }\nLAB_000d7e18:\n        piStack_b0 = (int *)0x0;\n        pnLog = (int *)0x0;\n      } while( true );\n    }\n    if (bVar4) {\n      return;\n    }\n  }" if (parenthesized_expression "(0 < iVar6)" ( (binary_expression "0 < iVar6" number_literal < identifier) )) (compound_statement "{\n    iVar17 = *(int *)(puVar19 + 0xb8f08);\n    bVar4 = false;\n    pbVar7 = (byte *)0x1;\n    if (pbVar11 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar11 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar7 < iVar6) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar11 != pbVar7;\n        pbVar7 = pbVar7 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        pBVar10 = psVar15->aDb[(int)(pbVar7 + -1)].pBt;\n        if (pBVar10 == (Btree *)0x0) {\nLAB_000d7e0c:\n          if (iVar6 <= (int)pbVar7) break;\n        }\n        else {\n          pBVar16 = pBVar10->pBt;\n          if (pBVar10->sharable != '\0') {\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }\n          if (pBVar16->inTransaction != '\0') {\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }\n          pPVar8 = pBVar16->pPager;\n          if (pPVar8->pWal == (Wal *)0x0) {\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }\n          if (eMode == (undefined *)0x0) {\n            xBusy = (_func_int_void_ptr *)0x0;\n          }\n          else {\n            xBusy = pPVar8->xBusyHandler;\n          }\n          iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0);\n          if ((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }\n          iVar6 = psVar15->nDb;\n          if (iVar9 == 5) {\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }\n          if (iVar6 <= (int)pbVar7) {\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }\n          if (iVar9 != 0) {\n            return;\n          }\n        }\nLAB_000d7e18:\n        piStack_b0 = (int *)0x0;\n        pnLog = (int *)0x0;\n      } while( true );\n    }\n    if (bVar4) {\n      return;\n    }\n  }" { (expression_statement "iVar17 = *(int *)(puVar19 + 0xb8f08);" (assignment_expression "iVar17 = *(int *)(puVar19 + 0xb8f08)" identifier = (pointer_expression "*(int *)(puVar19 + 0xb8f08)" * (cast_expression "(int *)(puVar19 + 0xb8f08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0xb8f08)" ( (binary_expression "puVar19 + 0xb8f08" identifier + number_literal) ))))) ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "pbVar7 = (byte *)0x1;" (assignment_expression "pbVar7 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pbVar11 == (byte *)0x0) goto LAB_000d7d38;" if (parenthesized_expression "(pbVar11 == (byte *)0x0)" ( (binary_expression "pbVar11 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d7d38;" goto statement_identifier ;)) (labeled_statement "LAB_000d7d1c:\n    if (pbVar11 == &DAT_0000000a) goto LAB_000d7d38;" statement_identifier : (if_statement "if (pbVar11 == &DAT_0000000a) goto LAB_000d7d38;" if (parenthesized_expression "(pbVar11 == &DAT_0000000a)" ( (binary_expression "pbVar11 == &DAT_0000000a" identifier == (pointer_expression "&DAT_0000000a" & identifier)) )) (goto_statement "goto LAB_000d7d38;" goto statement_identifier ;))) (if_statement "if ((int)pbVar7 < iVar6) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar11 != pbVar7;\n        pbVar7 = pbVar7 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        pBVar10 = psVar15->aDb[(int)(pbVar7 + -1)].pBt;\n        if (pBVar10 == (Btree *)0x0) {\nLAB_000d7e0c:\n          if (iVar6 <= (int)pbVar7) break;\n        }\n        else {\n          pBVar16 = pBVar10->pBt;\n          if (pBVar10->sharable != '\0') {\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }\n          if (pBVar16->inTransaction != '\0') {\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }\n          pPVar8 = pBVar16->pPager;\n          if (pPVar8->pWal == (Wal *)0x0) {\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }\n          if (eMode == (undefined *)0x0) {\n            xBusy = (_func_int_void_ptr *)0x0;\n          }\n          else {\n            xBusy = pPVar8->xBusyHandler;\n          }\n          iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0);\n          if ((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }\n          iVar6 = psVar15->nDb;\n          if (iVar9 == 5) {\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }\n          if (iVar6 <= (int)pbVar7) {\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }\n          if (iVar9 != 0) {\n            return;\n          }\n        }\nLAB_000d7e18:\n        piStack_b0 = (int *)0x0;\n        pnLog = (int *)0x0;\n      } while( true );\n    }" if (parenthesized_expression "((int)pbVar7 < iVar6)" ( (binary_expression "(int)pbVar7 < iVar6" (cast_expression "(int)pbVar7" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar11 != pbVar7;\n        pbVar7 = pbVar7 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        pBVar10 = psVar15->aDb[(int)(pbVar7 + -1)].pBt;\n        if (pBVar10 == (Btree *)0x0) {\nLAB_000d7e0c:\n          if (iVar6 <= (int)pbVar7) break;\n        }\n        else {\n          pBVar16 = pBVar10->pBt;\n          if (pBVar10->sharable != '\0') {\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }\n          if (pBVar16->inTransaction != '\0') {\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }\n          pPVar8 = pBVar16->pPager;\n          if (pPVar8->pWal == (Wal *)0x0) {\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }\n          if (eMode == (undefined *)0x0) {\n            xBusy = (_func_int_void_ptr *)0x0;\n          }\n          else {\n            xBusy = pPVar8->xBusyHandler;\n          }\n          iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0);\n          if ((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }\n          iVar6 = psVar15->nDb;\n          if (iVar9 == 5) {\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }\n          if (iVar6 <= (int)pbVar7) {\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }\n          if (iVar9 != 0) {\n            return;\n          }\n        }\nLAB_000d7e18:\n        piStack_b0 = (int *)0x0;\n        pnLog = (int *)0x0;\n      } while( true );\n    }" { (labeled_statement "LAB_000d7d30:\n      do {\n        bVar2 = pbVar11 != pbVar7;\n        pbVar7 = pbVar7 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        pBVar10 = psVar15->aDb[(int)(pbVar7 + -1)].pBt;\n        if (pBVar10 == (Btree *)0x0) {\nLAB_000d7e0c:\n          if (iVar6 <= (int)pbVar7) break;\n        }\n        else {\n          pBVar16 = pBVar10->pBt;\n          if (pBVar10->sharable != '\0') {\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }\n          if (pBVar16->inTransaction != '\0') {\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }\n          pPVar8 = pBVar16->pPager;\n          if (pPVar8->pWal == (Wal *)0x0) {\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }\n          if (eMode == (undefined *)0x0) {\n            xBusy = (_func_int_void_ptr *)0x0;\n          }\n          else {\n            xBusy = pPVar8->xBusyHandler;\n          }\n          iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0);\n          if ((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }\n          iVar6 = psVar15->nDb;\n          if (iVar9 == 5) {\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }\n          if (iVar6 <= (int)pbVar7) {\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }\n          if (iVar9 != 0) {\n            return;\n          }\n        }\nLAB_000d7e18:\n        piStack_b0 = (int *)0x0;\n        pnLog = (int *)0x0;\n      } while( true );" statement_identifier : (do_statement "do {\n        bVar2 = pbVar11 != pbVar7;\n        pbVar7 = pbVar7 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        pBVar10 = psVar15->aDb[(int)(pbVar7 + -1)].pBt;\n        if (pBVar10 == (Btree *)0x0) {\nLAB_000d7e0c:\n          if (iVar6 <= (int)pbVar7) break;\n        }\n        else {\n          pBVar16 = pBVar10->pBt;\n          if (pBVar10->sharable != '\0') {\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }\n          if (pBVar16->inTransaction != '\0') {\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }\n          pPVar8 = pBVar16->pPager;\n          if (pPVar8->pWal == (Wal *)0x0) {\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }\n          if (eMode == (undefined *)0x0) {\n            xBusy = (_func_int_void_ptr *)0x0;\n          }\n          else {\n            xBusy = pPVar8->xBusyHandler;\n          }\n          iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0);\n          if ((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }\n          iVar6 = psVar15->nDb;\n          if (iVar9 == 5) {\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }\n          if (iVar6 <= (int)pbVar7) {\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }\n          if (iVar9 != 0) {\n            return;\n          }\n        }\nLAB_000d7e18:\n        piStack_b0 = (int *)0x0;\n        pnLog = (int *)0x0;\n      } while( true );" do (compound_statement "{\n        bVar2 = pbVar11 != pbVar7;\n        pbVar7 = pbVar7 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        pBVar10 = psVar15->aDb[(int)(pbVar7 + -1)].pBt;\n        if (pBVar10 == (Btree *)0x0) {\nLAB_000d7e0c:\n          if (iVar6 <= (int)pbVar7) break;\n        }\n        else {\n          pBVar16 = pBVar10->pBt;\n          if (pBVar10->sharable != '\0') {\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }\n          if (pBVar16->inTransaction != '\0') {\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }\n          pPVar8 = pBVar16->pPager;\n          if (pPVar8->pWal == (Wal *)0x0) {\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }\n          if (eMode == (undefined *)0x0) {\n            xBusy = (_func_int_void_ptr *)0x0;\n          }\n          else {\n            xBusy = pPVar8->xBusyHandler;\n          }\n          iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0);\n          if ((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }\n          iVar6 = psVar15->nDb;\n          if (iVar9 == 5) {\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }\n          if (iVar6 <= (int)pbVar7) {\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }\n          if (iVar9 != 0) {\n            return;\n          }\n        }\nLAB_000d7e18:\n        piStack_b0 = (int *)0x0;\n        pnLog = (int *)0x0;\n      }" { (expression_statement "bVar2 = pbVar11 != pbVar7;" (assignment_expression "bVar2 = pbVar11 != pbVar7" identifier = (binary_expression "pbVar11 != pbVar7" identifier != identifier)) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (if_statement "if (bVar2) goto LAB_000d7d1c;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_000d7d1c;" goto statement_identifier ;)) (labeled_statement "LAB_000d7d38:\n        pBVar10 = psVar15->aDb[(int)(pbVar7 + -1)].pBt;" statement_identifier : (expression_statement "pBVar10 = psVar15->aDb[(int)(pbVar7 + -1)].pBt;" (assignment_expression "pBVar10 = psVar15->aDb[(int)(pbVar7 + -1)].pBt" identifier = (field_expression "psVar15->aDb[(int)(pbVar7 + -1)].pBt" (subscript_expression "psVar15->aDb[(int)(pbVar7 + -1)]" (field_expression "psVar15->aDb" identifier -> field_identifier) [ (cast_expression "(int)(pbVar7 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar7 + -1)" ( (binary_expression "pbVar7 + -1" identifier + number_literal) ))) ]) . field_identifier)) ;)) (if_statement "if (pBVar10 == (Btree *)0x0) {\nLAB_000d7e0c:\n          if (iVar6 <= (int)pbVar7) break;\n        }\n        else {\n          pBVar16 = pBVar10->pBt;\n          if (pBVar10->sharable != '\0') {\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }\n          if (pBVar16->inTransaction != '\0') {\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }\n          pPVar8 = pBVar16->pPager;\n          if (pPVar8->pWal == (Wal *)0x0) {\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }\n          if (eMode == (undefined *)0x0) {\n            xBusy = (_func_int_void_ptr *)0x0;\n          }\n          else {\n            xBusy = pPVar8->xBusyHandler;\n          }\n          iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0);\n          if ((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }\n          iVar6 = psVar15->nDb;\n          if (iVar9 == 5) {\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }\n          if (iVar6 <= (int)pbVar7) {\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }\n          if (iVar9 != 0) {\n            return;\n          }\n        }" if (parenthesized_expression "(pBVar10 == (Btree *)0x0)" ( (binary_expression "pBVar10 == (Btree *)0x0" identifier == (cast_expression "(Btree *)0x0" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000d7e0c:\n          if (iVar6 <= (int)pbVar7) break;\n        }" { (labeled_statement "LAB_000d7e0c:\n          if (iVar6 <= (int)pbVar7) break;" statement_identifier : (if_statement "if (iVar6 <= (int)pbVar7) break;" if (parenthesized_expression "(iVar6 <= (int)pbVar7)" ( (binary_expression "iVar6 <= (int)pbVar7" identifier <= (cast_expression "(int)pbVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;))) }) (else_clause "else {\n          pBVar16 = pBVar10->pBt;\n          if (pBVar10->sharable != '\0') {\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }\n          if (pBVar16->inTransaction != '\0') {\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }\n          pPVar8 = pBVar16->pPager;\n          if (pPVar8->pWal == (Wal *)0x0) {\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }\n          if (eMode == (undefined *)0x0) {\n            xBusy = (_func_int_void_ptr *)0x0;\n          }\n          else {\n            xBusy = pPVar8->xBusyHandler;\n          }\n          iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0);\n          if ((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }\n          iVar6 = psVar15->nDb;\n          if (iVar9 == 5) {\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }\n          if (iVar6 <= (int)pbVar7) {\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }\n          if (iVar9 != 0) {\n            return;\n          }\n        }" else (compound_statement "{\n          pBVar16 = pBVar10->pBt;\n          if (pBVar10->sharable != '\0') {\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }\n          if (pBVar16->inTransaction != '\0') {\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }\n          pPVar8 = pBVar16->pPager;\n          if (pPVar8->pWal == (Wal *)0x0) {\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }\n          if (eMode == (undefined *)0x0) {\n            xBusy = (_func_int_void_ptr *)0x0;\n          }\n          else {\n            xBusy = pPVar8->xBusyHandler;\n          }\n          iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0);\n          if ((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }\n          iVar6 = psVar15->nDb;\n          if (iVar9 == 5) {\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }\n          if (iVar6 <= (int)pbVar7) {\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }\n          if (iVar9 != 0) {\n            return;\n          }\n        }" { (expression_statement "pBVar16 = pBVar10->pBt;" (assignment_expression "pBVar16 = pBVar10->pBt" identifier = (field_expression "pBVar10->pBt" identifier -> field_identifier)) ;) (if_statement "if (pBVar10->sharable != '\0') {\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }" if (parenthesized_expression "(pBVar10->sharable != '\0')" ( (binary_expression "pBVar10->sharable != '\0'" (field_expression "pBVar10->sharable" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*(code *)(iVar17 + 0x7108))(pBVar10);\n          }" { (expression_statement "(*(code *)(iVar17 + 0x7108))(pBVar10);" (call_expression "(*(code *)(iVar17 + 0x7108))(pBVar10)" (parenthesized_expression "(*(code *)(iVar17 + 0x7108))" ( (pointer_expression "*(code *)(iVar17 + 0x7108)" * (cast_expression "(code *)(iVar17 + 0x7108)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x7108)" ( (binary_expression "iVar17 + 0x7108" identifier + number_literal) )))) )) (argument_list "(pBVar10)" ( identifier ))) ;) })) (if_statement "if (pBVar16->inTransaction != '\0') {\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }" if (parenthesized_expression "(pBVar16->inTransaction != '\0')" ( (binary_expression "pBVar16->inTransaction != '\0'" (field_expression "pBVar16->inTransaction" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if (pBVar10->sharable == '\0') {\n              return;\n            }\n            iVar6 = pBVar10->wantToLock + -1;\n            pBVar10->wantToLock = iVar6;\n            if (iVar6 != 0) {\n              return;\n            }\n            (*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);\n            return;\n          }" { (if_statement "if (pBVar10->sharable == '\0') {\n              return;\n            }" if (parenthesized_expression "(pBVar10->sharable == '\0')" ( (binary_expression "pBVar10->sharable == '\0'" (field_expression "pBVar10->sharable" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (expression_statement "iVar6 = pBVar10->wantToLock + -1;" (assignment_expression "iVar6 = pBVar10->wantToLock + -1" identifier = (binary_expression "pBVar10->wantToLock + -1" (field_expression "pBVar10->wantToLock" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pBVar10->wantToLock = iVar6;" (assignment_expression "pBVar10->wantToLock = iVar6" (field_expression "pBVar10->wantToLock" identifier -> field_identifier) = identifier) ;) (if_statement "if (iVar6 != 0) {\n              return;\n            }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (expression_statement "(*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10);" (call_expression "(*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))(pBVar10)" (parenthesized_expression "(*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0))" ( (pointer_expression "*(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0)" * (cast_expression "(code *)(*(int *)(puVar19 + 0xb8f08) + 0x71f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar19 + 0xb8f08) + 0x71f0)" ( (binary_expression "*(int *)(puVar19 + 0xb8f08) + 0x71f0" (pointer_expression "*(int *)(puVar19 + 0xb8f08)" * (cast_expression "(int *)(puVar19 + 0xb8f08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0xb8f08)" ( (binary_expression "puVar19 + 0xb8f08" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pBVar10)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "pPVar8 = pBVar16->pPager;" (assignment_expression "pPVar8 = pBVar16->pPager" identifier = (field_expression "pBVar16->pPager" identifier -> field_identifier)) ;) (if_statement "if (pPVar8->pWal == (Wal *)0x0) {\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }" if (parenthesized_expression "(pPVar8->pWal == (Wal *)0x0)" ( (binary_expression "pPVar8->pWal == (Wal *)0x0" (field_expression "pPVar8->pWal" identifier -> field_identifier) == (cast_expression "(Wal *)0x0" ( (type_descriptor "Wal *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }\n            iVar6 = psVar15->nDb;\n            goto LAB_000d7e0c;\n          }" { (if_statement "if (pBVar10->sharable != '\0') {\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }" if (parenthesized_expression "(pBVar10->sharable != '\0')" ( (binary_expression "pBVar10->sharable != '\0'" (field_expression "pBVar10->sharable" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar6 = pBVar10->wantToLock + -1;\n              pBVar10->wantToLock = iVar6;\n              if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar13 + 0x71f0))(pBVar10);\n            }" { (expression_statement "iVar6 = pBVar10->wantToLock + -1;" (assignment_expression "iVar6 = pBVar10->wantToLock + -1" identifier = (binary_expression "pBVar10->wantToLock + -1" (field_expression "pBVar10->wantToLock" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pBVar10->wantToLock = iVar6;" (assignment_expression "pBVar10->wantToLock = iVar6" (field_expression "pBVar10->wantToLock" identifier -> field_identifier) = identifier) ;) (if_statement "if (iVar6 != 0) {\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n                iVar6 = psVar15->nDb;\n                if ((int)pbVar7 < iVar6) goto LAB_000d7e18;\n                break;\n              }" { (expression_statement "iVar6 = psVar15->nDb;" (assignment_expression "iVar6 = psVar15->nDb" identifier = (field_expression "psVar15->nDb" identifier -> field_identifier)) ;) (if_statement "if ((int)pbVar7 < iVar6) goto LAB_000d7e18;" if (parenthesized_expression "((int)pbVar7 < iVar6)" ( (binary_expression "(int)pbVar7 < iVar6" (cast_expression "(int)pbVar7" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (goto_statement "goto LAB_000d7e18;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "(*(code *)(iVar13 + 0x71f0))(pBVar10);" (call_expression "(*(code *)(iVar13 + 0x71f0))(pBVar10)" (parenthesized_expression "(*(code *)(iVar13 + 0x71f0))" ( (pointer_expression "*(code *)(iVar13 + 0x71f0)" * (cast_expression "(code *)(iVar13 + 0x71f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x71f0)" ( (binary_expression "iVar13 + 0x71f0" identifier + number_literal) )))) )) (argument_list "(pBVar10)" ( identifier ))) ;) })) (expression_statement "iVar6 = psVar15->nDb;" (assignment_expression "iVar6 = psVar15->nDb" identifier = (field_expression "psVar15->nDb" identifier -> field_identifier)) ;) (goto_statement "goto LAB_000d7e0c;" goto statement_identifier ;) })) (if_statement "if (eMode == (undefined *)0x0) {\n            xBusy = (_func_int_void_ptr *)0x0;\n          }\n          else {\n            xBusy = pPVar8->xBusyHandler;\n          }" if (parenthesized_expression "(eMode == (undefined *)0x0)" ( (binary_expression "eMode == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            xBusy = (_func_int_void_ptr *)0x0;\n          }" { (expression_statement "xBusy = (_func_int_void_ptr *)0x0;" (assignment_expression "xBusy = (_func_int_void_ptr *)0x0" identifier = (cast_expression "(_func_int_void_ptr *)0x0" ( (type_descriptor "_func_int_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            xBusy = pPVar8->xBusyHandler;\n          }" else (compound_statement "{\n            xBusy = pPVar8->xBusyHandler;\n          }" { (expression_statement "xBusy = pPVar8->xBusyHandler;" (assignment_expression "xBusy = pPVar8->xBusyHandler" identifier = (field_expression "pPVar8->xBusyHandler" identifier -> field_identifier)) ;) }))) (expression_statement "iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0);" (assignment_expression "iVar9 = sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0)" identifier = (call_expression "sqlite3WalCheckpoint\n                            (pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0)" identifier (argument_list "(pPVar8->pWal,pBVar10->db,(int)eMode,xBusy,pPVar8->pBusyHandlerArg,\n                             (uint)pPVar8->walSyncFlags,pPVar8->pageSize,(u8 *)pPVar8->pTmpSpace,\n                             pnLog,piStack_b0)" ( (field_expression "pPVar8->pWal" identifier -> field_identifier) , (field_expression "pBVar10->db" identifier -> field_identifier) , (cast_expression "(int)eMode" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (field_expression "pPVar8->pBusyHandlerArg" identifier -> field_identifier) , (cast_expression "(uint)pPVar8->walSyncFlags" ( (type_descriptor "uint" type_identifier) ) (field_expression "pPVar8->walSyncFlags" identifier -> field_identifier)) , (field_expression "pPVar8->pageSize" identifier -> field_identifier) , (cast_expression "(u8 *)pPVar8->pTmpSpace" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pPVar8->pTmpSpace" identifier -> field_identifier)) , identifier , identifier )))) ;) (if_statement "if ((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)) {\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }" if (parenthesized_expression "((pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0))" ( (binary_expression "(pBVar10->sharable != '\0') &&\n             (iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)" (parenthesized_expression "(pBVar10->sharable != '\0')" ( (binary_expression "pBVar10->sharable != '\0'" (field_expression "pBVar10->sharable" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0)" ( (comma_expression "iVar6 = pBVar10->wantToLock + -1, pBVar10->wantToLock = iVar6, iVar6 == 0" (assignment_expression "iVar6 = pBVar10->wantToLock + -1" identifier = (binary_expression "pBVar10->wantToLock + -1" (field_expression "pBVar10->wantToLock" identifier -> field_identifier) + number_literal)) , (comma_expression "pBVar10->wantToLock = iVar6, iVar6 == 0" (assignment_expression "pBVar10->wantToLock = iVar6" (field_expression "pBVar10->wantToLock" identifier -> field_identifier) = identifier) , (binary_expression "iVar6 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n            (*(code *)(iVar13 + 0x71f0))(pBVar10);\n          }" { (expression_statement "(*(code *)(iVar13 + 0x71f0))(pBVar10);" (call_expression "(*(code *)(iVar13 + 0x71f0))(pBVar10)" (parenthesized_expression "(*(code *)(iVar13 + 0x71f0))" ( (pointer_expression "*(code *)(iVar13 + 0x71f0)" * (cast_expression "(code *)(iVar13 + 0x71f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x71f0)" ( (binary_expression "iVar13 + 0x71f0" identifier + number_literal) )))) )) (argument_list "(pBVar10)" ( identifier ))) ;) })) (expression_statement "iVar6 = psVar15->nDb;" (assignment_expression "iVar6 = psVar15->nDb" identifier = (field_expression "psVar15->nDb" identifier -> field_identifier)) ;) (if_statement "if (iVar9 == 5) {\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }" if (parenthesized_expression "(iVar9 == 5)" ( (binary_expression "iVar9 == 5" identifier == number_literal) )) (compound_statement "{\n            bVar4 = true;\n            if (iVar6 <= (int)pbVar7) {\n              return;\n            }\n            piStack_b0 = (int *)0x0;\n            pnLog = (int *)0x0;\n            goto LAB_000d7d30;\n          }" { (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (if_statement "if (iVar6 <= (int)pbVar7) {\n              return;\n            }" if (parenthesized_expression "(iVar6 <= (int)pbVar7)" ( (binary_expression "iVar6 <= (int)pbVar7" identifier <= (cast_expression "(int)pbVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (expression_statement "piStack_b0 = (int *)0x0;" (assignment_expression "piStack_b0 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pnLog = (int *)0x0;" (assignment_expression "pnLog = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000d7d30;" goto statement_identifier ;) })) (if_statement "if (iVar6 <= (int)pbVar7) {\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }" if (parenthesized_expression "(iVar6 <= (int)pbVar7)" ( (binary_expression "iVar6 <= (int)pbVar7" identifier <= (cast_expression "(int)pbVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            if (iVar9 != 0) {\n              return;\n            }\n            break;\n          }" { (if_statement "if (iVar9 != 0) {\n              return;\n            }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n              return;\n            }" { (return_statement "return;" return ;) })) (break_statement "break;" break ;) })) (if_statement "if (iVar9 != 0) {\n            return;\n          }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) }))) (labeled_statement "LAB_000d7e18:\n        piStack_b0 = (int *)0x0;" statement_identifier : (expression_statement "piStack_b0 = (int *)0x0;" (assignment_expression "piStack_b0 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pnLog = (int *)0x0;" (assignment_expression "pnLog = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (if_statement "if (bVar4) {\n      return;\n    }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "int FUN_000d7a84(int *param_1,undefined4 param_2,undefined4 *param_3)\n\n{\n  byte *pbVar1;\n  bool bVar2;\n  byte bVar3;\n  bool bVar4;\n  undefined *puVar5;\n  byte *pbVar6;\n  int iVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined *puVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined4 local_b0;\n  byte abStack_9c [128];\n  int local_1c;\n  \n  puVar20 = PTR___stack_chk_guard_00190e24;\n  local_1c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1);\n  iVar16 = *(int *)(*param_1 + 0x20);\n  if (pbVar6 == (byte *)0x0) {\n    pbVar6 = PTR_LAB_00190958 + 0x30a8;\n  }\n  if (0 < *(int *)(iVar16 + 0x14)) {\n    iVar14 = 0;\n    puVar15 = *(undefined4 **)(iVar16 + 0x10);\n    do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));\n  }\n  (*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6);\nLAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;\n  pbVar9 = abStack_9c;\n  iVar16 = *param_1;\n  uVar12 = 1;\n  param_1[5] = 1;\n  puVar11 = (undefined *)0xffffffff;\n  local_b0 = 0xffffffff;\n  (*(code *)(puVar5 + -0x2aec))();\nLAB_000d7bc4:\n  if (local_1c == *(int *)puVar20) {\n    return *(int *)puVar20;\n  }\n  puVar20 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  iVar14 = *(int *)(iVar16 + 0x14);\n  iVar8 = *(int *)(puVar20 + 0xb8f08);\n  if (0 < iVar14) {\n    iVar18 = *(int *)(puVar20 + 0xb8f08);\n    bVar4 = false;\n    pbVar6 = (byte *)0x1;\n    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }\n    if (bVar4) {\n      return 5;\n    }\n  }\n  return 0;\n}\n\n" (function_definition "int FUN_000d7a84(int *param_1,undefined4 param_2,undefined4 *param_3)\n\n{\n  byte *pbVar1;\n  bool bVar2;\n  byte bVar3;\n  bool bVar4;\n  undefined *puVar5;\n  byte *pbVar6;\n  int iVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined *puVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined4 local_b0;\n  byte abStack_9c [128];\n  int local_1c;\n  \n  puVar20 = PTR___stack_chk_guard_00190e24;\n  local_1c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1);\n  iVar16 = *(int *)(*param_1 + 0x20);\n  if (pbVar6 == (byte *)0x0) {\n    pbVar6 = PTR_LAB_00190958 + 0x30a8;\n  }\n  if (0 < *(int *)(iVar16 + 0x14)) {\n    iVar14 = 0;\n    puVar15 = *(undefined4 **)(iVar16 + 0x10);\n    do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));\n  }\n  (*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6);\nLAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;\n  pbVar9 = abStack_9c;\n  iVar16 = *param_1;\n  uVar12 = 1;\n  param_1[5] = 1;\n  puVar11 = (undefined *)0xffffffff;\n  local_b0 = 0xffffffff;\n  (*(code *)(puVar5 + -0x2aec))();\nLAB_000d7bc4:\n  if (local_1c == *(int *)puVar20) {\n    return *(int *)puVar20;\n  }\n  puVar20 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  iVar14 = *(int *)(iVar16 + 0x14);\n  iVar8 = *(int *)(puVar20 + 0xb8f08);\n  if (0 < iVar14) {\n    iVar18 = *(int *)(puVar20 + 0xb8f08);\n    bVar4 = false;\n    pbVar6 = (byte *)0x1;\n    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }\n    if (bVar4) {\n      return 5;\n    }\n  }\n  return 0;\n}" primitive_type (function_declarator "FUN_000d7a84(int *param_1,undefined4 param_2,undefined4 *param_3)" identifier (parameter_list "(int *param_1,undefined4 param_2,undefined4 *param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  byte *pbVar1;\n  bool bVar2;\n  byte bVar3;\n  bool bVar4;\n  undefined *puVar5;\n  byte *pbVar6;\n  int iVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined *puVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined4 local_b0;\n  byte abStack_9c [128];\n  int local_1c;\n  \n  puVar20 = PTR___stack_chk_guard_00190e24;\n  local_1c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1);\n  iVar16 = *(int *)(*param_1 + 0x20);\n  if (pbVar6 == (byte *)0x0) {\n    pbVar6 = PTR_LAB_00190958 + 0x30a8;\n  }\n  if (0 < *(int *)(iVar16 + 0x14)) {\n    iVar14 = 0;\n    puVar15 = *(undefined4 **)(iVar16 + 0x10);\n    do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));\n  }\n  (*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6);\nLAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;\n  pbVar9 = abStack_9c;\n  iVar16 = *param_1;\n  uVar12 = 1;\n  param_1[5] = 1;\n  puVar11 = (undefined *)0xffffffff;\n  local_b0 = 0xffffffff;\n  (*(code *)(puVar5 + -0x2aec))();\nLAB_000d7bc4:\n  if (local_1c == *(int *)puVar20) {\n    return *(int *)puVar20;\n  }\n  puVar20 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  iVar14 = *(int *)(iVar16 + 0x14);\n  iVar8 = *(int *)(puVar20 + 0xb8f08);\n  if (0 < iVar14) {\n    iVar18 = *(int *)(puVar20 + 0xb8f08);\n    bVar4 = false;\n    pbVar6 = (byte *)0x1;\n    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }\n    if (bVar4) {\n      return 5;\n    }\n  }\n  return 0;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 local_b0;" type_identifier identifier ;) (declaration "byte abStack_9c [128];" type_identifier (array_declarator "abStack_9c [128]" identifier [ number_literal ]) ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar20 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar20 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_1c = *(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 "pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1);" (assignment_expression "pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1)" identifier = (cast_expression "(byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x6f60))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x6f60)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x6f60)" ( (binary_expression "PTR_LAB_00190bc0 + 0x6f60" identifier + number_literal) )))) )) (argument_list "(*param_3,1)" ( (pointer_expression "*param_3" * identifier) , number_literal ))))) ;) (expression_statement "iVar16 = *(int *)(*param_1 + 0x20);" (assignment_expression "iVar16 = *(int *)(*param_1 + 0x20)" identifier = (pointer_expression "*(int *)(*param_1 + 0x20)" * (cast_expression "(int *)(*param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x20)" ( (binary_expression "*param_1 + 0x20" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (if_statement "if (pbVar6 == (byte *)0x0) {\n    pbVar6 = PTR_LAB_00190958 + 0x30a8;\n  }" if (parenthesized_expression "(pbVar6 == (byte *)0x0)" ( (binary_expression "pbVar6 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pbVar6 = PTR_LAB_00190958 + 0x30a8;\n  }" { (expression_statement "pbVar6 = PTR_LAB_00190958 + 0x30a8;" (assignment_expression "pbVar6 = PTR_LAB_00190958 + 0x30a8" identifier = (binary_expression "PTR_LAB_00190958 + 0x30a8" identifier + number_literal)) ;) })) (if_statement "if (0 < *(int *)(iVar16 + 0x14)) {\n    iVar14 = 0;\n    puVar15 = *(undefined4 **)(iVar16 + 0x10);\n    do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));\n  }" if (parenthesized_expression "(0 < *(int *)(iVar16 + 0x14))" ( (binary_expression "0 < *(int *)(iVar16 + 0x14)" number_literal < (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    iVar14 = 0;\n    puVar15 = *(undefined4 **)(iVar16 + 0x10);\n    do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));\n  }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "puVar15 = *(undefined4 **)(iVar16 + 0x10);" (assignment_expression "puVar15 = *(undefined4 **)(iVar16 + 0x10)" identifier = (pointer_expression "*(undefined4 **)(iVar16 + 0x10)" * (cast_expression "(undefined4 **)(iVar16 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x10)" ( (binary_expression "iVar16 + 0x10" identifier + number_literal) ))))) ;) (do_statement "do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));" do (compound_statement "{\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    }" { (expression_statement "iVar8 = puVar15[1];" (assignment_expression "iVar8 = puVar15[1]" identifier = (subscript_expression "puVar15[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }" { (expression_statement "pbVar9 = (byte *)*puVar15;" (assignment_expression "pbVar9 = (byte *)*puVar15" identifier = (cast_expression "(byte *)*puVar15" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (expression_statement "uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];" (assignment_expression "uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18]" identifier = (cast_expression "(uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR_DAT_00190b94[*pbVar6 - 0x3c18]" identifier [ (binary_expression "*pbVar6 - 0x3c18" (pointer_expression "*pbVar6" * identifier) - number_literal) ])))) ;) (if_statement "if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }" if (parenthesized_expression "(uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18])" ( (binary_expression "uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]" identifier == (cast_expression "(byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR_DAT_00190b94[*pbVar9 - 0x3c18]" identifier [ (binary_expression "*pbVar9 - 0x3c18" (pointer_expression "*pbVar9" * identifier) - number_literal) ]))) )) (compound_statement "{\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }" { (if_statement "if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }" if (parenthesized_expression "(*pbVar9 == 0)" ( (binary_expression "*pbVar9 == 0" (pointer_expression "*pbVar9" * identifier) == number_literal) )) (compound_statement "{\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }" { (labeled_statement "LAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" statement_identifier : (if_statement "if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" if (parenthesized_expression "(iVar14 < 2)" ( (binary_expression "iVar14 < 2" identifier < number_literal) )) (compound_statement "{\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" { (expression_statement "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);" (call_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6)" (parenthesized_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)" ( (pointer_expression "*(code *)PTR_sqlite3_snprintf_00190a44" * (cast_expression "(code *)PTR_sqlite3_snprintf_00190a44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6)" ( number_literal , identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_000d7b94;" goto statement_identifier ;) }))) (if_statement "if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" if (parenthesized_expression "((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0))" ( (binary_expression "(*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)" (parenthesized_expression "(*(char *)(iVar8 + 8) != '\0')" ( (binary_expression "*(char *)(iVar8 + 8) != '\0'" (pointer_expression "*(char *)(iVar8 + 8)" * (cast_expression "(char *)(iVar8 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(int *)(iVar8 + 0x10) != 0)" ( (binary_expression "*(int *)(iVar8 + 0x10) != 0" (pointer_expression "*(int *)(iVar8 + 0x10)" * (cast_expression "(int *)(iVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" { (expression_statement "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);" (call_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6)" (parenthesized_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)" ( (pointer_expression "*(code *)PTR_sqlite3_snprintf_00190a44" * (cast_expression "(code *)PTR_sqlite3_snprintf_00190a44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6)" ( number_literal , identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_000d7b94;" goto statement_identifier ;) })) (expression_statement "puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "FUN_000d66bc();" (call_expression "FUN_000d66bc()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar15[1] = 0;" (assignment_expression "puVar15[1] = 0" (subscript_expression "puVar15[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);" (assignment_expression "pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x3fbc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x3fbc)" ( (binary_expression "PTR_LAB_00190ba4 + -0x3fbc" identifier + number_literal) )))) ;) (expression_statement "puVar15[3] = 0;" (assignment_expression "puVar15[3] = 0" (subscript_expression "puVar15[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000d7bc4;" goto statement_identifier ;) })) (expression_statement "pbVar9 = pbVar9 + 1;" (assignment_expression "pbVar9 = pbVar9 + 1" identifier = (binary_expression "pbVar9 + 1" identifier + number_literal)) ;) (expression_statement "pbVar10 = pbVar6;" (assignment_expression "pbVar10 = pbVar6" identifier = identifier) ;) (while_statement "while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }" { (expression_statement "pbVar1 = pbVar10 + 1;" (assignment_expression "pbVar1 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *pbVar9;" (assignment_expression "bVar3 = *pbVar9" identifier = (pointer_expression "*pbVar9" * identifier)) ;) (expression_statement "pbVar10 = pbVar10 + 1;" (assignment_expression "pbVar10 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) (if_statement "if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;" if (parenthesized_expression "(PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18])" ( (binary_expression "PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]" (subscript_expression "PTR_DAT_00190b94[bVar3 - 0x3c18]" identifier [ (binary_expression "bVar3 - 0x3c18" identifier - number_literal) ]) != (subscript_expression "PTR_DAT_00190b94[*pbVar1 - 0x3c18]" identifier [ (binary_expression "*pbVar1 - 0x3c18" (pointer_expression "*pbVar1" * identifier) - number_literal) ])) )) (break_statement "break;" break ;)) (expression_statement "pbVar9 = pbVar9 + 1;" (assignment_expression "pbVar9 = pbVar9 + 1" identifier = (binary_expression "pbVar9 + 1" identifier + number_literal)) ;) (if_statement "if (bVar3 == 0) goto LAB_000d7bec;" if (parenthesized_expression "(bVar3 == 0)" ( (binary_expression "bVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000d7bec;" goto statement_identifier ;)) })) })) })) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "puVar15 = puVar15 + 4;" (assignment_expression "puVar15 = puVar15 + 4" identifier = (binary_expression "puVar15 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar14 != *(int *)(iVar16 + 0x14))" ( (binary_expression "iVar14 != *(int *)(iVar16 + 0x14)" identifier != (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) )) ;) })) (expression_statement "(*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6);" (call_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6)" (parenthesized_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)" ( (pointer_expression "*(code *)PTR_sqlite3_snprintf_00190a44" * (cast_expression "(code *)PTR_sqlite3_snprintf_00190a44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6)" ( number_literal , identifier , (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc" identifier + number_literal) , identifier ))) ;) (labeled_statement "LAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;" statement_identifier : (expression_statement "puVar5 = PTR_LAB_00190bc0;" (assignment_expression "puVar5 = PTR_LAB_00190bc0" identifier = identifier) ;)) (expression_statement "pbVar9 = abStack_9c;" (assignment_expression "pbVar9 = abStack_9c" identifier = identifier) ;) (expression_statement "iVar16 = *param_1;" (assignment_expression "iVar16 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar12 = 1;" (assignment_expression "uVar12 = 1" identifier = number_literal) ;) (expression_statement "param_1[5] = 1;" (assignment_expression "param_1[5] = 1" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11 = (undefined *)0xffffffff;" (assignment_expression "puVar11 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = 0xffffffff;" (assignment_expression "local_b0 = 0xffffffff" identifier = number_literal) ;) (expression_statement "(*(code *)(puVar5 + -0x2aec))();" (call_expression "(*(code *)(puVar5 + -0x2aec))()" (parenthesized_expression "(*(code *)(puVar5 + -0x2aec))" ( (pointer_expression "*(code *)(puVar5 + -0x2aec)" * (cast_expression "(code *)(puVar5 + -0x2aec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x2aec)" ( (binary_expression "puVar5 + -0x2aec" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000d7bc4:\n  if (local_1c == *(int *)puVar20) {\n    return *(int *)puVar20;\n  }" statement_identifier : (if_statement "if (local_1c == *(int *)puVar20) {\n    return *(int *)puVar20;\n  }" if (parenthesized_expression "(local_1c == *(int *)puVar20)" ( (binary_expression "local_1c == *(int *)puVar20" identifier == (pointer_expression "*(int *)puVar20" * (cast_expression "(int *)puVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return *(int *)puVar20;\n  }" { (return_statement "return *(int *)puVar20;" return (pointer_expression "*(int *)puVar20" * (cast_expression "(int *)puVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "puVar20 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar20 = 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 "iVar14 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x14)" identifier = (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar20 + 0xb8f08);" (assignment_expression "iVar8 = *(int *)(puVar20 + 0xb8f08)" identifier = (pointer_expression "*(int *)(puVar20 + 0xb8f08)" * (cast_expression "(int *)(puVar20 + 0xb8f08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xb8f08)" ( (binary_expression "puVar20 + 0xb8f08" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar14) {\n    iVar18 = *(int *)(puVar20 + 0xb8f08);\n    bVar4 = false;\n    pbVar6 = (byte *)0x1;\n    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }\n    if (bVar4) {\n      return 5;\n    }\n  }" if (parenthesized_expression "(0 < iVar14)" ( (binary_expression "0 < iVar14" number_literal < identifier) )) (compound_statement "{\n    iVar18 = *(int *)(puVar20 + 0xb8f08);\n    bVar4 = false;\n    pbVar6 = (byte *)0x1;\n    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }\n    if (bVar4) {\n      return 5;\n    }\n  }" { (expression_statement "iVar18 = *(int *)(puVar20 + 0xb8f08);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0xb8f08)" identifier = (pointer_expression "*(int *)(puVar20 + 0xb8f08)" * (cast_expression "(int *)(puVar20 + 0xb8f08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xb8f08)" ( (binary_expression "puVar20 + 0xb8f08" identifier + number_literal) ))))) ;) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "pbVar6 = (byte *)0x1;" (assignment_expression "pbVar6 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;" if (parenthesized_expression "(pbVar9 == (byte *)0x0)" ( (binary_expression "pbVar9 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000d7d38;" goto statement_identifier ;)) (labeled_statement "LAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;" statement_identifier : (if_statement "if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;" if (parenthesized_expression "(pbVar9 == &DAT_0000000a)" ( (binary_expression "pbVar9 == &DAT_0000000a" identifier == (pointer_expression "&DAT_0000000a" & identifier)) )) (goto_statement "goto LAB_000d7d38;" goto statement_identifier ;))) (if_statement "if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }" if (parenthesized_expression "((int)pbVar6 < iVar14)" ( (binary_expression "(int)pbVar6 < iVar14" (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }" { (labeled_statement "LAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );" statement_identifier : (do_statement "do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );" do (compound_statement "{\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      }" { (expression_statement "bVar2 = pbVar9 != pbVar6;" (assignment_expression "bVar2 = pbVar9 != pbVar6" identifier = (binary_expression "pbVar9 != pbVar6" identifier != identifier)) ;) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (if_statement "if (bVar2) goto LAB_000d7d1c;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_000d7d1c;" goto statement_identifier ;)) (labeled_statement "LAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);" statement_identifier : (expression_statement "puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);" (assignment_expression "puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc)" * (cast_expression "(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc)" ( (binary_expression "*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc" (binary_expression "*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10" (pointer_expression "*(int *)(iVar16 + 0x10)" * (cast_expression "(int *)(iVar16 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x10)" ( (binary_expression "iVar16 + 0x10" identifier + number_literal) )))) + (binary_expression "(int)pbVar6 * 0x10" (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;)) (if_statement "if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }" if (parenthesized_expression "(puVar15 == (undefined4 *)0x0)" ( (binary_expression "puVar15 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }" { (labeled_statement "LAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;" statement_identifier : (if_statement "if (iVar14 <= (int)pbVar6) break;" if (parenthesized_expression "(iVar14 <= (int)pbVar6)" ( (binary_expression "iVar14 <= (int)pbVar6" identifier <= (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;))) }) (else_clause "else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }" else (compound_statement "{\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }" { (expression_statement "piVar17 = (int *)puVar15[1];" (assignment_expression "piVar17 = (int *)puVar15[1]" identifier = (cast_expression "(int *)puVar15[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[1]" identifier [ number_literal ]))) ;) (if_statement "if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }" if (parenthesized_expression "(*(char *)((int)puVar15 + 9) != '\0')" ( (binary_expression "*(char *)((int)puVar15 + 9) != '\0'" (pointer_expression "*(char *)((int)puVar15 + 9)" * (cast_expression "(char *)((int)puVar15 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + 9)" ( (binary_expression "(int)puVar15 + 9" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }" { (expression_statement "(*(code *)(iVar18 + 0x7108))(puVar15);" (call_expression "(*(code *)(iVar18 + 0x7108))(puVar15)" (parenthesized_expression "(*(code *)(iVar18 + 0x7108))" ( (pointer_expression "*(code *)(iVar18 + 0x7108)" * (cast_expression "(code *)(iVar18 + 0x7108)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x7108)" ( (binary_expression "iVar18 + 0x7108" identifier + number_literal) )))) )) (argument_list "(puVar15)" ( identifier ))) ;) })) (if_statement "if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }" if (parenthesized_expression "(*(char *)(piVar17 + 5) != '\0')" ( (binary_expression "*(char *)(piVar17 + 5) != '\0'" (pointer_expression "*(char *)(piVar17 + 5)" * (cast_expression "(char *)(piVar17 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 5)" ( (binary_expression "piVar17 + 5" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }" { (if_statement "if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }" if (parenthesized_expression "(*(char *)((int)puVar15 + 9) == '\0')" ( (binary_expression "*(char *)((int)puVar15 + 9) == '\0'" (pointer_expression "*(char *)((int)puVar15 + 9)" * (cast_expression "(char *)((int)puVar15 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + 9)" ( (binary_expression "(int)puVar15 + 9" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              return 6;\n            }" { (return_statement "return 6;" return number_literal ;) })) (expression_statement "iVar16 = puVar15[3];" (assignment_expression "iVar16 = puVar15[3]" identifier = (subscript_expression "puVar15[3]" identifier [ number_literal ])) ;) (expression_statement "puVar15[3] = iVar16 + -1;" (assignment_expression "puVar15[3] = iVar16 + -1" (subscript_expression "puVar15[3]" identifier [ number_literal ]) = (binary_expression "iVar16 + -1" identifier + number_literal)) ;) (if_statement "if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }" if (parenthesized_expression "(iVar16 + -1 == 0)" ( (binary_expression "iVar16 + -1 == 0" (binary_expression "iVar16 + -1" identifier + number_literal) == number_literal) )) (compound_statement "{\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }" { (expression_statement "(*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);" (call_expression "(*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15)" (parenthesized_expression "(*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))" ( (pointer_expression "*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0)" * (cast_expression "(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0xb8f08) + 0x71f0)" ( (binary_expression "*(int *)(puVar20 + 0xb8f08) + 0x71f0" (pointer_expression "*(int *)(puVar20 + 0xb8f08)" * (cast_expression "(int *)(puVar20 + 0xb8f08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xb8f08)" ( (binary_expression "puVar20 + 0xb8f08" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puVar15)" ( identifier ))) ;) })) (return_statement "return 6;" return number_literal ;) })) (expression_statement "iVar14 = *piVar17;" (assignment_expression "iVar14 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (if_statement "if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }" if (parenthesized_expression "(*(int *)(iVar14 + 0xd8) == 0)" ( (binary_expression "*(int *)(iVar14 + 0xd8) == 0" (pointer_expression "*(int *)(iVar14 + 0xd8)" * (cast_expression "(int *)(iVar14 + 0xd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xd8)" ( (binary_expression "iVar14 + 0xd8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }" { (if_statement "if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }" if (parenthesized_expression "(*(char *)((int)puVar15 + 9) != '\0')" ( (binary_expression "*(char *)((int)puVar15 + 9) != '\0'" (pointer_expression "*(char *)((int)puVar15 + 9)" * (cast_expression "(char *)((int)puVar15 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + 9)" ( (binary_expression "(int)puVar15 + 9" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }" { (expression_statement "iVar14 = puVar15[3];" (assignment_expression "iVar14 = puVar15[3]" identifier = (subscript_expression "puVar15[3]" identifier [ number_literal ])) ;) (expression_statement "puVar15[3] = iVar14 + -1;" (assignment_expression "puVar15[3] = iVar14 + -1" (subscript_expression "puVar15[3]" identifier [ number_literal ]) = (binary_expression "iVar14 + -1" identifier + number_literal)) ;) (if_statement "if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }" if (parenthesized_expression "(iVar14 + -1 != 0)" ( (binary_expression "iVar14 + -1 != 0" (binary_expression "iVar14 + -1" identifier + number_literal) != number_literal) )) (compound_statement "{\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }" { (expression_statement "iVar14 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x14)" identifier = (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((int)pbVar6 < iVar14) goto LAB_000d7e18;" if (parenthesized_expression "((int)pbVar6 < iVar14)" ( (binary_expression "(int)pbVar6 < iVar14" (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (goto_statement "goto LAB_000d7e18;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "(*(code *)(iVar8 + 0x71f0))(puVar15);" (call_expression "(*(code *)(iVar8 + 0x71f0))(puVar15)" (parenthesized_expression "(*(code *)(iVar8 + 0x71f0))" ( (pointer_expression "*(code *)(iVar8 + 0x71f0)" * (cast_expression "(code *)(iVar8 + 0x71f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x71f0)" ( (binary_expression "iVar8 + 0x71f0" identifier + number_literal) )))) )) (argument_list "(puVar15)" ( identifier ))) ;) })) (expression_statement "iVar14 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x14)" identifier = (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000d7e0c;" goto statement_identifier ;) })) (if_statement "if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }" if (parenthesized_expression "(puVar11 == (undefined *)0x0)" ( (binary_expression "puVar11 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar13 = 0;\n          }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }" else (compound_statement "{\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }" { (expression_statement "uVar13 = *(undefined4 *)(iVar14 + 0xb0);" (assignment_expression "uVar13 = *(undefined4 *)(iVar14 + 0xb0)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0xb0)" * (cast_expression "(undefined4 *)(iVar14 + 0xb0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xb0)" ( (binary_expression "iVar14 + 0xb0" identifier + number_literal) ))))) ;) }))) (expression_statement "iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);" (assignment_expression "iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0)" identifier = (call_expression "FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0)" identifier (argument_list "(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0)" ( (pointer_expression "*(int *)(iVar14 + 0xd8)" * (cast_expression "(int *)(iVar14 + 0xd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xd8)" ( (binary_expression "iVar14 + 0xd8" identifier + number_literal) )))) , (pointer_expression "*puVar15" * identifier) , identifier , identifier , (pointer_expression "*(undefined4 *)(iVar14 + 0xb4)" * (cast_expression "(undefined4 *)(iVar14 + 0xb4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xb4)" ( (binary_expression "iVar14 + 0xb4" identifier + number_literal) )))) , (pointer_expression "*(undefined1 *)(iVar14 + 0xb)" * (cast_expression "(undefined1 *)(iVar14 + 0xb)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xb)" ( (binary_expression "iVar14 + 0xb" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar14 + 0x98)" * (cast_expression "(undefined4 *)(iVar14 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x98)" ( (binary_expression "iVar14 + 0x98" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar14 + 0xd0)" * (cast_expression "(undefined4 *)(iVar14 + 0xd0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0xd0)" ( (binary_expression "iVar14 + 0xd0" identifier + number_literal) )))) , identifier , identifier )))) ;) (if_statement "if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }" if (parenthesized_expression "((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0))" ( (binary_expression "(*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)" (parenthesized_expression "(*(char *)((int)puVar15 + 9) != '\0')" ( (binary_expression "*(char *)((int)puVar15 + 9) != '\0'" (pointer_expression "*(char *)((int)puVar15 + 9)" * (cast_expression "(char *)((int)puVar15 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar15 + 9)" ( (binary_expression "(int)puVar15 + 9" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)" ( (comma_expression "iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0" (assignment_expression "iVar14 = puVar15[3]" identifier = (subscript_expression "puVar15[3]" identifier [ number_literal ])) , (comma_expression "puVar15[3] = iVar14 + -1, iVar14 + -1 == 0" (assignment_expression "puVar15[3] = iVar14 + -1" (subscript_expression "puVar15[3]" identifier [ number_literal ]) = (binary_expression "iVar14 + -1" identifier + number_literal)) , (binary_expression "iVar14 + -1 == 0" (binary_expression "iVar14 + -1" identifier + number_literal) == number_literal))) ))) )) (compound_statement "{\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }" { (expression_statement "(*(code *)(iVar8 + 0x71f0))(puVar15);" (call_expression "(*(code *)(iVar8 + 0x71f0))(puVar15)" (parenthesized_expression "(*(code *)(iVar8 + 0x71f0))" ( (pointer_expression "*(code *)(iVar8 + 0x71f0)" * (cast_expression "(code *)(iVar8 + 0x71f0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x71f0)" ( (binary_expression "iVar8 + 0x71f0" identifier + number_literal) )))) )) (argument_list "(puVar15)" ( identifier ))) ;) })) (expression_statement "iVar14 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x14)" identifier = (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }" if (parenthesized_expression "(iVar7 == 5)" ( (binary_expression "iVar7 == 5" identifier == number_literal) )) (compound_statement "{\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }" { (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (if_statement "if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }" if (parenthesized_expression "(iVar14 <= (int)pbVar6)" ( (binary_expression "iVar14 <= (int)pbVar6" identifier <= (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              return 5;\n            }" { (return_statement "return 5;" return number_literal ;) })) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000d7d30;" goto statement_identifier ;) })) (if_statement "if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }" if (parenthesized_expression "(iVar14 <= (int)pbVar6)" ( (binary_expression "iVar14 <= (int)pbVar6" identifier <= (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }" { (if_statement "if (iVar7 != 0) {\n              return iVar7;\n            }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              return iVar7;\n            }" { (return_statement "return iVar7;" return identifier ;) })) (break_statement "break;" break ;) })) (if_statement "if (iVar7 != 0) {\n            return iVar7;\n          }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n            return iVar7;\n          }" { (return_statement "return iVar7;" return identifier ;) })) }))) (labeled_statement "LAB_000d7e18:\n        local_b0 = 0;" statement_identifier : (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;)) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (if_statement "if (bVar4) {\n      return 5;\n    }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n      return 5;\n    }" { (return_statement "return 5;" return number_literal ;) })) })) (return_statement "return 0;" return number_literal ;) })))
(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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (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 = (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 ( (pointer_expression * IDENT) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (pointer_expression * IDENT) - LIT) ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (pointer_expression * IDENT) - LIT) ]))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT - LIT) ]) != (subscript_expression IDENT [ (binary_expression (pointer_expression * IDENT) - LIT) ])) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( ))) ;) (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 { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression & IDENT)) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT != IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (break_statement break ;))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (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 ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT ))) ;) })) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) })) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * IDENT) , IDENT , IDENT , (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) )))) , (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) )))) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (comma_expression (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) , (binary_expression (binary_expression IDENT + LIT) == LIT))) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return IDENT ;) })) (break_statement break ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return IDENT ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) while (parenthesized_expression ( BOOL )) ;)) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (return_statement return LIT ;) })) })) (return_statement return LIT ;) })))
(function_definition "int FUN_000d7a84(int *param_1,undefined4 param_2,undefined4 *param_3)\n\n{\n  byte *pbVar1;\n  bool bVar2;\n  byte bVar3;\n  bool bVar4;\n  undefined *puVar5;\n  byte *pbVar6;\n  int iVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined *puVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined4 local_b0;\n  byte abStack_9c [128];\n  int local_1c;\n  \n  puVar20 = PTR___stack_chk_guard_00190e24;\n  local_1c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1);\n  iVar16 = *(int *)(*param_1 + 0x20);\n  if (pbVar6 == (byte *)0x0) {\n    pbVar6 = PTR_LAB_00190958 + 0x30a8;\n  }\n  if (0 < *(int *)(iVar16 + 0x14)) {\n    iVar14 = 0;\n    puVar15 = *(undefined4 **)(iVar16 + 0x10);\n    do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));\n  }\n  (*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6);\nLAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;\n  pbVar9 = abStack_9c;\n  iVar16 = *param_1;\n  uVar12 = 1;\n  param_1[5] = 1;\n  puVar11 = (undefined *)0xffffffff;\n  local_b0 = 0xffffffff;\n  (*(code *)(puVar5 + -0x2aec))();\nLAB_000d7bc4:\n  if (local_1c == *(int *)puVar20) {\n    return *(int *)puVar20;\n  }\n  puVar20 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  iVar14 = *(int *)(iVar16 + 0x14);\n  iVar8 = *(int *)(puVar20 + 0xb8f08);\n  if (0 < iVar14) {\n    iVar18 = *(int *)(puVar20 + 0xb8f08);\n    bVar4 = false;\n    pbVar6 = (byte *)0x1;\n    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }\n    if (bVar4) {\n      return 5;\n    }\n  }\n  return 0;\n}" (primitive_type "int") (function_declarator "FUN_000d7a84(int *param_1,undefined4 param_2,undefined4 *param_3)" (identifier "FUN_000d7a84") (parameter_list "(int *param_1,undefined4 param_2,undefined4 *param_3)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 *param_3" (type_identifier "undefined4") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  byte *pbVar1;\n  bool bVar2;\n  byte bVar3;\n  bool bVar4;\n  undefined *puVar5;\n  byte *pbVar6;\n  int iVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined *puVar11;\n  uint uVar12;\n  undefined4 uVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  code *pcVar19;\n  undefined *puVar20;\n  undefined4 local_b0;\n  byte abStack_9c [128];\n  int local_1c;\n  \n  puVar20 = PTR___stack_chk_guard_00190e24;\n  local_1c = *(int *)PTR___stack_chk_guard_00190e24;\n  pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1);\n  iVar16 = *(int *)(*param_1 + 0x20);\n  if (pbVar6 == (byte *)0x0) {\n    pbVar6 = PTR_LAB_00190958 + 0x30a8;\n  }\n  if (0 < *(int *)(iVar16 + 0x14)) {\n    iVar14 = 0;\n    puVar15 = *(undefined4 **)(iVar16 + 0x10);\n    do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));\n  }\n  (*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6);\nLAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;\n  pbVar9 = abStack_9c;\n  iVar16 = *param_1;\n  uVar12 = 1;\n  param_1[5] = 1;\n  puVar11 = (undefined *)0xffffffff;\n  local_b0 = 0xffffffff;\n  (*(code *)(puVar5 + -0x2aec))();\nLAB_000d7bc4:\n  if (local_1c == *(int *)puVar20) {\n    return *(int *)puVar20;\n  }\n  puVar20 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  iVar14 = *(int *)(iVar16 + 0x14);\n  iVar8 = *(int *)(puVar20 + 0xb8f08);\n  if (0 < iVar14) {\n    iVar18 = *(int *)(puVar20 + 0xb8f08);\n    bVar4 = false;\n    pbVar6 = (byte *)0x1;\n    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }\n    if (bVar4) {\n      return 5;\n    }\n  }\n  return 0;\n}" ({ "{") (declaration "byte *pbVar1;" (type_identifier "byte") (pointer_declarator "*pbVar1" (* "*") (identifier "pbVar1")) (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "bool bVar4;" (primitive_type "bool") (identifier "bVar4") (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "byte *pbVar6;" (type_identifier "byte") (pointer_declarator "*pbVar6" (* "*") (identifier "pbVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "byte *pbVar10;" (type_identifier "byte") (pointer_declarator "*pbVar10" (* "*") (identifier "pbVar10")) (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined4 *puVar15;" (type_identifier "undefined4") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int *piVar17;" (primitive_type "int") (pointer_declarator "*piVar17" (* "*") (identifier "piVar17")) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "code *pcVar19;" (type_identifier "code") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "undefined *puVar20;" (type_identifier "undefined") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "undefined4 local_b0;" (type_identifier "undefined4") (identifier "local_b0") (; ";")) (declaration "byte abStack_9c [128];" (type_identifier "byte") (array_declarator "abStack_9c [128]" (identifier "abStack_9c") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "int local_1c;" (primitive_type "int") (identifier "local_1c") (; ";")) (expression_statement "puVar20 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar20 = PTR___stack_chk_guard_00190e24" (identifier "puVar20") (= "=") (identifier "PTR___stack_chk_guard_00190e24")) (; ";")) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_00190e24" (identifier "local_1c") (= "=") (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 "pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1);" (assignment_expression "pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1)" (identifier "pbVar6") (= "=") (cast_expression "(byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x6f60))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x6f60)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x6f60)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x6f60)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x6f60" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x6f60")) () ")")))) () ")")) (argument_list "(*param_3,1)" (( "(") (pointer_expression "*param_3" (* "*") (identifier "param_3")) (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "iVar16 = *(int *)(*param_1 + 0x20);" (assignment_expression "iVar16 = *(int *)(*param_1 + 0x20)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(*param_1 + 0x20)" (* "*") (cast_expression "(int *)(*param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x20)" (( "(") (binary_expression "*param_1 + 0x20" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (pbVar6 == (byte *)0x0) {\n    pbVar6 = PTR_LAB_00190958 + 0x30a8;\n  }" (if "if") (parenthesized_expression "(pbVar6 == (byte *)0x0)" (( "(") (binary_expression "pbVar6 == (byte *)0x0" (identifier "pbVar6") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pbVar6 = PTR_LAB_00190958 + 0x30a8;\n  }" ({ "{") (expression_statement "pbVar6 = PTR_LAB_00190958 + 0x30a8;" (assignment_expression "pbVar6 = PTR_LAB_00190958 + 0x30a8" (identifier "pbVar6") (= "=") (binary_expression "PTR_LAB_00190958 + 0x30a8" (identifier "PTR_LAB_00190958") (+ "+") (number_literal "0x30a8"))) (; ";")) (} "}"))) (if_statement "if (0 < *(int *)(iVar16 + 0x14)) {\n    iVar14 = 0;\n    puVar15 = *(undefined4 **)(iVar16 + 0x10);\n    do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));\n  }" (if "if") (parenthesized_expression "(0 < *(int *)(iVar16 + 0x14))" (( "(") (binary_expression "0 < *(int *)(iVar16 + 0x14)" (number_literal "0") (< "<") (pointer_expression "*(int *)(iVar16 + 0x14)" (* "*") (cast_expression "(int *)(iVar16 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x14)" (( "(") (binary_expression "iVar16 + 0x14" (identifier "iVar16") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    iVar14 = 0;\n    puVar15 = *(undefined4 **)(iVar16 + 0x10);\n    do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));\n  }" ({ "{") (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar15 = *(undefined4 **)(iVar16 + 0x10);" (assignment_expression "puVar15 = *(undefined4 **)(iVar16 + 0x10)" (identifier "puVar15") (= "=") (pointer_expression "*(undefined4 **)(iVar16 + 0x10)" (* "*") (cast_expression "(undefined4 **)(iVar16 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar16 + 0x10)" (( "(") (binary_expression "iVar16 + 0x10" (identifier "iVar16") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (do_statement "do {\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    } while (iVar14 != *(int *)(iVar16 + 0x14));" (do "do") (compound_statement "{\n      iVar8 = puVar15[1];\n      if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }\n      iVar14 = iVar14 + 1;\n      puVar15 = puVar15 + 4;\n    }" ({ "{") (expression_statement "iVar8 = puVar15[1];" (assignment_expression "iVar8 = puVar15[1]" (identifier "iVar8") (= "=") (subscript_expression "puVar15[1]" (identifier "puVar15") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (iVar8 != 0) {\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pbVar9 = (byte *)*puVar15;\n        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];\n        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }\n      }" ({ "{") (expression_statement "pbVar9 = (byte *)*puVar15;" (assignment_expression "pbVar9 = (byte *)*puVar15" (identifier "pbVar9") (= "=") (cast_expression "(byte *)*puVar15" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar15" (* "*") (identifier "puVar15")))) (; ";")) (expression_statement "uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];" (assignment_expression "uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18]" (identifier "uVar12") (= "=") (cast_expression "(uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "PTR_DAT_00190b94[*pbVar6 - 0x3c18]" (identifier "PTR_DAT_00190b94") ([ "[") (binary_expression "*pbVar6 - 0x3c18" (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")) (- "-") (number_literal "0x3c18")) (] "]"))))) (; ";")) (if_statement "if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }" (if "if") (parenthesized_expression "(uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18])" (( "(") (binary_expression "uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]" (identifier "uVar12") (== "==") (cast_expression "(byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "PTR_DAT_00190b94[*pbVar9 - 0x3c18]" (identifier "PTR_DAT_00190b94") ([ "[") (binary_expression "*pbVar9 - 0x3c18" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (- "-") (number_literal "0x3c18")) (] "]")))) () ")")) (compound_statement "{\n          if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }\n          pbVar9 = pbVar9 + 1;\n          pbVar10 = pbVar6;\n          while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }\n        }" ({ "{") (if_statement "if (*pbVar9 == 0) {\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }" (if "if") (parenthesized_expression "(*pbVar9 == 0)" (( "(") (binary_expression "*pbVar9 == 0" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }\n            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n            FUN_000d66bc();\n            puVar15[1] = 0;\n            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);\n            puVar15[3] = 0;\n            (*pcVar19)();\n            goto LAB_000d7bc4;\n          }" ({ "{") (labeled_statement "LAB_000d7bec:\n            if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" (statement_identifier "LAB_000d7bec") (: ":") (if_statement "if (iVar14 < 2) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" (if "if") (parenthesized_expression "(iVar14 < 2)" (( "(") (binary_expression "iVar14 < 2" (identifier "iVar14") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" ({ "{") (expression_statement "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6);" (call_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6)" (parenthesized_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_snprintf_00190a44" (* "*") (cast_expression "(code *)PTR_sqlite3_snprintf_00190a44" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_snprintf_00190a44"))) () ")")) (argument_list "(0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,\n                         pbVar6)" (( "(") (number_literal "0x80") (, ",") (identifier "abStack_9c") (, ",") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x4130")) (, ",") (identifier "pbVar6") () ")"))) (; ";")) (goto_statement "goto LAB_000d7b94;" (goto "goto") (statement_identifier "LAB_000d7b94") (; ";")) (} "}")))) (if_statement "if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" (if "if") (parenthesized_expression "((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0))" (( "(") (binary_expression "(*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)" (parenthesized_expression "(*(char *)(iVar8 + 8) != '\0')" (( "(") (binary_expression "*(char *)(iVar8 + 8) != '\0'" (pointer_expression "*(char *)(iVar8 + 8)" (* "*") (cast_expression "(char *)(iVar8 + 8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 8)" (( "(") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(int *)(iVar8 + 0x10) != 0)" (( "(") (binary_expression "*(int *)(iVar8 + 0x10) != 0" (pointer_expression "*(int *)(iVar8 + 0x10)" (* "*") (cast_expression "(int *)(iVar8 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x10)" (( "(") (binary_expression "iVar8 + 0x10" (identifier "iVar8") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              (*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);\n              goto LAB_000d7b94;\n            }" ({ "{") (expression_statement "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6);" (call_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)\n                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6)" (parenthesized_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_snprintf_00190a44" (* "*") (cast_expression "(code *)PTR_sqlite3_snprintf_00190a44" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_snprintf_00190a44"))) () ")")) (argument_list "(0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,\n                         pbVar6)" (( "(") (number_literal "0x80") (, ",") (identifier "abStack_9c") (, ",") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x4114")) (, ",") (identifier "pbVar6") () ")"))) (; ";")) (goto_statement "goto LAB_000d7b94;" (goto "goto") (statement_identifier "LAB_000d7b94") (; ";")) (} "}"))) (expression_statement "puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" (identifier "puVar11") (= "=") (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c")) (; ";")) (expression_statement "FUN_000d66bc();" (call_expression "FUN_000d66bc()" (identifier "FUN_000d66bc") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar15[1] = 0;" (assignment_expression "puVar15[1] = 0" (subscript_expression "puVar15[1]" (identifier "puVar15") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);" (assignment_expression "pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc)" (identifier "pcVar19") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x3fbc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + -0x3fbc)" (( "(") (binary_expression "PTR_LAB_00190ba4 + -0x3fbc" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "-0x3fbc")) () ")")))) (; ";")) (expression_statement "puVar15[3] = 0;" (assignment_expression "puVar15[3] = 0" (subscript_expression "puVar15[3]" (identifier "puVar15") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*pcVar19)();" (call_expression "(*pcVar19)()" (parenthesized_expression "(*pcVar19)" (( "(") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_000d7bc4;" (goto "goto") (statement_identifier "LAB_000d7bc4") (; ";")) (} "}"))) (expression_statement "pbVar9 = pbVar9 + 1;" (assignment_expression "pbVar9 = pbVar9 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + 1" (identifier "pbVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar10 = pbVar6;" (assignment_expression "pbVar10 = pbVar6" (identifier "pbVar10") (= "=") (identifier "pbVar6")) (; ";")) (while_statement "while( true ) {\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            pbVar1 = pbVar10 + 1;\n            bVar3 = *pbVar9;\n            pbVar10 = pbVar10 + 1;\n            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;\n            pbVar9 = pbVar9 + 1;\n            if (bVar3 == 0) goto LAB_000d7bec;\n          }" ({ "{") (expression_statement "pbVar1 = pbVar10 + 1;" (assignment_expression "pbVar1 = pbVar10 + 1" (identifier "pbVar1") (= "=") (binary_expression "pbVar10 + 1" (identifier "pbVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar3 = *pbVar9;" (assignment_expression "bVar3 = *pbVar9" (identifier "bVar3") (= "=") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + 1;" (assignment_expression "pbVar10 = pbVar10 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + 1" (identifier "pbVar10") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;" (if "if") (parenthesized_expression "(PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18])" (( "(") (binary_expression "PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]" (subscript_expression "PTR_DAT_00190b94[bVar3 - 0x3c18]" (identifier "PTR_DAT_00190b94") ([ "[") (binary_expression "bVar3 - 0x3c18" (identifier "bVar3") (- "-") (number_literal "0x3c18")) (] "]")) (!= "!=") (subscript_expression "PTR_DAT_00190b94[*pbVar1 - 0x3c18]" (identifier "PTR_DAT_00190b94") ([ "[") (binary_expression "*pbVar1 - 0x3c18" (pointer_expression "*pbVar1" (* "*") (identifier "pbVar1")) (- "-") (number_literal "0x3c18")) (] "]"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pbVar9 = pbVar9 + 1;" (assignment_expression "pbVar9 = pbVar9 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + 1" (identifier "pbVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (bVar3 == 0) goto LAB_000d7bec;" (if "if") (parenthesized_expression "(bVar3 == 0)" (( "(") (binary_expression "bVar3 == 0" (identifier "bVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000d7bec;" (goto "goto") (statement_identifier "LAB_000d7bec") (; ";"))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + 1" (identifier "iVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar15 = puVar15 + 4;" (assignment_expression "puVar15 = puVar15 + 4" (identifier "puVar15") (= "=") (binary_expression "puVar15 + 4" (identifier "puVar15") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar14 != *(int *)(iVar16 + 0x14))" (( "(") (binary_expression "iVar14 != *(int *)(iVar16 + 0x14)" (identifier "iVar14") (!= "!=") (pointer_expression "*(int *)(iVar16 + 0x14)" (* "*") (cast_expression "(int *)(iVar16 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x14)" (( "(") (binary_expression "iVar16 + 0x14" (identifier "iVar16") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6);" (call_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)\n            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6)" (parenthesized_expression "(*(code *)PTR_sqlite3_snprintf_00190a44)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_snprintf_00190a44" (* "*") (cast_expression "(code *)PTR_sqlite3_snprintf_00190a44" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_snprintf_00190a44"))) () ")")) (argument_list "(0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6)" (( "(") (number_literal "0x80") (, ",") (identifier "abStack_9c") (, ",") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x40fc")) (, ",") (identifier "pbVar6") () ")"))) (; ";")) (labeled_statement "LAB_000d7b94:\n  puVar5 = PTR_LAB_00190bc0;" (statement_identifier "LAB_000d7b94") (: ":") (expression_statement "puVar5 = PTR_LAB_00190bc0;" (assignment_expression "puVar5 = PTR_LAB_00190bc0" (identifier "puVar5") (= "=") (identifier "PTR_LAB_00190bc0")) (; ";"))) (expression_statement "pbVar9 = abStack_9c;" (assignment_expression "pbVar9 = abStack_9c" (identifier "pbVar9") (= "=") (identifier "abStack_9c")) (; ";")) (expression_statement "iVar16 = *param_1;" (assignment_expression "iVar16 = *param_1" (identifier "iVar16") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar12 = 1;" (assignment_expression "uVar12 = 1" (identifier "uVar12") (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[5] = 1;" (assignment_expression "param_1[5] = 1" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar11 = (undefined *)0xffffffff;" (assignment_expression "puVar11 = (undefined *)0xffffffff" (identifier "puVar11") (= "=") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "local_b0 = 0xffffffff;" (assignment_expression "local_b0 = 0xffffffff" (identifier "local_b0") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "(*(code *)(puVar5 + -0x2aec))();" (call_expression "(*(code *)(puVar5 + -0x2aec))()" (parenthesized_expression "(*(code *)(puVar5 + -0x2aec))" (( "(") (pointer_expression "*(code *)(puVar5 + -0x2aec)" (* "*") (cast_expression "(code *)(puVar5 + -0x2aec)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + -0x2aec)" (( "(") (binary_expression "puVar5 + -0x2aec" (identifier "puVar5") (+ "+") (number_literal "-0x2aec")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000d7bc4:\n  if (local_1c == *(int *)puVar20) {\n    return *(int *)puVar20;\n  }" (statement_identifier "LAB_000d7bc4") (: ":") (if_statement "if (local_1c == *(int *)puVar20) {\n    return *(int *)puVar20;\n  }" (if "if") (parenthesized_expression "(local_1c == *(int *)puVar20)" (( "(") (binary_expression "local_1c == *(int *)puVar20" (identifier "local_1c") (== "==") (pointer_expression "*(int *)puVar20" (* "*") (cast_expression "(int *)puVar20" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar20")))) () ")")) (compound_statement "{\n    return *(int *)puVar20;\n  }" ({ "{") (return_statement "return *(int *)puVar20;" (return "return") (pointer_expression "*(int *)puVar20" (* "*") (cast_expression "(int *)puVar20" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar20"))) (; ";")) (} "}")))) (expression_statement "puVar20 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar20 = PTR___stack_chk_fail_00190df8" (identifier "puVar20") (= "=") (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 "iVar14 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x14)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar16 + 0x14)" (* "*") (cast_expression "(int *)(iVar16 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x14)" (( "(") (binary_expression "iVar16 + 0x14" (identifier "iVar16") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(puVar20 + 0xb8f08);" (assignment_expression "iVar8 = *(int *)(puVar20 + 0xb8f08)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar20 + 0xb8f08)" (* "*") (cast_expression "(int *)(puVar20 + 0xb8f08)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0xb8f08)" (( "(") (binary_expression "puVar20 + 0xb8f08" (identifier "puVar20") (+ "+") (number_literal "0xb8f08")) () ")"))))) (; ";")) (if_statement "if (0 < iVar14) {\n    iVar18 = *(int *)(puVar20 + 0xb8f08);\n    bVar4 = false;\n    pbVar6 = (byte *)0x1;\n    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }\n    if (bVar4) {\n      return 5;\n    }\n  }" (if "if") (parenthesized_expression "(0 < iVar14)" (( "(") (binary_expression "0 < iVar14" (number_literal "0") (< "<") (identifier "iVar14")) () ")")) (compound_statement "{\n    iVar18 = *(int *)(puVar20 + 0xb8f08);\n    bVar4 = false;\n    pbVar6 = (byte *)0x1;\n    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;\nLAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;\n    if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }\n    if (bVar4) {\n      return 5;\n    }\n  }" ({ "{") (expression_statement "iVar18 = *(int *)(puVar20 + 0xb8f08);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0xb8f08)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(puVar20 + 0xb8f08)" (* "*") (cast_expression "(int *)(puVar20 + 0xb8f08)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0xb8f08)" (( "(") (binary_expression "puVar20 + 0xb8f08" (identifier "puVar20") (+ "+") (number_literal "0xb8f08")) () ")"))))) (; ";")) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" (identifier "bVar4") (= "=") (false "false")) (; ";")) (expression_statement "pbVar6 = (byte *)0x1;" (assignment_expression "pbVar6 = (byte *)0x1" (identifier "pbVar6") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;" (if "if") (parenthesized_expression "(pbVar9 == (byte *)0x0)" (( "(") (binary_expression "pbVar9 == (byte *)0x0" (identifier "pbVar9") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000d7d38;" (goto "goto") (statement_identifier "LAB_000d7d38") (; ";"))) (labeled_statement "LAB_000d7d1c:\n    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;" (statement_identifier "LAB_000d7d1c") (: ":") (if_statement "if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;" (if "if") (parenthesized_expression "(pbVar9 == &DAT_0000000a)" (( "(") (binary_expression "pbVar9 == &DAT_0000000a" (identifier "pbVar9") (== "==") (pointer_expression "&DAT_0000000a" (& "&") (identifier "DAT_0000000a"))) () ")")) (goto_statement "goto LAB_000d7d38;" (goto "goto") (statement_identifier "LAB_000d7d38") (; ";")))) (if_statement "if ((int)pbVar6 < iVar14) {\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }" (if "if") (parenthesized_expression "((int)pbVar6 < iVar14)" (( "(") (binary_expression "(int)pbVar6 < iVar14" (cast_expression "(int)pbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar6")) (< "<") (identifier "iVar14")) () ")")) (compound_statement "{\nLAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );\n    }" ({ "{") (labeled_statement "LAB_000d7d30:\n      do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );" (statement_identifier "LAB_000d7d30") (: ":") (do_statement "do {\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      } while( true );" (do "do") (compound_statement "{\n        bVar2 = pbVar9 != pbVar6;\n        pbVar6 = pbVar6 + 1;\n        if (bVar2) goto LAB_000d7d1c;\nLAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);\n        if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }\nLAB_000d7e18:\n        local_b0 = 0;\n        uVar12 = 0;\n      }" ({ "{") (expression_statement "bVar2 = pbVar9 != pbVar6;" (assignment_expression "bVar2 = pbVar9 != pbVar6" (identifier "bVar2") (= "=") (binary_expression "pbVar9 != pbVar6" (identifier "pbVar9") (!= "!=") (identifier "pbVar6"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + 1;" (assignment_expression "pbVar6 = pbVar6 + 1" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (bVar2) goto LAB_000d7d1c;" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (goto_statement "goto LAB_000d7d1c;" (goto "goto") (statement_identifier "LAB_000d7d1c") (; ";"))) (labeled_statement "LAB_000d7d38:\n        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);" (statement_identifier "LAB_000d7d38") (: ":") (expression_statement "puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);" (assignment_expression "puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc)" (identifier "puVar15") (= "=") (pointer_expression "*(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc)" (* "*") (cast_expression "(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc)" (( "(") (binary_expression "*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc" (binary_expression "*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10" (pointer_expression "*(int *)(iVar16 + 0x10)" (* "*") (cast_expression "(int *)(iVar16 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x10)" (( "(") (binary_expression "iVar16 + 0x10" (identifier "iVar16") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (binary_expression "(int)pbVar6 * 0x10" (cast_expression "(int)pbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar6")) (* "*") (number_literal "0x10"))) (+ "+") (number_literal "-0xc")) () ")"))))) (; ";"))) (if_statement "if (puVar15 == (undefined4 *)0x0) {\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }\n        else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }" (if "if") (parenthesized_expression "(puVar15 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar15 == (undefined4 *)0x0" (identifier "puVar15") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;\n        }" ({ "{") (labeled_statement "LAB_000d7e0c:\n          if (iVar14 <= (int)pbVar6) break;" (statement_identifier "LAB_000d7e0c") (: ":") (if_statement "if (iVar14 <= (int)pbVar6) break;" (if "if") (parenthesized_expression "(iVar14 <= (int)pbVar6)" (( "(") (binary_expression "iVar14 <= (int)pbVar6" (identifier "iVar14") (<= "<=") (cast_expression "(int)pbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar6"))) () ")")) (break_statement "break;" (break "break") (; ";")))) (} "}")) (else_clause "else {\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }" (else "else") (compound_statement "{\n          piVar17 = (int *)puVar15[1];\n          if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }\n          if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }\n          iVar14 = *piVar17;\n          if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }\n          if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }\n          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);\n          if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }\n          iVar14 = *(int *)(iVar16 + 0x14);\n          if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }\n          if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }\n          if (iVar7 != 0) {\n            return iVar7;\n          }\n        }" ({ "{") (expression_statement "piVar17 = (int *)puVar15[1];" (assignment_expression "piVar17 = (int *)puVar15[1]" (identifier "piVar17") (= "=") (cast_expression "(int *)puVar15[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar15[1]" (identifier "puVar15") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (*(char *)((int)puVar15 + 9) != '\0') {\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }" (if "if") (parenthesized_expression "(*(char *)((int)puVar15 + 9) != '\0')" (( "(") (binary_expression "*(char *)((int)puVar15 + 9) != '\0'" (pointer_expression "*(char *)((int)puVar15 + 9)" (* "*") (cast_expression "(char *)((int)puVar15 + 9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar15 + 9)" (( "(") (binary_expression "(int)puVar15 + 9" (cast_expression "(int)puVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar15")) (+ "+") (number_literal "9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            (*(code *)(iVar18 + 0x7108))(puVar15);\n          }" ({ "{") (expression_statement "(*(code *)(iVar18 + 0x7108))(puVar15);" (call_expression "(*(code *)(iVar18 + 0x7108))(puVar15)" (parenthesized_expression "(*(code *)(iVar18 + 0x7108))" (( "(") (pointer_expression "*(code *)(iVar18 + 0x7108)" (* "*") (cast_expression "(code *)(iVar18 + 0x7108)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x7108)" (( "(") (binary_expression "iVar18 + 0x7108" (identifier "iVar18") (+ "+") (number_literal "0x7108")) () ")")))) () ")")) (argument_list "(puVar15)" (( "(") (identifier "puVar15") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(piVar17 + 5) != '\0') {\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }" (if "if") (parenthesized_expression "(*(char *)(piVar17 + 5) != '\0')" (( "(") (binary_expression "*(char *)(piVar17 + 5) != '\0'" (pointer_expression "*(char *)(piVar17 + 5)" (* "*") (cast_expression "(char *)(piVar17 + 5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar17 + 5)" (( "(") (binary_expression "piVar17 + 5" (identifier "piVar17") (+ "+") (number_literal "5")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }\n            iVar16 = puVar15[3];\n            puVar15[3] = iVar16 + -1;\n            if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }\n            return 6;\n          }" ({ "{") (if_statement "if (*(char *)((int)puVar15 + 9) == '\0') {\n              return 6;\n            }" (if "if") (parenthesized_expression "(*(char *)((int)puVar15 + 9) == '\0')" (( "(") (binary_expression "*(char *)((int)puVar15 + 9) == '\0'" (pointer_expression "*(char *)((int)puVar15 + 9)" (* "*") (cast_expression "(char *)((int)puVar15 + 9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar15 + 9)" (( "(") (binary_expression "(int)puVar15 + 9" (cast_expression "(int)puVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar15")) (+ "+") (number_literal "9")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              return 6;\n            }" ({ "{") (return_statement "return 6;" (return "return") (number_literal "6") (; ";")) (} "}"))) (expression_statement "iVar16 = puVar15[3];" (assignment_expression "iVar16 = puVar15[3]" (identifier "iVar16") (= "=") (subscript_expression "puVar15[3]" (identifier "puVar15") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "puVar15[3] = iVar16 + -1;" (assignment_expression "puVar15[3] = iVar16 + -1" (subscript_expression "puVar15[3]" (identifier "puVar15") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "iVar16 + -1" (identifier "iVar16") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar16 + -1 == 0) {\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }" (if "if") (parenthesized_expression "(iVar16 + -1 == 0)" (( "(") (binary_expression "iVar16 + -1 == 0" (binary_expression "iVar16 + -1" (identifier "iVar16") (+ "+") (number_literal "-1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);\n            }" ({ "{") (expression_statement "(*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);" (call_expression "(*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15)" (parenthesized_expression "(*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0)" (* "*") (cast_expression "(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar20 + 0xb8f08) + 0x71f0)" (( "(") (binary_expression "*(int *)(puVar20 + 0xb8f08) + 0x71f0" (pointer_expression "*(int *)(puVar20 + 0xb8f08)" (* "*") (cast_expression "(int *)(puVar20 + 0xb8f08)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0xb8f08)" (( "(") (binary_expression "puVar20 + 0xb8f08" (identifier "puVar20") (+ "+") (number_literal "0xb8f08")) () ")")))) (+ "+") (number_literal "0x71f0")) () ")")))) () ")")) (argument_list "(puVar15)" (( "(") (identifier "puVar15") () ")"))) (; ";")) (} "}"))) (return_statement "return 6;" (return "return") (number_literal "6") (; ";")) (} "}"))) (expression_statement "iVar14 = *piVar17;" (assignment_expression "iVar14 = *piVar17" (identifier "iVar14") (= "=") (pointer_expression "*piVar17" (* "*") (identifier "piVar17"))) (; ";")) (if_statement "if (*(int *)(iVar14 + 0xd8) == 0) {\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar14 + 0xd8) == 0)" (( "(") (binary_expression "*(int *)(iVar14 + 0xd8) == 0" (pointer_expression "*(int *)(iVar14 + 0xd8)" (* "*") (cast_expression "(int *)(iVar14 + 0xd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0xd8)" (( "(") (binary_expression "iVar14 + 0xd8" (identifier "iVar14") (+ "+") (number_literal "0xd8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }\n            iVar14 = *(int *)(iVar16 + 0x14);\n            goto LAB_000d7e0c;\n          }" ({ "{") (if_statement "if (*(char *)((int)puVar15 + 9) != '\0') {\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }" (if "if") (parenthesized_expression "(*(char *)((int)puVar15 + 9) != '\0')" (( "(") (binary_expression "*(char *)((int)puVar15 + 9) != '\0'" (pointer_expression "*(char *)((int)puVar15 + 9)" (* "*") (cast_expression "(char *)((int)puVar15 + 9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar15 + 9)" (( "(") (binary_expression "(int)puVar15 + 9" (cast_expression "(int)puVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar15")) (+ "+") (number_literal "9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              iVar14 = puVar15[3];\n              puVar15[3] = iVar14 + -1;\n              if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }\n              (*(code *)(iVar8 + 0x71f0))(puVar15);\n            }" ({ "{") (expression_statement "iVar14 = puVar15[3];" (assignment_expression "iVar14 = puVar15[3]" (identifier "iVar14") (= "=") (subscript_expression "puVar15[3]" (identifier "puVar15") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "puVar15[3] = iVar14 + -1;" (assignment_expression "puVar15[3] = iVar14 + -1" (subscript_expression "puVar15[3]" (identifier "puVar15") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar14 + -1 != 0) {\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }" (if "if") (parenthesized_expression "(iVar14 + -1 != 0)" (( "(") (binary_expression "iVar14 + -1 != 0" (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                iVar14 = *(int *)(iVar16 + 0x14);\n                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;\n                break;\n              }" ({ "{") (expression_statement "iVar14 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x14)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar16 + 0x14)" (* "*") (cast_expression "(int *)(iVar16 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x14)" (( "(") (binary_expression "iVar16 + 0x14" (identifier "iVar16") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if ((int)pbVar6 < iVar14) goto LAB_000d7e18;" (if "if") (parenthesized_expression "((int)pbVar6 < iVar14)" (( "(") (binary_expression "(int)pbVar6 < iVar14" (cast_expression "(int)pbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar6")) (< "<") (identifier "iVar14")) () ")")) (goto_statement "goto LAB_000d7e18;" (goto "goto") (statement_identifier "LAB_000d7e18") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "(*(code *)(iVar8 + 0x71f0))(puVar15);" (call_expression "(*(code *)(iVar8 + 0x71f0))(puVar15)" (parenthesized_expression "(*(code *)(iVar8 + 0x71f0))" (( "(") (pointer_expression "*(code *)(iVar8 + 0x71f0)" (* "*") (cast_expression "(code *)(iVar8 + 0x71f0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x71f0)" (( "(") (binary_expression "iVar8 + 0x71f0" (identifier "iVar8") (+ "+") (number_literal "0x71f0")) () ")")))) () ")")) (argument_list "(puVar15)" (( "(") (identifier "puVar15") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar14 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x14)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar16 + 0x14)" (* "*") (cast_expression "(int *)(iVar16 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x14)" (( "(") (binary_expression "iVar16 + 0x14" (identifier "iVar16") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (goto_statement "goto LAB_000d7e0c;" (goto "goto") (statement_identifier "LAB_000d7e0c") (; ";")) (} "}"))) (if_statement "if (puVar11 == (undefined *)0x0) {\n            uVar13 = 0;\n          }\n          else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }" (if "if") (parenthesized_expression "(puVar11 == (undefined *)0x0)" (( "(") (binary_expression "puVar11 == (undefined *)0x0" (identifier "puVar11") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            uVar13 = 0;\n          }" ({ "{") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }" (else "else") (compound_statement "{\n            uVar13 = *(undefined4 *)(iVar14 + 0xb0);\n          }" ({ "{") (expression_statement "uVar13 = *(undefined4 *)(iVar14 + 0xb0);" (assignment_expression "uVar13 = *(undefined4 *)(iVar14 + 0xb0)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(iVar14 + 0xb0)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0xb0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0xb0)" (( "(") (binary_expression "iVar14 + 0xb0" (identifier "iVar14") (+ "+") (number_literal "0xb0")) () ")"))))) (; ";")) (} "}")))) (expression_statement "iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0);" (assignment_expression "iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0)" (identifier "iVar7") (= "=") (call_expression "FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0)" (identifier "FUN_000d3a70") (argument_list "(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,\n                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),\n                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,\n                               local_b0)" (( "(") (pointer_expression "*(int *)(iVar14 + 0xd8)" (* "*") (cast_expression "(int *)(iVar14 + 0xd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0xd8)" (( "(") (binary_expression "iVar14 + 0xd8" (identifier "iVar14") (+ "+") (number_literal "0xd8")) () ")")))) (, ",") (pointer_expression "*puVar15" (* "*") (identifier "puVar15")) (, ",") (identifier "puVar11") (, ",") (identifier "uVar13") (, ",") (pointer_expression "*(undefined4 *)(iVar14 + 0xb4)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0xb4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0xb4)" (( "(") (binary_expression "iVar14 + 0xb4" (identifier "iVar14") (+ "+") (number_literal "0xb4")) () ")")))) (, ",") (pointer_expression "*(undefined1 *)(iVar14 + 0xb)" (* "*") (cast_expression "(undefined1 *)(iVar14 + 0xb)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0xb)" (( "(") (binary_expression "iVar14 + 0xb" (identifier "iVar14") (+ "+") (number_literal "0xb")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar14 + 0x98)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x98)" (( "(") (binary_expression "iVar14 + 0x98" (identifier "iVar14") (+ "+") (number_literal "0x98")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar14 + 0xd0)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0xd0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0xd0)" (( "(") (binary_expression "iVar14 + 0xd0" (identifier "iVar14") (+ "+") (number_literal "0xd0")) () ")")))) (, ",") (identifier "uVar12") (, ",") (identifier "local_b0") () ")")))) (; ";")) (if_statement "if ((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }" (if "if") (parenthesized_expression "((*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0))" (( "(") (binary_expression "(*(char *)((int)puVar15 + 9) != '\0') &&\n             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)" (parenthesized_expression "(*(char *)((int)puVar15 + 9) != '\0')" (( "(") (binary_expression "*(char *)((int)puVar15 + 9) != '\0'" (pointer_expression "*(char *)((int)puVar15 + 9)" (* "*") (cast_expression "(char *)((int)puVar15 + 9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar15 + 9)" (( "(") (binary_expression "(int)puVar15 + 9" (cast_expression "(int)puVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar15")) (+ "+") (number_literal "9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)" (( "(") (comma_expression "iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0" (assignment_expression "iVar14 = puVar15[3]" (identifier "iVar14") (= "=") (subscript_expression "puVar15[3]" (identifier "puVar15") ([ "[") (number_literal "3") (] "]"))) (, ",") (comma_expression "puVar15[3] = iVar14 + -1, iVar14 + -1 == 0" (assignment_expression "puVar15[3] = iVar14 + -1" (subscript_expression "puVar15[3]" (identifier "puVar15") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1"))) (, ",") (binary_expression "iVar14 + -1 == 0" (binary_expression "iVar14 + -1" (identifier "iVar14") (+ "+") (number_literal "-1")) (== "==") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n            (*(code *)(iVar8 + 0x71f0))(puVar15);\n          }" ({ "{") (expression_statement "(*(code *)(iVar8 + 0x71f0))(puVar15);" (call_expression "(*(code *)(iVar8 + 0x71f0))(puVar15)" (parenthesized_expression "(*(code *)(iVar8 + 0x71f0))" (( "(") (pointer_expression "*(code *)(iVar8 + 0x71f0)" (* "*") (cast_expression "(code *)(iVar8 + 0x71f0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x71f0)" (( "(") (binary_expression "iVar8 + 0x71f0" (identifier "iVar8") (+ "+") (number_literal "0x71f0")) () ")")))) () ")")) (argument_list "(puVar15)" (( "(") (identifier "puVar15") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar14 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar14 = *(int *)(iVar16 + 0x14)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar16 + 0x14)" (* "*") (cast_expression "(int *)(iVar16 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x14)" (( "(") (binary_expression "iVar16 + 0x14" (identifier "iVar16") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (iVar7 == 5) {\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }" (if "if") (parenthesized_expression "(iVar7 == 5)" (( "(") (binary_expression "iVar7 == 5" (identifier "iVar7") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n            bVar4 = true;\n            if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }\n            local_b0 = 0;\n            uVar12 = 0;\n            goto LAB_000d7d30;\n          }" ({ "{") (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" (identifier "bVar4") (= "=") (true "true")) (; ";")) (if_statement "if (iVar14 <= (int)pbVar6) {\n              return 5;\n            }" (if "if") (parenthesized_expression "(iVar14 <= (int)pbVar6)" (( "(") (binary_expression "iVar14 <= (int)pbVar6" (identifier "iVar14") (<= "<=") (cast_expression "(int)pbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar6"))) () ")")) (compound_statement "{\n              return 5;\n            }" ({ "{") (return_statement "return 5;" (return "return") (number_literal "5") (; ";")) (} "}"))) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000d7d30;" (goto "goto") (statement_identifier "LAB_000d7d30") (; ";")) (} "}"))) (if_statement "if (iVar14 <= (int)pbVar6) {\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }" (if "if") (parenthesized_expression "(iVar14 <= (int)pbVar6)" (( "(") (binary_expression "iVar14 <= (int)pbVar6" (identifier "iVar14") (<= "<=") (cast_expression "(int)pbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar6"))) () ")")) (compound_statement "{\n            if (iVar7 != 0) {\n              return iVar7;\n            }\n            break;\n          }" ({ "{") (if_statement "if (iVar7 != 0) {\n              return iVar7;\n            }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              return iVar7;\n            }" ({ "{") (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (if_statement "if (iVar7 != 0) {\n            return iVar7;\n          }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            return iVar7;\n          }" ({ "{") (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_000d7e18:\n        local_b0 = 0;" (statement_identifier "LAB_000d7e18") (: ":") (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}"))) (if_statement "if (bVar4) {\n      return 5;\n    }" (if "if") (parenthesized_expression "(bVar4)" (( "(") (identifier "bVar4") () ")")) (compound_statement "{\n      return 5;\n    }" ({ "{") (return_statement "return 5;" (return "return") (number_literal "5") (; ";")) (} "}"))) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

void function_1(type_1 *context,int NotUsed,type_2 **argv)

{
  type_3 *pbVar1;
  bool bVar2;
  type_3 var_12;
  bool bVar4;
  type_4 *var_14;
  int var_15;
  type_3 *var_2;
  type_5 *pPVar8;
  int var_20;
  type_6 *var_4;
  type_3 *var_10;
  type_3 *var_11;
  type_4 *var_18;
  int *var_5;
  type_7 *xBusy;
  int var_6;
  type_8 *var_13;
  type_9 *psVar15;
  type_10 *pBVar16;
  int var_17;
  type_11 *pcVar18;
  type_4 *var_16;
  int *piStack_b0;
  char zErr [128];
  
  var_16 = PTR___stack_chk_guard_00190e24;
  var_15 = *(int *)PTR___stack_chk_guard_00190e24;
  var_2 = (type_3 *)(*(type_11 *)(var_1 + 0x6f60))(*argv,1);
  psVar15 = context->pOut->db;
  if (var_2 == (type_3 *)0x0) {
    var_2 = var_3 + 0x30a8;
  }
  if (0 < psVar15->nDb) {
    var_6 = 0;
    var_13 = psVar15->aDb;
    do {
      var_4 = var_13->pBt;
      if (var_4 != (type_6 *)0x0) {
        var_10 = (type_3 *)var_13->zDbSName;
        var_5 = (int *)(type_12)(type_3)PTR_DAT_00190b94[*var_2 - 0x3c18];
        if (var_5 == (int *)(type_12)(type_3)PTR_DAT_00190b94[*var_10 - 0x3c18]) {
          if (*var_10 == 0) {
LAB_000d7bec:
            if (var_6 < 2) {
              (*(type_11 *)PTR_sqlite3_snprintf_00190a44)
                        (0x80,zErr,var_7 + -0x4130,var_2)
              ;
              goto LAB_000d7b94;
            }
            if ((var_4->inTrans != '\0') || (var_4->nBackup != 0)) {
              (*(type_11 *)PTR_sqlite3_snprintf_00190a44)
                        (0x80,zErr,var_7 + -0x4114,var_2)
              ;
              goto LAB_000d7b94;
            }
            var_18 = var_7;
            var_8(var_4);
            var_13->pBt = (type_6 *)0x0;
            pcVar18 = (type_11 *)(var_9 + -0x3fbc);
            var_13->pSchema = (type_13 *)0x0;
            (*pcVar18)();
            goto LAB_000d7bc4;
          }
          var_10 = var_10 + 1;
          var_11 = var_2;
          while( true ) {
            pbVar1 = var_11 + 1;
            var_12 = *var_10;
            var_11 = var_11 + 1;
            if (PTR_DAT_00190b94[var_12 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;
            var_10 = var_10 + 1;
            if (var_12 == 0) goto LAB_000d7bec;
          }
        }
      }
      var_6 = var_6 + 1;
      var_13 = var_13 + 1;
    } while (var_6 != psVar15->nDb);
  }
  (*(type_11 *)PTR_sqlite3_snprintf_00190a44)
            (0x80,zErr,var_7 + -0x40fc,var_2);
LAB_000d7b94:
  var_14 = var_1;
  var_10 = (type_3 *)zErr;
  psVar15 = (type_9 *)context->pOut;
  var_5 = (int *)0x1;
  context->isError = 1;
  var_18 = (type_4 *)0xffffffff;
  piStack_b0 = (int *)0xffffffff;
  (*(type_11 *)(var_14 + -0x2aec))();
LAB_000d7bc4:
  if (var_15 == *(int *)var_16) {
    return;
  }
  var_16 = PTR___stack_chk_fail_00190df8;
  (*(type_11 *)PTR___stack_chk_fail_00190df8)();
  var_15 = psVar15->nDb;
  var_6 = *(int *)(var_16 + 0xb8f08);
  if (0 < var_15) {
    var_17 = *(int *)(var_16 + 0xb8f08);
    bVar4 = false;
    var_2 = (type_3 *)0x1;
    if (var_10 == (type_3 *)0x0) goto LAB_000d7d38;
LAB_000d7d1c:
    if (var_10 == &DAT_0000000a) goto LAB_000d7d38;
    if ((int)var_2 < var_15) {
LAB_000d7d30:
      do {
        bVar2 = var_10 != var_2;
        var_2 = var_2 + 1;
        if (bVar2) goto LAB_000d7d1c;
LAB_000d7d38:
        var_4 = psVar15->aDb[(int)(var_2 + -1)].pBt;
        if (var_4 == (type_6 *)0x0) {
LAB_000d7e0c:
          if (var_15 <= (int)var_2) break;
        }
        else {
          pBVar16 = var_4->pBt;
          if (var_4->sharable != '\0') {
            (*(type_11 *)(var_17 + 0x7108))(var_4);
          }
          if (pBVar16->inTransaction != '\0') {
            if (var_4->sharable == '\0') {
              return;
            }
            var_15 = var_4->wantToLock + -1;
            var_4->wantToLock = var_15;
            if (var_15 != 0) {
              return;
            }
            (*(type_11 *)(*(int *)(var_16 + 0xb8f08) + 0x71f0))(var_4);
            return;
          }
          pPVar8 = pBVar16->pPager;
          if (pPVar8->pWal == (type_14 *)0x0) {
            if (var_4->sharable != '\0') {
              var_15 = var_4->wantToLock + -1;
              var_4->wantToLock = var_15;
              if (var_15 != 0) {
                var_15 = psVar15->nDb;
                if ((int)var_2 < var_15) goto LAB_000d7e18;
                break;
              }
              (*(type_11 *)(var_6 + 0x71f0))(var_4);
            }
            var_15 = psVar15->nDb;
            goto LAB_000d7e0c;
          }
          if (var_18 == (type_4 *)0x0) {
            xBusy = (type_7 *)0x0;
          }
          else {
            xBusy = pPVar8->xBusyHandler;
          }
          var_20 = var_19
                            (pPVar8->pWal,var_4->db,(int)var_18,xBusy,pPVar8->pBusyHandlerArg,
                             (type_12)pPVar8->walSyncFlags,pPVar8->pageSize,(type_15 *)pPVar8->pTmpSpace,
                             var_5,piStack_b0);
          if ((var_4->sharable != '\0') &&
             (var_15 = var_4->wantToLock + -1, var_4->wantToLock = var_15, var_15 == 0)) {
            (*(type_11 *)(var_6 + 0x71f0))(var_4);
          }
          var_15 = psVar15->nDb;
          if (var_20 == 5) {
            bVar4 = true;
            if (var_15 <= (int)var_2) {
              return;
            }
            piStack_b0 = (int *)0x0;
            var_5 = (int *)0x0;
            goto LAB_000d7d30;
          }
          if (var_15 <= (int)var_2) {
            if (var_20 != 0) {
              return;
            }
            break;
          }
          if (var_20 != 0) {
            return;
          }
        }
LAB_000d7e18:
        piStack_b0 = (int *)0x0;
        var_5 = (int *)0x0;
      } while( true );
    }
    if (bVar4) {
      return;
    }
  }
  return;
}


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

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

{
  byte *pbVar1;
  bool bVar2;
  byte bVar3;
  bool bVar4;
  undefined *puVar5;
  byte *pbVar6;
  int iVar7;
  int iVar8;
  byte *pbVar9;
  byte *pbVar10;
  undefined *puVar11;
  uint uVar12;
  undefined4 uVar13;
  int iVar14;
  undefined4 *puVar15;
  int iVar16;
  int *piVar17;
  int iVar18;
  code *pcVar19;
  undefined *puVar20;
  undefined4 local_b0;
  byte abStack_9c [128];
  int local_1c;
  
  puVar20 = PTR___stack_chk_guard_00190e24;
  local_1c = *(int *)PTR___stack_chk_guard_00190e24;
  pbVar6 = (byte *)(*(code *)(PTR_LAB_00190bc0 + 0x6f60))(*param_3,1);
  iVar16 = *(int *)(*param_1 + 0x20);
  if (pbVar6 == (byte *)0x0) {
    pbVar6 = PTR_LAB_00190958 + 0x30a8;
  }
  if (0 < *(int *)(iVar16 + 0x14)) {
    iVar14 = 0;
    puVar15 = *(undefined4 **)(iVar16 + 0x10);
    do {
      iVar8 = puVar15[1];
      if (iVar8 != 0) {
        pbVar9 = (byte *)*puVar15;
        uVar12 = (uint)(byte)PTR_DAT_00190b94[*pbVar6 - 0x3c18];
        if (uVar12 == (byte)PTR_DAT_00190b94[*pbVar9 - 0x3c18]) {
          if (*pbVar9 == 0) {
LAB_000d7bec:
            if (iVar14 < 2) {
              (*(code *)PTR_sqlite3_snprintf_00190a44)
                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4130,
                         pbVar6);
              goto LAB_000d7b94;
            }
            if ((*(char *)(iVar8 + 8) != '\0') || (*(int *)(iVar8 + 0x10) != 0)) {
              (*(code *)PTR_sqlite3_snprintf_00190a44)
                        (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x4114,
                         pbVar6);
              goto LAB_000d7b94;
            }
            puVar11 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
            FUN_000d66bc();
            puVar15[1] = 0;
            pcVar19 = (code *)(PTR_LAB_00190ba4 + -0x3fbc);
            puVar15[3] = 0;
            (*pcVar19)();
            goto LAB_000d7bc4;
          }
          pbVar9 = pbVar9 + 1;
          pbVar10 = pbVar6;
          while( true ) {
            pbVar1 = pbVar10 + 1;
            bVar3 = *pbVar9;
            pbVar10 = pbVar10 + 1;
            if (PTR_DAT_00190b94[bVar3 - 0x3c18] != PTR_DAT_00190b94[*pbVar1 - 0x3c18]) break;
            pbVar9 = pbVar9 + 1;
            if (bVar3 == 0) goto LAB_000d7bec;
          }
        }
      }
      iVar14 = iVar14 + 1;
      puVar15 = puVar15 + 4;
    } while (iVar14 != *(int *)(iVar16 + 0x14));
  }
  (*(code *)PTR_sqlite3_snprintf_00190a44)
            (0x80,abStack_9c,PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x40fc,pbVar6);
LAB_000d7b94:
  puVar5 = PTR_LAB_00190bc0;
  pbVar9 = abStack_9c;
  iVar16 = *param_1;
  uVar12 = 1;
  param_1[5] = 1;
  puVar11 = (undefined *)0xffffffff;
  local_b0 = 0xffffffff;
  (*(code *)(puVar5 + -0x2aec))();
LAB_000d7bc4:
  if (local_1c == *(int *)puVar20) {
    return *(int *)puVar20;
  }
  puVar20 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  iVar14 = *(int *)(iVar16 + 0x14);
  iVar8 = *(int *)(puVar20 + 0xb8f08);
  if (0 < iVar14) {
    iVar18 = *(int *)(puVar20 + 0xb8f08);
    bVar4 = false;
    pbVar6 = (byte *)0x1;
    if (pbVar9 == (byte *)0x0) goto LAB_000d7d38;
LAB_000d7d1c:
    if (pbVar9 == &DAT_0000000a) goto LAB_000d7d38;
    if ((int)pbVar6 < iVar14) {
LAB_000d7d30:
      do {
        bVar2 = pbVar9 != pbVar6;
        pbVar6 = pbVar6 + 1;
        if (bVar2) goto LAB_000d7d1c;
LAB_000d7d38:
        puVar15 = *(undefined4 **)(*(int *)(iVar16 + 0x10) + (int)pbVar6 * 0x10 + -0xc);
        if (puVar15 == (undefined4 *)0x0) {
LAB_000d7e0c:
          if (iVar14 <= (int)pbVar6) break;
        }
        else {
          piVar17 = (int *)puVar15[1];
          if (*(char *)((int)puVar15 + 9) != '\0') {
            (*(code *)(iVar18 + 0x7108))(puVar15);
          }
          if (*(char *)(piVar17 + 5) != '\0') {
            if (*(char *)((int)puVar15 + 9) == '\0') {
              return 6;
            }
            iVar16 = puVar15[3];
            puVar15[3] = iVar16 + -1;
            if (iVar16 + -1 == 0) {
              (*(code *)(*(int *)(puVar20 + 0xb8f08) + 0x71f0))(puVar15);
            }
            return 6;
          }
          iVar14 = *piVar17;
          if (*(int *)(iVar14 + 0xd8) == 0) {
            if (*(char *)((int)puVar15 + 9) != '\0') {
              iVar14 = puVar15[3];
              puVar15[3] = iVar14 + -1;
              if (iVar14 + -1 != 0) {
                iVar14 = *(int *)(iVar16 + 0x14);
                if ((int)pbVar6 < iVar14) goto LAB_000d7e18;
                break;
              }
              (*(code *)(iVar8 + 0x71f0))(puVar15);
            }
            iVar14 = *(int *)(iVar16 + 0x14);
            goto LAB_000d7e0c;
          }
          if (puVar11 == (undefined *)0x0) {
            uVar13 = 0;
          }
          else {
            uVar13 = *(undefined4 *)(iVar14 + 0xb0);
          }
          iVar7 = FUN_000d3a70(*(int *)(iVar14 + 0xd8),*puVar15,puVar11,uVar13,
                               *(undefined4 *)(iVar14 + 0xb4),*(undefined1 *)(iVar14 + 0xb),
                               *(undefined4 *)(iVar14 + 0x98),*(undefined4 *)(iVar14 + 0xd0),uVar12,
                               local_b0);
          if ((*(char *)((int)puVar15 + 9) != '\0') &&
             (iVar14 = puVar15[3], puVar15[3] = iVar14 + -1, iVar14 + -1 == 0)) {
            (*(code *)(iVar8 + 0x71f0))(puVar15);
          }
          iVar14 = *(int *)(iVar16 + 0x14);
          if (iVar7 == 5) {
            bVar4 = true;
            if (iVar14 <= (int)pbVar6) {
              return 5;
            }
            local_b0 = 0;
            uVar12 = 0;
            goto LAB_000d7d30;
          }
          if (iVar14 <= (int)pbVar6) {
            if (iVar7 != 0) {
              return iVar7;
            }
            break;
          }
          if (iVar7 != 0) {
            return iVar7;
          }
        }
LAB_000d7e18:
        local_b0 = 0;
        uVar12 = 0;
      } while( true );
    }
    if (bVar4) {
      return 5;
    }
  }
  return 0;
}

