
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

int fts3SelectLeaf(Fts3Table *p,char *zTerm,int nTerm,char *zNode,int nNode,sqlite3_int64 *piLeaf,
                  sqlite3_int64 *piLeaf2)

{
  uint *puVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  byte bVar9;
  int *piVar5;
  int *piVar6;
  undefined4 *puVar7;
  int iVar8;
  char *pcVar10;
  char **paBlob;
  char **ppcVar11;
  uint uVar12;
  int *piVar13;
  int *piVar14;
  byte *pbVar15;
  int *unaff_s1;
  sqlite3_int64 *unaff_s3;
  int unaff_s4;
  int iVar16;
  byte *pbVar17;
  int iVar18;
  char **unaff_s6;
  char **unaff_s7;
  code *pcVar19;
  undefined *puVar20;
  sqlite3_int64 *unaff_s8;
  uint uVar21;
  longlong lVar22;
  undefined8 uVar23;
  undefined8 *puStack_e4;
  undefined4 uStack_dc;
  undefined8 uStack_d8;
  undefined8 uStack_d0;
  int iStack_c4;
  int iStack_c0;
  int *piStack_bc;
  char **ppcStack_b8;
  sqlite3_int64 *psStack_b4;
  int iStack_b0;
  byte *pbStack_ac;
  char **ppcStack_a8;
  char **ppcStack_a4;
  sqlite3_int64 *psStack_a0;
  code *pcStack_9c;
  char **in_stack_ffffff78;
  char **in_stack_ffffff7c;
  sqlite3_int64 *in_stack_ffffff80;
  int iStack_7c;
  int *piStack_6c;
  char **ppcStack_64;
  int iHeight;
  int nSuffix;
  char *zBlob;
  int nBlob;
  int *piStack_34;
  int iStack_2c;
  
  puVar20 = PTR___stack_chk_guard_0015ba2c;
  ppcStack_64 = (char **)piLeaf;
  iStack_2c = *(int *)PTR___stack_chk_guard_0015ba2c;
  piVar5 = (int *)nTerm;
  piVar14 = (int *)zNode;
  uVar12 = (uint)(byte)*zNode;
  if (*zNode < '\0') {
    (*(code *)(PTR_LAB_0015b65c + 0x1084))(zNode,&iHeight);
    uVar12 = iHeight;
  }
  iHeight = uVar12;
  ppcVar11 = (char **)&nBlob;
  pcVar19 = (code *)(PTR_LAB_0015b65c + 0xf74);
  pbVar15 = (byte *)(zNode + nNode);
  paBlob = ppcVar11;
  iVar3 = (*pcVar19)(zNode);
  iVar4 = (*pcVar19)(zNode + iVar3);
  pbVar17 = (byte *)(zNode + iVar3 + iVar4);
  if (pbVar15 < pbVar17) {
    iVar3 = 0x10b;
  }
  else {
    iVar3 = 0;
    unaff_s3 = piLeaf2;
    unaff_s8 = piLeaf;
    if (pbVar17 < pbVar15) {
      unaff_s1 = (int *)0x0;
      paBlob = (char **)0x1;
      unaff_s6 = &zBlob;
      pcVar19 = (code *)(PTR_LAB_0015b65c + 0x1084);
      piStack_6c = (int *)0x0;
      unaff_s7 = (char **)&nSuffix;
      unaff_s4 = iVar3;
LAB_0011c5a0:
      do {
        if ((unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0))
        goto LAB_0011c878;
        bVar9 = *pbVar17;
        pcVar10 = (char *)(uint)bVar9;
        zBlob = (char *)0x0;
        if (paBlob == (char **)0x0) {
          if ((char)bVar9 < '\0') {
            paBlob = unaff_s6;
            iVar3 = (*pcVar19)(pbVar17,unaff_s6);
          }
          else {
            iVar3 = 1;
            zBlob = pcVar10;
          }
          pbVar17 = pbVar17 + iVar3;
          bVar9 = *pbVar17;
          pcVar10 = (char *)(uint)bVar9;
        }
        if ((char)bVar9 < '\0') {
          paBlob = unaff_s7;
          iVar3 = (*pcVar19)(pbVar17,unaff_s7);
          pbVar17 = pbVar17 + iVar3;
          if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;
LAB_0011c7f0:
          iVar3 = 0x10b;
LAB_0011c7f4:
          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);
          goto LAB_0011c804;
        }
        pbVar17 = pbVar17 + 1;
        nSuffix = (int)pcVar10;
        if ((int)pbVar17 - (int)zNode < (int)zBlob) goto LAB_0011c7f0;
LAB_0011c5f8:
        piVar5 = (int *)nSuffix;
        if ((int)pbVar15 - (int)pbVar17 < nSuffix) goto LAB_0011c7f0;
        piVar14 = (int *)(zBlob + nSuffix);
        piVar5 = (int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f));
        paBlob = (char **)(uint)((int)unaff_s1 < (int)piVar5);
        if ((paBlob != (char **)0x0) ||
           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&
            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))) {
          piStack_6c = (int *)((int)piVar14 * 2);
          unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);
          piVar5 = unaff_s1;
          piVar14 = piStack_6c;
          iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);
          if (iVar3 != 0) goto LAB_0011c684;
          iVar3 = 7;
          goto LAB_0011c7f4;
        }
LAB_0011c684:
        (*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix);
        pbVar17 = pbVar17 + nSuffix;
        piVar14 = (int *)(zBlob + nSuffix);
        piVar5 = (int *)nTerm;
        if ((int)piVar14 < nTerm) {
          piVar5 = piVar14;
        }
        iVar4 = (*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5);
        unaff_s4 = iVar3;
        if (unaff_s8 == (sqlite3_int64 *)0x0) {
LAB_0011c700:
          piVar5 = (int *)((int)piStack_34 + 1);
          if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {
            nBlob = (uint)(piVar5 < piStack_34) + nBlob;
            unaff_s8 = (sqlite3_int64 *)0x0;
            paBlob = (char **)0x0;
            piStack_34 = piVar5;
            if (pbVar15 <= pbVar17) break;
            goto LAB_0011c5a0;
          }
          *(int *)unaff_s3 = nBlob;
          *(int **)((int)unaff_s3 + 4) = piStack_34;
          unaff_s3 = (sqlite3_int64 *)0x0;
        }
        else if ((iVar4 < 0) ||
                ((iVar4 == 0 &&
                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {
          *(int *)unaff_s8 = nBlob;
          *(int **)((int)unaff_s8 + 4) = piStack_34;
          goto LAB_0011c700;
        }
        piVar5 = (int *)((int)piStack_34 + 1);
        nBlob = (uint)(piVar5 < piStack_34) + nBlob;
        paBlob = (char **)0x0;
        piStack_34 = piVar5;
      } while (pbVar17 < pbVar15);
    }
    if (unaff_s8 != (sqlite3_int64 *)0x0) {
      *(int **)((int)unaff_s8 + 4) = piStack_34;
      *(int *)unaff_s8 = nBlob;
    }
    puVar2 = PTR_sqlite3_free_0015b620;
    unaff_s4 = iVar3;
    if (unaff_s3 == (sqlite3_int64 *)0x0) {
LAB_0011c878:
      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);
    }
    else {
      *(int **)((int)unaff_s3 + 4) = piStack_34;
      *(int *)unaff_s3 = nBlob;
      (*(code *)puVar2)(iVar3);
    }
    puVar2 = PTR_LAB_0015b6d4;
    if (iHeight < 2) {
      iVar3 = 0;
    }
    else {
      zBlob = (char *)0x0;
      nBlob = 0;
      if (piLeaf == (sqlite3_int64 *)0x0) {
LAB_0011c928:
        ppcStack_64 = (char **)0x0;
        piVar5 = *(int **)piLeaf2;
        piVar14 = *(int **)((int)piLeaf2 + 4);
LAB_0011c938:
        zBlob = (char *)0x0;
        in_stack_ffffff78 = &zBlob;
        in_stack_ffffff80 = (sqlite3_int64 *)0x0;
        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);
        in_stack_ffffff7c = ppcVar11;
        if (iVar3 == 0) {
          piVar14 = (int *)zBlob;
          in_stack_ffffff78 = (char **)nBlob;
          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);
          paBlob = (char **)zTerm;
          piVar5 = (int *)nTerm;
          in_stack_ffffff7c = ppcStack_64;
          in_stack_ffffff80 = piLeaf2;
        }
      }
      else {
        piVar5 = *(int **)piLeaf;
        piVar14 = *(int **)((int)piLeaf + 4);
        if ((piLeaf2 == (sqlite3_int64 *)0x0) ||
           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&
            (*(int **)((int)piLeaf2 + 4) == piVar14)))) goto LAB_0011c938;
        in_stack_ffffff80 = (sqlite3_int64 *)0x0;
        in_stack_ffffff7c = ppcVar11;
        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);
        if (iVar3 == 0) {
          in_stack_ffffff80 = (sqlite3_int64 *)0x0;
          paBlob = (char **)zTerm;
          piVar5 = (int *)nTerm;
          piVar14 = (int *)zBlob;
          in_stack_ffffff78 = (char **)nBlob;
          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);
          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);
          zBlob = (char *)0x0;
          in_stack_ffffff7c = (char **)piLeaf;
          if (iVar3 == 0) goto LAB_0011c928;
        }
        else {
          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);
          zBlob = (char *)0x0;
        }
      }
      unaff_s1 = (int *)(puVar2 + -0x3d2c);
      zNode = (char *)&zBlob;
      (*(code *)PTR_sqlite3_free_0015b620)(zBlob);
    }
  }
LAB_0011c804:
  if (iStack_2c == *(int *)puVar20) {
    return iVar3;
  }
  pcVar19 = fts3SegReaderCursor;
  iVar4 = iStack_2c;
  puVar20 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  piVar6 = *(int **)(puVar20 + 0x3efec);
  iStack_c4 = *piVar6;
  iStack_c0 = iVar3;
  piStack_bc = unaff_s1;
  ppcStack_b8 = (char **)zNode;
  psStack_b4 = unaff_s3;
  iStack_b0 = unaff_s4;
  pbStack_ac = pbVar17;
  ppcStack_a8 = unaff_s6;
  ppcStack_a4 = unaff_s7;
  psStack_a0 = unaff_s8;
  pcStack_9c = pcVar19;
  if (-1 < (int)piVar14) {
    uStack_d0._0_4_ = (int *)0x0;
    iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ee40) + 0x7f20))();
    piVar13 = uStack_d0._0_4_;
    if (iVar3 != 0) goto LAB_0011cdbc;
    lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);
    uVar12 = (uint)lVar22;
    piVar13 = (int *)(uVar12 * 0x400);
    (**(code **)(puVar20 + 0x3edb8))
              (uStack_d0._0_4_,1,
               (uint)((int *)((int)piVar13 + (int)piVar14) < piVar13) +
               (uVar12 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10) + ((int)piVar14 >> 0x1f));
    goto LAB_0011ceb8;
  }
  if (*(int *)(iVar4 + 0x100) != 0) {
    iVar3 = *(int *)(iVar4 + 0x100) + (int)piVar5 * 0x18;
    if (in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0) {
      uStack_d0._0_4_ =
           (int *)(*(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24))
                            (iVar3 + 4,in_stack_ffffff78,in_stack_ffffff7c);
      if (uStack_d0._0_4_ != (int *)0x0) {
        puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ed20))(0,0x68);
        if (puVar7 != (undefined4 *)0x0) {
          (**(code **)(puVar20 + 0x3ef74))(puVar7 + 1,0,100);
          *puVar7 = 0x7fffffff;
          puVar7[0xe] = puVar7 + 0x18;
          uVar12 = (uint)(puVar7 + 0x18) & 3;
          puVar1 = (uint *)((int)(puVar7 + 0x18) - uVar12);
          *puVar1 = *puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8;
          uVar12 = (int)puVar7 + 99U & 3;
          puVar1 = (uint *)(((int)puVar7 + 99U) - uVar12);
          *puVar1 = *puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |
                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8;
          goto LAB_0011cd88;
        }
        (**(code **)(puVar20 + 0x3ec08))(0);
        iVar3 = 7;
        goto LAB_0011cde0;
      }
    }
    else {
      uStack_d0._0_4_ = *(int **)(iVar3 + 0xc);
      if (uStack_d0._0_4_ == (int *)0x0) {
        (**(code **)(puVar20 + 0x3ebe0))(0);
      }
      else {
        iVar8 = 0;
        iVar3 = 0;
        ppcVar11 = (char **)0x0;
        do {
          unaff_s7 = ppcVar11;
          if ((in_stack_ffffff7c == (char **)0x0) ||
             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&
              (iVar16 = (**(code **)(puVar20 + 0x3efdc))
                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),
              iVar16 == 0)))) {
            if (iVar8 == iVar3) {
              iVar8 = iVar8 + 0x10;
              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);
              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;
            }
            iVar18 = iVar3 + 1;
            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;
          }
          uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;
          iVar3 = iVar18;
          ppcVar11 = unaff_s7;
        } while (uStack_d0._0_4_ != (int *)0x0);
        if (1 < iVar18) {
          (**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);
          goto LAB_0011cd08;
        }
        if (iVar18 != 0) goto LAB_0011d154;
        (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);
      }
    }
  }
  if (piVar14 != (int *)0xffffffff) {
    iVar8 = *(int *)(puVar20 + 0x3ee40);
    goto LAB_0011cc20;
  }
  (**(code **)(puVar20 + 0x3ec08))(0);
  iVar3 = 0;
LAB_0011cde0:
  do {
    while( true ) {
      if (iStack_c4 == *piVar6) {
        return iVar3;
      }
      (**(code **)(puVar20 + 0x3efd0))();
LAB_0011d154:
      iVar18 = 1;
LAB_0011cd08:
      iVar8 = (iVar18 + 0x19) * 4;
      iVar3 = (**(code **)(puVar20 + 0x3ed20))(0,iVar8);
      ppcVar11 = unaff_s7;
      if (iVar3 != 0) break;
LAB_0011ce24:
      (**(code **)(puVar20 + 0x3ebe0))(ppcVar11);
      (**(code **)(puVar20 + 0x3ec08))(0);
      iVar3 = 7;
      unaff_s7 = ppcVar11;
    }
    puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ef74))(iVar3,0,iVar8);
    puVar7[0xe] = puVar7 + 0x18;
    pcVar19 = *(code **)(puVar20 + 0x3eff0);
    *puVar7 = 0x7fffffff;
    (*pcVar19)(puVar7 + 0x18,unaff_s7,iVar8 + -100);
    (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);
LAB_0011cd88:
    iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4))(&_gp,&DAT_001635b4,puVar7);
    if ((piVar14 == (int *)0xffffffff) || (iVar8 = *(int *)(puVar20 + 0x3ee40), iVar3 != 0)) {
      piVar13 = (int *)0x0;
    }
    else {
LAB_0011cc20:
      uStack_d0._0_4_ = (int *)0x0;
      iVar3 = (*(code *)(iVar8 + 0x7f20))(iVar4,0xd,&uStack_d0,0);
      piVar13 = uStack_d0._0_4_;
      if (iVar3 == 0) {
        lVar22 = ((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))
                 * 0x400;
        (**(code **)(puVar20 + 0x3edb8))
                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22);
        lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);
        uVar21 = (uint)lVar22;
        uVar12 = uVar21 * 0x400;
        (**(code **)(puVar20 + 0x3edb8))
                  (uStack_d0._0_4_,2,
                   (uint)(uVar12 + 0x3ff < uVar12) +
                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10));
LAB_0011ceb8:
        piVar13 = uStack_d0._0_4_;
        puStack_e4 = &uStack_d0;
        iVar16 = *(int *)(puVar20 + 0x3ecc0);
        unaff_s7 = (char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0);
        iVar8 = *(int *)(puVar20 + 0x3ec94);
        iVar18 = *(int *)(puVar20 + 0x3ecb8);
        do {
          iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);
          if (iVar3 != 100) break;
          uStack_dc = 0;
          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);
          uStack_d8 = lVar22;
          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);
          uStack_d0 = lVar22;
          uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);
          piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);
          paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);
          if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))
          {
            iVar3 = _DAT_001635b4 + 1;
            ppcVar11 = unaff_s7;
            lVar22 = uStack_d8;
          }
          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {
            iVar3 = (*(code *)(iVar8 + -0x3b54))
                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)
            ;
            if (iVar3 != 0) break;
            iVar3 = _DAT_001635b4 + 1;
            lVar22 = uStack_d8;
            if (iStack_7c == 0) {
              ppcVar11 = (char **)0x1;
              uStack_d0 = uStack_d8;
            }
            else {
              ppcVar11 = (char **)0x0;
            }
          }
          else {
            iVar3 = (*(code *)(iVar8 + -0x3b54))
                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,
                               puStack_e4);
            if (iVar3 != 0) break;
            iVar3 = _DAT_001635b4 + 1;
            ppcVar11 = (char **)0x0;
            lVar22 = uStack_d8;
          }
          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);
          uStack_d8._4_4_ = (undefined4)lVar22;
          iVar3 = (*(code *)(iVar16 + 0x588))
                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,
                             piVar5,&uStack_dc);
          uStack_d8 = lVar22;
          if (iVar3 != 0) break;
          iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);
        } while (iVar3 == 0);
      }
    }
LAB_0011cdbc:
    iVar8 = (**(code **)(puVar20 + 0x3ec08))(piVar13);
    piVar14 = piVar13;
    if (iVar3 == 0x65) {
      iVar3 = iVar8;
    }
  } while( true );
}



/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

int FUN_0011c4ac(undefined4 param_1,byte *****param_2,byte *****param_3,byte *****param_4,
                int param_5,byte *****param_6,int *param_7)

{
  uint *puVar1;
  undefined *puVar2;
  byte ****ppppbVar3;
  byte ****ppppbVar4;
  int iVar5;
  int iVar6;
  byte bVar11;
  byte *****pppppbVar7;
  int *piVar8;
  undefined4 *puVar9;
  int iVar10;
  byte *****pppppbVar12;
  byte *****pppppbVar13;
  uint uVar14;
  byte *****pppppbVar15;
  byte *pbVar16;
  byte *****unaff_s1;
  int *unaff_s3;
  int unaff_s4;
  int iVar17;
  byte *pbVar18;
  int iVar19;
  byte *****unaff_s6;
  byte *****unaff_s7;
  code *pcVar20;
  undefined *puVar21;
  byte *****unaff_s8;
  uint uVar22;
  longlong lVar23;
  undefined8 uVar24;
  undefined8 *puStack_e4;
  undefined4 uStack_dc;
  undefined8 uStack_d8;
  undefined8 uStack_d0;
  int iStack_c4;
  int iStack_c0;
  byte ****ppppbStack_bc;
  byte ****ppppbStack_b8;
  int *piStack_b4;
  int iStack_b0;
  byte *pbStack_ac;
  byte ****ppppbStack_a8;
  byte ****ppppbStack_a4;
  byte ****ppppbStack_a0;
  code *pcStack_9c;
  byte ****local_88;
  byte ****local_84;
  int *local_80;
  int iStack_7c;
  byte ****local_6c;
  byte ****local_64;
  uint local_44;
  byte ****local_40;
  byte ****local_3c;
  byte ****local_38;
  byte ****local_34;
  int local_2c;
  
  puVar21 = PTR___stack_chk_guard_0015ba2c;
  local_64 = (byte ****)param_6;
  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;
  pppppbVar7 = param_3;
  pppppbVar15 = param_4;
  uVar14 = (uint)*(byte *)param_4;
  if ((char)*(byte *)param_4 < '\0') {
    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);
    uVar14 = local_44;
  }
  local_44 = uVar14;
  pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74);
  pbVar16 = (byte *)((int)param_4 + param_5);
  pppppbVar13 = &local_38;
  iVar5 = (*pcVar20)(param_4,&local_38);
  iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5));
  pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6;
  if (pbVar16 < pbVar18) {
    iVar5 = 0x10b;
  }
  else {
    iVar5 = 0;
    unaff_s3 = param_7;
    unaff_s8 = param_6;
    if (pbVar18 < pbVar16) {
      unaff_s1 = (byte *****)0x0;
      pppppbVar13 = (byte *****)0x1;
      unaff_s6 = &local_3c;
      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);
      local_6c = (byte ****)0x0;
      unaff_s7 = &local_40;
      unaff_s4 = iVar5;
LAB_0011c5a0:
      do {
        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;
        bVar11 = *pbVar18;
        pppppbVar12 = (byte *****)(uint)bVar11;
        local_3c = (byte ****)0x0;
        if (pppppbVar13 == (byte *****)0x0) {
          if ((char)bVar11 < '\0') {
            pppppbVar13 = unaff_s6;
            iVar5 = (*pcVar20)(pbVar18,unaff_s6);
          }
          else {
            iVar5 = 1;
            local_3c = (byte ****)pppppbVar12;
          }
          pbVar18 = pbVar18 + iVar5;
          bVar11 = *pbVar18;
          pppppbVar12 = (byte *****)(uint)bVar11;
        }
        if ((char)bVar11 < '\0') {
          pppppbVar13 = unaff_s7;
          iVar5 = (*pcVar20)(pbVar18,unaff_s7);
          pbVar18 = pbVar18 + iVar5;
          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;
LAB_0011c7f0:
          iVar5 = 0x10b;
LAB_0011c7f4:
          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);
          goto LAB_0011c804;
        }
        pbVar18 = pbVar18 + 1;
        local_40 = (byte ****)pppppbVar12;
        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;
LAB_0011c5f8:
        pppppbVar7 = (byte *****)local_40;
        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;
        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);
        pppppbVar7 = (byte *****)
                     ((uint)(pppppbVar15 < local_3c) +
                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));
        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);
        if ((pppppbVar13 != (byte *****)0x0) ||
           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&
            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),
            pppppbVar13 != (byte *****)0x0)))) {
          local_6c = (byte ****)((int)pppppbVar15 * 2);
          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);
          pppppbVar7 = unaff_s1;
          pppppbVar15 = (byte *****)local_6c;
          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);
          if (iVar5 != 0) goto LAB_0011c684;
          iVar5 = 7;
          goto LAB_0011c7f4;
        }
LAB_0011c684:
        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);
        pbVar18 = pbVar18 + (int)local_40;
        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);
        pppppbVar7 = param_3;
        if ((int)pppppbVar15 < (int)param_3) {
          pppppbVar7 = pppppbVar15;
        }
        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);
        unaff_s4 = iVar5;
        if (unaff_s8 == (byte *****)0x0) {
LAB_0011c700:
          pppppbVar7 = (byte *****)((int)local_34 + 1);
          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {
            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);
            unaff_s8 = (byte *****)0x0;
            pppppbVar13 = (byte *****)0x0;
            local_34 = (byte ****)pppppbVar7;
            if (pbVar16 <= pbVar18) break;
            goto LAB_0011c5a0;
          }
          *unaff_s3 = (int)local_38;
          unaff_s3[1] = (int)local_34;
          unaff_s3 = (int *)0x0;
        }
        else if ((iVar6 < 0) ||
                ((iVar6 == 0 &&
                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),
                 pppppbVar15 != (byte *****)0x0)))) {
          *unaff_s8 = local_38;
          unaff_s8[1] = local_34;
          goto LAB_0011c700;
        }
        pppppbVar7 = (byte *****)((int)local_34 + 1);
        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);
        pppppbVar13 = (byte *****)0x0;
        local_34 = (byte ****)pppppbVar7;
      } while (pbVar18 < pbVar16);
    }
    if (unaff_s8 != (byte *****)0x0) {
      unaff_s8[1] = local_34;
      *unaff_s8 = local_38;
    }
    puVar2 = PTR_sqlite3_free_0015b620;
    unaff_s4 = iVar5;
    if (unaff_s3 == (int *)0x0) {
LAB_0011c878:
      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);
    }
    else {
      unaff_s3[1] = (int)local_34;
      *unaff_s3 = (int)local_38;
      (*(code *)puVar2)(iVar5);
    }
    puVar2 = PTR_LAB_0015b6d4;
    if ((int)local_44 < 2) {
      iVar5 = 0;
    }
    else {
      local_3c = (byte ****)0x0;
      local_38 = (byte ****)0x0;
      if (param_6 == (byte *****)0x0) {
LAB_0011c928:
        local_64 = (byte ****)0x0;
        pppppbVar7 = (byte *****)*param_7;
        pppppbVar15 = (byte *****)param_7[1];
LAB_0011c938:
        local_3c = (byte ****)0x0;
        local_88 = (byte ****)&local_3c;
        local_80 = (int *)0x0;
        local_84 = (byte ****)&local_38;
        iVar5 = FUN_0011c2d4(param_1);
        if (iVar5 == 0) {
          local_80 = param_7;
          local_84 = local_64;
          local_88 = local_38;
          pppppbVar15 = (byte *****)local_3c;
          iVar5 = FUN_0011c4ac(param_1,param_2);
          pppppbVar13 = param_2;
          pppppbVar7 = param_3;
        }
      }
      else {
        pppppbVar7 = (byte *****)*param_6;
        pppppbVar15 = (byte *****)param_6[1];
        if ((param_7 == (int *)0x0) ||
           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&
            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;
        local_80 = (int *)0x0;
        local_84 = (byte ****)&local_38;
        iVar5 = FUN_0011c2d4(param_1);
        if (iVar5 == 0) {
          local_84 = (byte ****)param_6;
          local_80 = (int *)0x0;
          local_88 = local_38;
          pppppbVar13 = param_2;
          pppppbVar7 = param_3;
          pppppbVar15 = (byte *****)local_3c;
          iVar5 = FUN_0011c4ac(param_1,param_2);
          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);
          local_3c = (byte ****)0x0;
          if (iVar5 == 0) goto LAB_0011c928;
        }
        else {
          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);
          local_3c = (byte ****)0x0;
        }
      }
      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);
      param_4 = &local_3c;
      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);
    }
  }
LAB_0011c804:
  if (local_2c == *(int *)puVar21) {
    return iVar5;
  }
  pcVar20 = FUN_0011ca40;
  iVar6 = local_2c;
  puVar21 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  ppppbVar4 = local_84;
  ppppbVar3 = local_88;
  piVar8 = *(int **)(puVar21 + 0x3efec);
  iStack_c4 = *piVar8;
  iStack_c0 = iVar5;
  ppppbStack_bc = (byte ****)unaff_s1;
  ppppbStack_b8 = (byte ****)param_4;
  piStack_b4 = unaff_s3;
  iStack_b0 = unaff_s4;
  pbStack_ac = pbVar18;
  ppppbStack_a8 = (byte ****)unaff_s6;
  ppppbStack_a4 = (byte ****)unaff_s7;
  ppppbStack_a0 = (byte ****)unaff_s8;
  pcStack_9c = pcVar20;
  if (-1 < (int)pppppbVar15) {
    uStack_d0._0_4_ = (byte *****)0x0;
    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();
    pppppbVar12 = uStack_d0._0_4_;
    if (iVar5 != 0) goto LAB_0011cdbc;
    lVar23 = (longlong)(int)pppppbVar7 +
             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);
    uVar14 = (uint)lVar23;
    (**(code **)(puVar21 + 0x3edb8))
              (uStack_d0._0_4_,1,
               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +
               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +
               ((int)pppppbVar15 >> 0x1f));
    goto LAB_0011ceb8;
  }
  if (*(int *)(iVar6 + 0x100) != 0) {
    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;
    if (local_80 == (int *)0x0 && iStack_7c == 0) {
      uStack_d0._0_4_ =
           (byte *****)
           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);
      if (uStack_d0._0_4_ != (byte *****)0x0) {
        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);
        if (puVar9 != (undefined4 *)0x0) {
          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);
          *puVar9 = 0x7fffffff;
          puVar9[0xe] = puVar9 + 0x18;
          uVar14 = (uint)(puVar9 + 0x18) & 3;
          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);
          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;
          uVar14 = (int)puVar9 + 99U & 3;
          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);
          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |
                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;
          goto LAB_0011cd88;
        }
        (**(code **)(puVar21 + 0x3ec08))(0);
        iVar5 = 7;
        goto LAB_0011cde0;
      }
    }
    else {
      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);
      if (uStack_d0._0_4_ == (byte *****)0x0) {
        (**(code **)(puVar21 + 0x3ebe0))(0);
      }
      else {
        iVar10 = 0;
        iVar5 = 0;
        pppppbVar12 = (byte *****)0x0;
        do {
          unaff_s7 = pppppbVar12;
          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||
             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&
              (iVar17 = (**(code **)(puVar21 + 0x3efdc))
                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0
              )))) {
            if (iVar10 == iVar5) {
              iVar10 = iVar10 + 0x10;
              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);
              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;
            }
            iVar19 = iVar5 + 1;
            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;
          }
          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;
          iVar5 = iVar19;
          pppppbVar12 = unaff_s7;
        } while (uStack_d0._0_4_ != (byte *****)0x0);
        if (1 < iVar19) {
          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);
          goto LAB_0011cd08;
        }
        if (iVar19 != 0) goto LAB_0011d154;
        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);
      }
    }
  }
  if (pppppbVar15 != (byte *****)0xffffffff) {
    iVar10 = *(int *)(puVar21 + 0x3ee40);
    goto LAB_0011cc20;
  }
  (**(code **)(puVar21 + 0x3ec08))(0);
  iVar5 = 0;
LAB_0011cde0:
  do {
    while( true ) {
      if (iStack_c4 == *piVar8) {
        return iVar5;
      }
      (**(code **)(puVar21 + 0x3efd0))();
LAB_0011d154:
      iVar19 = 1;
LAB_0011cd08:
      iVar10 = (iVar19 + 0x19) * 4;
      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);
      pppppbVar12 = unaff_s7;
      if (iVar5 != 0) break;
LAB_0011ce24:
      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);
      (**(code **)(puVar21 + 0x3ec08))(0);
      iVar5 = 7;
      unaff_s7 = pppppbVar12;
    }
    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);
    puVar9[0xe] = puVar9 + 0x18;
    pcVar20 = *(code **)(puVar21 + 0x3eff0);
    *puVar9 = 0x7fffffff;
    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);
    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);
LAB_0011cd88:
    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);
    if ((pppppbVar15 == (byte *****)0xffffffff) ||
       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {
      pppppbVar12 = (byte *****)0x0;
    }
    else {
LAB_0011cc20:
      uStack_d0._0_4_ = (byte *****)0x0;
      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);
      pppppbVar12 = uStack_d0._0_4_;
      if (iVar5 == 0) {
        lVar23 = ((longlong)(int)pppppbVar7 +
                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;
        (**(code **)(puVar21 + 0x3edb8))
                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);
        lVar23 = (longlong)(int)pppppbVar7 +
                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);
        uVar22 = (uint)lVar23;
        uVar14 = uVar22 * 0x400;
        (**(code **)(puVar21 + 0x3edb8))
                  (uStack_d0._0_4_,2,
                   (uint)(uVar14 + 0x3ff < uVar14) +
                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));
LAB_0011ceb8:
        pppppbVar12 = uStack_d0._0_4_;
        puStack_e4 = &uStack_d0;
        iVar17 = *(int *)(puVar21 + 0x3ecc0);
        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);
        iVar10 = *(int *)(puVar21 + 0x3ec94);
        iVar19 = *(int *)(puVar21 + 0x3ecb8);
        do {
          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);
          if (iVar5 != 100) break;
          uStack_dc = 0;
          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);
          uStack_d8 = lVar23;
          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);
          uStack_d0 = lVar23;
          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);
          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);
          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);
          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||
             (pppppbVar13 == (byte *****)0x0)) {
            iVar5 = _DAT_001635b4 + 1;
            pppppbVar15 = unaff_s7;
            lVar23 = uStack_d8;
          }
          else if (local_80 == (int *)0x0) {
            iVar5 = (*(code *)(iVar10 + -0x3b54))
                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);
            if (iVar5 != 0) break;
            iVar5 = _DAT_001635b4 + 1;
            lVar23 = uStack_d8;
            if (iStack_7c == 0) {
              pppppbVar15 = (byte *****)0x1;
              uStack_d0 = uStack_d8;
            }
            else {
              pppppbVar15 = (byte *****)0x0;
            }
          }
          else {
            iVar5 = (*(code *)(iVar10 + -0x3b54))
                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,
                               puStack_e4);
            if (iVar5 != 0) break;
            iVar5 = _DAT_001635b4 + 1;
            pppppbVar15 = (byte *****)0x0;
            lVar23 = uStack_d8;
          }
          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);
          uStack_d8._4_4_ = (undefined4)lVar23;
          iVar5 = (*(code *)(iVar17 + 0x588))
                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,
                             pppppbVar13,pppppbVar7,&uStack_dc);
          uStack_d8 = lVar23;
          if (iVar5 != 0) break;
          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);
        } while (iVar5 == 0);
      }
    }
LAB_0011cdbc:
    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);
    pppppbVar15 = pppppbVar12;
    if (iVar5 == 0x65) {
      iVar5 = iVar10;
    }
  } while( true );
}


lui gp,0x4
addiu gp,gp,0x7104
addu gp,gp,t9
addiu sp,sp,-0x98
lw v1,-0x7b84(gp)
sw a0,0x48(sp)
sw s2,0x78(sp)
or s2,a3,zero
sw gp,0x20(sp)
sw ra,0x94(sp)
sw s8,0x90(sp)
sw s7,0x8c(sp)
sw s6,0x88(sp)
sw s5,0x84(sp)
sw s4,0x80(sp)
sw s3,0x7c(sp)
sw s1,0x74(sp)
sw s0,0x70(sp)
sw a1,0x3c(sp)
lw a0,0xac(sp)
lbu v0,0x0(a3)
lw a1,0xb0(sp)
sw a0,0x34(sp)
sw v1,0x40(sp)
sw a2,0xa0(sp)
sw a1,0x38(sp)
lw a0,0x0(v1)
seb v1,v0
sw a0,0x6c(sp)
bltz v1,0x0011c8a0
_lw t9,-0x7f54(gp)
sw v0,0x54(sp)
lw t9,-0x7f54(gp)
addiu t6,sp,0x60
or a0,s2,zero
lw s0,0xa8(sp)
sw t6,0x4c(sp)
or a1,t6,zero
addiu t9,t9,0xf74
jalr t9
_addu s0,s2,s0
addu s5,s2,v0
jalr t9
_or a0,s5,zero
addu s5,s5,v0
sltu v0,s0,s5
bne v0,zero,0x0011c8b8
_lw gp,0x20(sp)
sltu v0,s5,s0
beq v0,zero,0x0011ca28
_or s4,zero,zero
lw v0,-0x7f54(gp)
or s1,zero,zero
lw s3,0x38(sp)
li a1,0x1
lw s8,0x34(sp)
addiu s6,sp,0x5c
addiu v0,v0,0x1084
sw zero,0x2c(sp)
addiu s7,sp,0x58
sw v0,0x30(sp)
beq s8,zero,0x0011c870
_nop
lbu a0,0x0(s5)
sw zero,0x5c(sp)
bne a1,zero,0x0011c5d4
_seb v0,a0
bltz v0,0x0011c88c
_lw t9,0x30(sp)
li v0,0x1
sw a0,0x5c(sp)
addu s5,s5,v0
lbu a0,0x0(s5)
seb v0,a0
bltz v0,0x0011c7c8
_li v0,0x1
sw a0,0x58(sp)
lw a0,0x5c(sp)
addu s5,s5,v0
subu v0,s5,s2
slt v0,v0,a0
bne v0,zero,0x0011c7f0
_nop
lw a2,0x58(sp)
subu v0,s0,s5
slt v0,v0,a2
bne v0,zero,0x0011c7f0
_sra v0,a2,0x1f
sra a3,a0,0x1f
addu t3,a0,a2
addu a1,a3,v0
sltu v0,t3,a0
addu v0,v0,a1
slt a1,s1,v0
bne a1,zero,0x0011c644
_nop
bne v0,s1,0x0011c684
_lw t9,-0x7b80(gp)
lw v1,0x2c(sp)
sltu a1,v1,t3
beq a1,zero,0x0011c684
_nop
srl a0,t3,0x1f
lw t9,-0x7e4c(gp)
sll s1,v0,0x1
sll v0,t3,0x1
or s1,a0,s1
sw v0,0x2c(sp)
or a2,s1,zero
or a3,v0,zero
jalr t9
_or a0,s4,zero
beq v0,zero,0x0011c914
_lw gp,0x20(sp)
lw a0,0x5c(sp)
or s4,v0,zero
lw a2,0x58(sp)
lw t9,-0x7b80(gp)
addu a0,s4,a0
jalr t9
_or a1,s5,zero
or a1,s4,zero
lw a3,0x58(sp)
lw v0,0x5c(sp)
lw gp,0x20(sp)
addu s5,s5,a3
lw a0,0x3c(sp)
addu a3,a3,v0
lw v0,0xa0(sp)
lw t9,-0x7b94(gp)
slt a2,a3,v0
sw a3,0x44(sp)
movn v0,a3,a2
jalr t9
_or a2,v0,zero
lw gp,0x20(sp)
lw a3,0x44(sp)
lw a1,0x60(sp)
beq s8,zero,0x0011c700
_lw a0,0x64(sp)
bltz v0,0x0011c6f8
_nop
bne v0,zero,0x0011c71c
_lw v1,0xa0(sp)
slt a3,v1,a3
beq a3,zero,0x0011c71c
_nop
sw a1,0x0(s8)
sw a0,0x4(s8)
beq s3,zero,0x0011c848
_addiu a2,a0,0x1
bgez v0,0x0011c848
_or s8,zero,zero
sw a1,0x0(s3)
sw a0,0x4(s3)
or s3,zero,zero
addiu a2,a0,0x1
sltu v0,s5,s0
sltu a0,a2,a0
sw a2,0x64(sp)
addu a0,a0,a1
or a1,zero,zero
bne v0,zero,0x0011c5a0
_sw a0,0x60(sp)
beq s8,zero,0x0011c750
_lw v1,0x64(sp)
lw v0,0x60(sp)
sw v1,0x4(s8)
sw v0,0x0(s8)
beq s3,zero,0x0011c878
_lw v1,0x64(sp)
or a0,s4,zero
lw v0,0x60(sp)
lw t9,-0x7f90(gp)
sw v1,0x4(s3)
jalr t9
_sw v0,0x0(s3)
lw gp,0x20(sp)
lw v0,0x54(sp)
slti v0,v0,0x2
bne v0,zero,0x0011c90c
_lw v0,0x34(sp)
sw zero,0x5c(sp)
beq v0,zero,0x0011c91c
_sw zero,0x60(sp)
lw v0,0x34(sp)
lw a2,0x0(v0)
lw a3,0x4(v0)
lw v0,0x38(sp)
beq v0,zero,0x0011c9bc
_lw v1,0x38(sp)
lw v0,0x0(v1)
bne v0,a2,0x0011c8c0
_addiu s2,sp,0x5c
lw v0,0x4(v1)
bne v0,a3,0x0011c8c0
_lw s1,-0x7edc(gp)
b 0x0011c938
_addiu s1,s1,-0x3d2c
lw t9,0x30(sp)
or a0,s5,zero
jalr t9
_or a1,s7,zero
addu s5,s5,v0
lw a0,0x5c(sp)
subu v0,s5,s2
slt v0,v0,a0
beq v0,zero,0x0011c5f8
_lw gp,0x20(sp)
li s0,0x10b
lw t9,-0x7f90(gp)
jalr t9
_or a0,s4,zero
lw gp,0x20(sp)
lw v1,0x40(sp)
or v0,s0,zero
lw a0,0x6c(sp)
lw v1,0x0(v1)
bne a0,v1,0x0011ca34
_lw ra,0x94(sp)
lw s8,0x90(sp)
lw s7,0x8c(sp)
lw s6,0x88(sp)
lw s5,0x84(sp)
lw s4,0x80(sp)
lw s3,0x7c(sp)
lw s2,0x78(sp)
lw s1,0x74(sp)
lw s0,0x70(sp)
jr ra
_addiu sp,sp,0x98
sltu v0,s5,s0
sltu a0,a2,a0
sw a2,0x64(sp)
addu a0,a0,a1
or s8,zero,zero
or a1,zero,zero
bne v0,zero,0x0011c5a0
_sw a0,0x60(sp)
b 0x0011c73c
_nop
bne s3,zero,0x0011c5a8
_nop
lw t9,-0x7f90(gp)
jalr t9
_or a0,s4,zero
b 0x0011c774
_lw gp,0x20(sp)
or a1,s6,zero
jalr t9
_or a0,s5,zero
b 0x0011c5c8
_lw gp,0x20(sp)
addiu a1,sp,0x54
addiu t9,t9,0x1084
jalr t9
_or a0,a3,zero
b 0x0011c52c
_lw gp,0x20(sp)
b 0x0011c804
_li s0,0x10b
lw s1,-0x7edc(gp)
lw v0,0x4c(sp)
lw a0,0x48(sp)
addiu s1,s1,-0x3d2c
sw zero,0x18(sp)
sw v0,0x14(sp)
or t9,s1,zero
bal 0x0011c2d4
_sw s2,0x10(sp)
lw gp,0x20(sp)
beq v0,zero,0x0011c9cc
_or s0,v0,zero
lw t9,-0x7f90(gp)
jalr t9
_lw a0,0x5c(sp)
or a0,zero,zero
lw gp,0x20(sp)
b 0x0011c964
_sw zero,0x5c(sp)
b 0x0011c804
_or s0,zero,zero
b 0x0011c7f4
_li s0,0x7
lw s1,-0x7edc(gp)
addiu s2,sp,0x5c
addiu s1,s1,-0x3d2c
lw v0,0x38(sp)
sw zero,0x34(sp)
lw a2,0x0(v0)
lw a3,0x4(v0)
lw v0,0x4c(sp)
or t9,s1,zero
lw a0,0x48(sp)
sw zero,0x18(sp)
sw v0,0x14(sp)
bal 0x0011c2d4
_sw s2,0x10(sp)
lw gp,0x20(sp)
beq v0,zero,0x0011c978
_or s0,v0,zero
lw a0,0x5c(sp)
lw t9,-0x7f90(gp)
jalr t9
_nop
b 0x0011c804
_lw gp,0x20(sp)
lw v0,0x38(sp)
lw t9,-0x7edc(gp)
lw a0,0x48(sp)
lw a2,0xa0(sp)
lw a1,0x3c(sp)
addiu t9,t9,-0x3b54
lw a3,0x5c(sp)
sw v0,0x18(sp)
lw v0,0x34(sp)
sw v0,0x14(sp)
lw v0,0x60(sp)
bal 0x0011c4ac
_sw v0,0x10(sp)
lw gp,0x20(sp)
or s0,v0,zero
b 0x0011c964
_lw a0,0x5c(sp)
lw s1,-0x7edc(gp)
addiu s2,sp,0x5c
b 0x0011c938
_addiu s1,s1,-0x3d2c
lw v0,0x34(sp)
lw t9,-0x7edc(gp)
lw a0,0x48(sp)
lw a2,0xa0(sp)
lw a3,0x5c(sp)
addiu t9,t9,-0x3b54
lw a1,0x3c(sp)
sw v0,0x14(sp)
sw zero,0x18(sp)
lw v0,0x60(sp)
bal 0x0011c4ac
_sw v0,0x10(sp)
lw gp,0x20(sp)
or s0,v0,zero
lw t9,-0x7f90(gp)
jalr t9
_lw a0,0x5c(sp)
or a0,zero,zero
lw gp,0x20(sp)
beq s0,zero,0x0011c928
_sw zero,0x5c(sp)
b 0x0011c968
_lw t9,-0x7f90(gp)
lw s3,0x38(sp)
b 0x0011c73c
_lw s8,0x34(sp)
lw t9,-0x7ba0(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nint FUN_0011c4ac(undefined4 param_1,byte *****param_2,byte *****param_3,byte *****param_4,\n                int param_5,byte *****param_6,int *param_7)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  byte ****ppppbVar3;\n  byte ****ppppbVar4;\n  int iVar5;\n  int iVar6;\n  byte bVar11;\n  byte *****pppppbVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  uint uVar14;\n  byte *****pppppbVar15;\n  byte *pbVar16;\n  byte *****unaff_s1;\n  int *unaff_s3;\n  int unaff_s4;\n  int iVar17;\n  byte *pbVar18;\n  int iVar19;\n  byte *****unaff_s6;\n  byte *****unaff_s7;\n  code *pcVar20;\n  undefined *puVar21;\n  byte *****unaff_s8;\n  uint uVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  undefined8 *puStack_e4;\n  undefined4 uStack_dc;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  int iStack_c4;\n  int iStack_c0;\n  byte ****ppppbStack_bc;\n  byte ****ppppbStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  byte *pbStack_ac;\n  byte ****ppppbStack_a8;\n  byte ****ppppbStack_a4;\n  byte ****ppppbStack_a0;\n  code *pcStack_9c;\n  byte ****local_88;\n  byte ****local_84;\n  int *local_80;\n  int iStack_7c;\n  byte ****local_6c;\n  byte ****local_64;\n  uint local_44;\n  byte ****local_40;\n  byte ****local_3c;\n  byte ****local_38;\n  byte ****local_34;\n  int local_2c;\n  \n  puVar21 = PTR___stack_chk_guard_0015ba2c;\n  local_64 = (byte ****)param_6;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  pppppbVar7 = param_3;\n  pppppbVar15 = param_4;\n  uVar14 = (uint)*(byte *)param_4;\n  if ((char)*(byte *)param_4 < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);\n    uVar14 = local_44;\n  }\n  local_44 = uVar14;\n  pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74);\n  pbVar16 = (byte *)((int)param_4 + param_5);\n  pppppbVar13 = &local_38;\n  iVar5 = (*pcVar20)(param_4,&local_38);\n  iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5));\n  pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6;\n  if (pbVar16 < pbVar18) {\n    iVar5 = 0x10b;\n  }\n  else {\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }\nLAB_0011c804:\n  if (local_2c == *(int *)puVar21) {\n    return iVar5;\n  }\n  pcVar20 = FUN_0011ca40;\n  iVar6 = local_2c;\n  puVar21 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  ppppbVar4 = local_84;\n  ppppbVar3 = local_88;\n  piVar8 = *(int **)(puVar21 + 0x3efec);\n  iStack_c4 = *piVar8;\n  iStack_c0 = iVar5;\n  ppppbStack_bc = (byte ****)unaff_s1;\n  ppppbStack_b8 = (byte ****)param_4;\n  piStack_b4 = unaff_s3;\n  iStack_b0 = unaff_s4;\n  pbStack_ac = pbVar18;\n  ppppbStack_a8 = (byte ****)unaff_s6;\n  ppppbStack_a4 = (byte ****)unaff_s7;\n  ppppbStack_a0 = (byte ****)unaff_s8;\n  pcStack_9c = pcVar20;\n  if (-1 < (int)pppppbVar15) {\n    uStack_d0._0_4_ = (byte *****)0x0;\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();\n    pppppbVar12 = uStack_d0._0_4_;\n    if (iVar5 != 0) goto LAB_0011cdbc;\n    lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n    uVar14 = (uint)lVar23;\n    (**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));\n    goto LAB_0011ceb8;\n  }\n  if (*(int *)(iVar6 + 0x100) != 0) {\n    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;\n    if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }\n  if (pppppbVar15 != (byte *****)0xffffffff) {\n    iVar10 = *(int *)(puVar21 + 0x3ee40);\n    goto LAB_0011cc20;\n  }\n  (**(code **)(puVar21 + 0x3ec08))(0);\n  iVar5 = 0;\nLAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  } while( true );\n}\n\n" comment (function_definition "int FUN_0011c4ac(undefined4 param_1,byte *****param_2,byte *****param_3,byte *****param_4,\n                int param_5,byte *****param_6,int *param_7)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  byte ****ppppbVar3;\n  byte ****ppppbVar4;\n  int iVar5;\n  int iVar6;\n  byte bVar11;\n  byte *****pppppbVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  uint uVar14;\n  byte *****pppppbVar15;\n  byte *pbVar16;\n  byte *****unaff_s1;\n  int *unaff_s3;\n  int unaff_s4;\n  int iVar17;\n  byte *pbVar18;\n  int iVar19;\n  byte *****unaff_s6;\n  byte *****unaff_s7;\n  code *pcVar20;\n  undefined *puVar21;\n  byte *****unaff_s8;\n  uint uVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  undefined8 *puStack_e4;\n  undefined4 uStack_dc;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  int iStack_c4;\n  int iStack_c0;\n  byte ****ppppbStack_bc;\n  byte ****ppppbStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  byte *pbStack_ac;\n  byte ****ppppbStack_a8;\n  byte ****ppppbStack_a4;\n  byte ****ppppbStack_a0;\n  code *pcStack_9c;\n  byte ****local_88;\n  byte ****local_84;\n  int *local_80;\n  int iStack_7c;\n  byte ****local_6c;\n  byte ****local_64;\n  uint local_44;\n  byte ****local_40;\n  byte ****local_3c;\n  byte ****local_38;\n  byte ****local_34;\n  int local_2c;\n  \n  puVar21 = PTR___stack_chk_guard_0015ba2c;\n  local_64 = (byte ****)param_6;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  pppppbVar7 = param_3;\n  pppppbVar15 = param_4;\n  uVar14 = (uint)*(byte *)param_4;\n  if ((char)*(byte *)param_4 < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);\n    uVar14 = local_44;\n  }\n  local_44 = uVar14;\n  pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74);\n  pbVar16 = (byte *)((int)param_4 + param_5);\n  pppppbVar13 = &local_38;\n  iVar5 = (*pcVar20)(param_4,&local_38);\n  iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5));\n  pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6;\n  if (pbVar16 < pbVar18) {\n    iVar5 = 0x10b;\n  }\n  else {\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }\nLAB_0011c804:\n  if (local_2c == *(int *)puVar21) {\n    return iVar5;\n  }\n  pcVar20 = FUN_0011ca40;\n  iVar6 = local_2c;\n  puVar21 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  ppppbVar4 = local_84;\n  ppppbVar3 = local_88;\n  piVar8 = *(int **)(puVar21 + 0x3efec);\n  iStack_c4 = *piVar8;\n  iStack_c0 = iVar5;\n  ppppbStack_bc = (byte ****)unaff_s1;\n  ppppbStack_b8 = (byte ****)param_4;\n  piStack_b4 = unaff_s3;\n  iStack_b0 = unaff_s4;\n  pbStack_ac = pbVar18;\n  ppppbStack_a8 = (byte ****)unaff_s6;\n  ppppbStack_a4 = (byte ****)unaff_s7;\n  ppppbStack_a0 = (byte ****)unaff_s8;\n  pcStack_9c = pcVar20;\n  if (-1 < (int)pppppbVar15) {\n    uStack_d0._0_4_ = (byte *****)0x0;\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();\n    pppppbVar12 = uStack_d0._0_4_;\n    if (iVar5 != 0) goto LAB_0011cdbc;\n    lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n    uVar14 = (uint)lVar23;\n    (**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));\n    goto LAB_0011ceb8;\n  }\n  if (*(int *)(iVar6 + 0x100) != 0) {\n    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;\n    if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }\n  if (pppppbVar15 != (byte *****)0xffffffff) {\n    iVar10 = *(int *)(puVar21 + 0x3ee40);\n    goto LAB_0011cc20;\n  }\n  (**(code **)(puVar21 + 0x3ec08))(0);\n  iVar5 = 0;\nLAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  } while( true );\n}" primitive_type (function_declarator "FUN_0011c4ac(undefined4 param_1,byte *****param_2,byte *****param_3,byte *****param_4,\n                int param_5,byte *****param_6,int *param_7)" identifier (parameter_list "(undefined4 param_1,byte *****param_2,byte *****param_3,byte *****param_4,\n                int param_5,byte *****param_6,int *param_7)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "byte *****param_2" type_identifier (pointer_declarator "*****param_2" * (pointer_declarator "****param_2" * (pointer_declarator "***param_2" * (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier)))))) , (parameter_declaration "byte *****param_3" type_identifier (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier)))))) , (parameter_declaration "byte *****param_4" type_identifier (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier)))))) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "byte *****param_6" type_identifier (pointer_declarator "*****param_6" * (pointer_declarator "****param_6" * (pointer_declarator "***param_6" * (pointer_declarator "**param_6" * (pointer_declarator "*param_6" * identifier)))))) , (parameter_declaration "int *param_7" primitive_type (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  undefined *puVar2;\n  byte ****ppppbVar3;\n  byte ****ppppbVar4;\n  int iVar5;\n  int iVar6;\n  byte bVar11;\n  byte *****pppppbVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  uint uVar14;\n  byte *****pppppbVar15;\n  byte *pbVar16;\n  byte *****unaff_s1;\n  int *unaff_s3;\n  int unaff_s4;\n  int iVar17;\n  byte *pbVar18;\n  int iVar19;\n  byte *****unaff_s6;\n  byte *****unaff_s7;\n  code *pcVar20;\n  undefined *puVar21;\n  byte *****unaff_s8;\n  uint uVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  undefined8 *puStack_e4;\n  undefined4 uStack_dc;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  int iStack_c4;\n  int iStack_c0;\n  byte ****ppppbStack_bc;\n  byte ****ppppbStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  byte *pbStack_ac;\n  byte ****ppppbStack_a8;\n  byte ****ppppbStack_a4;\n  byte ****ppppbStack_a0;\n  code *pcStack_9c;\n  byte ****local_88;\n  byte ****local_84;\n  int *local_80;\n  int iStack_7c;\n  byte ****local_6c;\n  byte ****local_64;\n  uint local_44;\n  byte ****local_40;\n  byte ****local_3c;\n  byte ****local_38;\n  byte ****local_34;\n  int local_2c;\n  \n  puVar21 = PTR___stack_chk_guard_0015ba2c;\n  local_64 = (byte ****)param_6;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  pppppbVar7 = param_3;\n  pppppbVar15 = param_4;\n  uVar14 = (uint)*(byte *)param_4;\n  if ((char)*(byte *)param_4 < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);\n    uVar14 = local_44;\n  }\n  local_44 = uVar14;\n  pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74);\n  pbVar16 = (byte *)((int)param_4 + param_5);\n  pppppbVar13 = &local_38;\n  iVar5 = (*pcVar20)(param_4,&local_38);\n  iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5));\n  pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6;\n  if (pbVar16 < pbVar18) {\n    iVar5 = 0x10b;\n  }\n  else {\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }\nLAB_0011c804:\n  if (local_2c == *(int *)puVar21) {\n    return iVar5;\n  }\n  pcVar20 = FUN_0011ca40;\n  iVar6 = local_2c;\n  puVar21 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  ppppbVar4 = local_84;\n  ppppbVar3 = local_88;\n  piVar8 = *(int **)(puVar21 + 0x3efec);\n  iStack_c4 = *piVar8;\n  iStack_c0 = iVar5;\n  ppppbStack_bc = (byte ****)unaff_s1;\n  ppppbStack_b8 = (byte ****)param_4;\n  piStack_b4 = unaff_s3;\n  iStack_b0 = unaff_s4;\n  pbStack_ac = pbVar18;\n  ppppbStack_a8 = (byte ****)unaff_s6;\n  ppppbStack_a4 = (byte ****)unaff_s7;\n  ppppbStack_a0 = (byte ****)unaff_s8;\n  pcStack_9c = pcVar20;\n  if (-1 < (int)pppppbVar15) {\n    uStack_d0._0_4_ = (byte *****)0x0;\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();\n    pppppbVar12 = uStack_d0._0_4_;\n    if (iVar5 != 0) goto LAB_0011cdbc;\n    lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n    uVar14 = (uint)lVar23;\n    (**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));\n    goto LAB_0011ceb8;\n  }\n  if (*(int *)(iVar6 + 0x100) != 0) {\n    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;\n    if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }\n  if (pppppbVar15 != (byte *****)0xffffffff) {\n    iVar10 = *(int *)(puVar21 + 0x3ee40);\n    goto LAB_0011cc20;\n  }\n  (**(code **)(puVar21 + 0x3ec08))(0);\n  iVar5 = 0;\nLAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  } while( true );\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "byte ****ppppbVar3;" type_identifier (pointer_declarator "****ppppbVar3" * (pointer_declarator "***ppppbVar3" * (pointer_declarator "**ppppbVar3" * (pointer_declarator "*ppppbVar3" * identifier)))) ;) (declaration "byte ****ppppbVar4;" type_identifier (pointer_declarator "****ppppbVar4" * (pointer_declarator "***ppppbVar4" * (pointer_declarator "**ppppbVar4" * (pointer_declarator "*ppppbVar4" * identifier)))) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "byte *****pppppbVar7;" type_identifier (pointer_declarator "*****pppppbVar7" * (pointer_declarator "****pppppbVar7" * (pointer_declarator "***pppppbVar7" * (pointer_declarator "**pppppbVar7" * (pointer_declarator "*pppppbVar7" * identifier))))) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "byte *****pppppbVar12;" type_identifier (pointer_declarator "*****pppppbVar12" * (pointer_declarator "****pppppbVar12" * (pointer_declarator "***pppppbVar12" * (pointer_declarator "**pppppbVar12" * (pointer_declarator "*pppppbVar12" * identifier))))) ;) (declaration "byte *****pppppbVar13;" type_identifier (pointer_declarator "*****pppppbVar13" * (pointer_declarator "****pppppbVar13" * (pointer_declarator "***pppppbVar13" * (pointer_declarator "**pppppbVar13" * (pointer_declarator "*pppppbVar13" * identifier))))) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "byte *****pppppbVar15;" type_identifier (pointer_declarator "*****pppppbVar15" * (pointer_declarator "****pppppbVar15" * (pointer_declarator "***pppppbVar15" * (pointer_declarator "**pppppbVar15" * (pointer_declarator "*pppppbVar15" * identifier))))) ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "byte *****unaff_s1;" type_identifier (pointer_declarator "*****unaff_s1" * (pointer_declarator "****unaff_s1" * (pointer_declarator "***unaff_s1" * (pointer_declarator "**unaff_s1" * (pointer_declarator "*unaff_s1" * identifier))))) ;) (declaration "int *unaff_s3;" primitive_type (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "int unaff_s4;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "byte *****unaff_s6;" type_identifier (pointer_declarator "*****unaff_s6" * (pointer_declarator "****unaff_s6" * (pointer_declarator "***unaff_s6" * (pointer_declarator "**unaff_s6" * (pointer_declarator "*unaff_s6" * identifier))))) ;) (declaration "byte *****unaff_s7;" type_identifier (pointer_declarator "*****unaff_s7" * (pointer_declarator "****unaff_s7" * (pointer_declarator "***unaff_s7" * (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier))))) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "byte *****unaff_s8;" type_identifier (pointer_declarator "*****unaff_s8" * (pointer_declarator "****unaff_s8" * (pointer_declarator "***unaff_s8" * (pointer_declarator "**unaff_s8" * (pointer_declarator "*unaff_s8" * identifier))))) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "longlong lVar23;" type_identifier identifier ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "undefined8 *puStack_e4;" type_identifier (pointer_declarator "*puStack_e4" * identifier) ;) (declaration "undefined4 uStack_dc;" type_identifier identifier ;) (declaration "undefined8 uStack_d8;" type_identifier identifier ;) (declaration "undefined8 uStack_d0;" type_identifier identifier ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "int iStack_c0;" primitive_type identifier ;) (declaration "byte ****ppppbStack_bc;" type_identifier (pointer_declarator "****ppppbStack_bc" * (pointer_declarator "***ppppbStack_bc" * (pointer_declarator "**ppppbStack_bc" * (pointer_declarator "*ppppbStack_bc" * identifier)))) ;) (declaration "byte ****ppppbStack_b8;" type_identifier (pointer_declarator "****ppppbStack_b8" * (pointer_declarator "***ppppbStack_b8" * (pointer_declarator "**ppppbStack_b8" * (pointer_declarator "*ppppbStack_b8" * identifier)))) ;) (declaration "int *piStack_b4;" primitive_type (pointer_declarator "*piStack_b4" * identifier) ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "byte *pbStack_ac;" type_identifier (pointer_declarator "*pbStack_ac" * identifier) ;) (declaration "byte ****ppppbStack_a8;" type_identifier (pointer_declarator "****ppppbStack_a8" * (pointer_declarator "***ppppbStack_a8" * (pointer_declarator "**ppppbStack_a8" * (pointer_declarator "*ppppbStack_a8" * identifier)))) ;) (declaration "byte ****ppppbStack_a4;" type_identifier (pointer_declarator "****ppppbStack_a4" * (pointer_declarator "***ppppbStack_a4" * (pointer_declarator "**ppppbStack_a4" * (pointer_declarator "*ppppbStack_a4" * identifier)))) ;) (declaration "byte ****ppppbStack_a0;" type_identifier (pointer_declarator "****ppppbStack_a0" * (pointer_declarator "***ppppbStack_a0" * (pointer_declarator "**ppppbStack_a0" * (pointer_declarator "*ppppbStack_a0" * identifier)))) ;) (declaration "code *pcStack_9c;" type_identifier (pointer_declarator "*pcStack_9c" * identifier) ;) (declaration "byte ****local_88;" type_identifier (pointer_declarator "****local_88" * (pointer_declarator "***local_88" * (pointer_declarator "**local_88" * (pointer_declarator "*local_88" * identifier)))) ;) (declaration "byte ****local_84;" type_identifier (pointer_declarator "****local_84" * (pointer_declarator "***local_84" * (pointer_declarator "**local_84" * (pointer_declarator "*local_84" * identifier)))) ;) (declaration "int *local_80;" primitive_type (pointer_declarator "*local_80" * identifier) ;) (declaration "int iStack_7c;" primitive_type identifier ;) (declaration "byte ****local_6c;" type_identifier (pointer_declarator "****local_6c" * (pointer_declarator "***local_6c" * (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier)))) ;) (declaration "byte ****local_64;" type_identifier (pointer_declarator "****local_64" * (pointer_declarator "***local_64" * (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)))) ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "byte ****local_40;" type_identifier (pointer_declarator "****local_40" * (pointer_declarator "***local_40" * (pointer_declarator "**local_40" * (pointer_declarator "*local_40" * identifier)))) ;) (declaration "byte ****local_3c;" type_identifier (pointer_declarator "****local_3c" * (pointer_declarator "***local_3c" * (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier)))) ;) (declaration "byte ****local_38;" type_identifier (pointer_declarator "****local_38" * (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier)))) ;) (declaration "byte ****local_34;" type_identifier (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier)))) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar21 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar21 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "local_64 = (byte ****)param_6;" (assignment_expression "local_64 = (byte ****)param_6" identifier = (cast_expression "(byte ****)param_6" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pppppbVar7 = param_3;" (assignment_expression "pppppbVar7 = param_3" identifier = identifier) ;) (expression_statement "pppppbVar15 = param_4;" (assignment_expression "pppppbVar15 = param_4" identifier = identifier) ;) (expression_statement "uVar14 = (uint)*(byte *)param_4;" (assignment_expression "uVar14 = (uint)*(byte *)param_4" identifier = (binary_expression "(uint)*(byte *)param_4" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)param_4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((char)*(byte *)param_4 < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);\n    uVar14 = local_44;\n  }" if (parenthesized_expression "((char)*(byte *)param_4 < '\0')" ( (binary_expression "(char)*(byte *)param_4 < '\0'" (cast_expression "(char)*(byte *)param_4" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)param_4" * (cast_expression "(byte *)param_4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);\n    uVar14 = local_44;\n  }" { (expression_statement "(*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);" (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) )) (argument_list "(param_4,&local_44)" ( identifier , (pointer_expression "&local_44" & identifier) ))) ;) (expression_statement "uVar14 = local_44;" (assignment_expression "uVar14 = local_44" identifier = identifier) ;) })) (expression_statement "local_44 = uVar14;" (assignment_expression "local_44 = uVar14" identifier = identifier) ;) (expression_statement "pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74)" identifier = (cast_expression "(code *)(PTR_LAB_0015b65c + 0xf74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0xf74)" ( (binary_expression "PTR_LAB_0015b65c + 0xf74" identifier + number_literal) )))) ;) (expression_statement "pbVar16 = (byte *)((int)param_4 + param_5);" (assignment_expression "pbVar16 = (byte *)((int)param_4 + param_5)" identifier = (cast_expression "(byte *)((int)param_4 + param_5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_4 + param_5)" ( (binary_expression "(int)param_4 + param_5" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pppppbVar13 = &local_38;" (assignment_expression "pppppbVar13 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "iVar5 = (*pcVar20)(param_4,&local_38);" (assignment_expression "iVar5 = (*pcVar20)(param_4,&local_38)" identifier = (call_expression "(*pcVar20)(param_4,&local_38)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(param_4,&local_38)" ( identifier , (pointer_expression "&local_38" & identifier) )))) ;) (expression_statement "iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5));" (assignment_expression "iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5))" identifier = (call_expression "(*pcVar20)((byte *)((int)param_4 + iVar5))" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "((byte *)((int)param_4 + iVar5))" ( (cast_expression "(byte *)((int)param_4 + iVar5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_4 + iVar5)" ( (binary_expression "(int)param_4 + iVar5" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) )))) ;) (expression_statement "pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6;" (assignment_expression "pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6" identifier = (binary_expression "(byte *)((int)param_4 + iVar5) + iVar6" (cast_expression "(byte *)((int)param_4 + iVar5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_4 + iVar5)" ( (binary_expression "(int)param_4 + iVar5" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) + identifier)) ;) (if_statement "if (pbVar16 < pbVar18) {\n    iVar5 = 0x10b;\n  }\n  else {\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }" if (parenthesized_expression "(pbVar16 < pbVar18)" ( (binary_expression "pbVar16 < pbVar18" identifier < identifier) )) (compound_statement "{\n    iVar5 = 0x10b;\n  }" { (expression_statement "iVar5 = 0x10b;" (assignment_expression "iVar5 = 0x10b" identifier = number_literal) ;) }) (else_clause "else {\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }" else (compound_statement "{\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "unaff_s3 = param_7;" (assignment_expression "unaff_s3 = param_7" identifier = identifier) ;) (expression_statement "unaff_s8 = param_6;" (assignment_expression "unaff_s8 = param_6" identifier = identifier) ;) (if_statement "if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }" if (parenthesized_expression "(pbVar18 < pbVar16)" ( (binary_expression "pbVar18 < pbVar16" identifier < identifier) )) (compound_statement "{\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }" { (expression_statement "unaff_s1 = (byte *****)0x0;" (assignment_expression "unaff_s1 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pppppbVar13 = (byte *****)0x1;" (assignment_expression "pppppbVar13 = (byte *****)0x1" identifier = (cast_expression "(byte *****)0x1" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "unaff_s6 = &local_3c;" (assignment_expression "unaff_s6 = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084)" identifier = (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) ;) (expression_statement "local_6c = (byte ****)0x0;" (assignment_expression "local_6c = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "unaff_s7 = &local_40;" (assignment_expression "unaff_s7 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "unaff_s4 = iVar5;" (assignment_expression "unaff_s4 = iVar5" identifier = identifier) ;) (labeled_statement "LAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);" statement_identifier : (do_statement "do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);" do (compound_statement "{\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      }" { (if_statement "if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;" if (parenthesized_expression "((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0))" ( (binary_expression "(unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)" (parenthesized_expression "(unaff_s8 == (byte *****)0x0)" ( (binary_expression "unaff_s8 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "(unaff_s3 == (int *)0x0)" ( (binary_expression "unaff_s3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_0011c878;" goto statement_identifier ;)) (expression_statement "bVar11 = *pbVar18;" (assignment_expression "bVar11 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pppppbVar12 = (byte *****)(uint)bVar11;" (assignment_expression "pppppbVar12 = (byte *****)(uint)bVar11" identifier = (cast_expression "(byte *****)(uint)bVar11" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (if_statement "if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }" if (parenthesized_expression "(pppppbVar13 == (byte *****)0x0)" ( (binary_expression "pppppbVar13 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }" { (if_statement "if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }" if (parenthesized_expression "((char)bVar11 < '\0')" ( (binary_expression "(char)bVar11 < '\0'" (cast_expression "(char)bVar11" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }" { (expression_statement "pppppbVar13 = unaff_s6;" (assignment_expression "pppppbVar13 = unaff_s6" identifier = identifier) ;) (expression_statement "iVar5 = (*pcVar20)(pbVar18,unaff_s6);" (assignment_expression "iVar5 = (*pcVar20)(pbVar18,unaff_s6)" identifier = (call_expression "(*pcVar20)(pbVar18,unaff_s6)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(pbVar18,unaff_s6)" ( identifier , identifier )))) ;) }) (else_clause "else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }" else (compound_statement "{\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "local_3c = (byte ****)pppppbVar12;" (assignment_expression "local_3c = (byte ****)pppppbVar12" identifier = (cast_expression "(byte ****)pppppbVar12" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) }))) (expression_statement "pbVar18 = pbVar18 + iVar5;" (assignment_expression "pbVar18 = pbVar18 + iVar5" identifier = (binary_expression "pbVar18 + iVar5" identifier + identifier)) ;) (expression_statement "bVar11 = *pbVar18;" (assignment_expression "bVar11 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pppppbVar12 = (byte *****)(uint)bVar11;" (assignment_expression "pppppbVar12 = (byte *****)(uint)bVar11" identifier = (cast_expression "(byte *****)(uint)bVar11" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (if_statement "if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }" if (parenthesized_expression "((char)bVar11 < '\0')" ( (binary_expression "(char)bVar11 < '\0'" (cast_expression "(char)bVar11" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }" { (expression_statement "pppppbVar13 = unaff_s7;" (assignment_expression "pppppbVar13 = unaff_s7" identifier = identifier) ;) (expression_statement "iVar5 = (*pcVar20)(pbVar18,unaff_s7);" (assignment_expression "iVar5 = (*pcVar20)(pbVar18,unaff_s7)" identifier = (call_expression "(*pcVar20)(pbVar18,unaff_s7)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(pbVar18,unaff_s7)" ( identifier , identifier )))) ;) (expression_statement "pbVar18 = pbVar18 + iVar5;" (assignment_expression "pbVar18 = pbVar18 + iVar5" identifier = (binary_expression "pbVar18 + iVar5" identifier + identifier)) ;) (if_statement "if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;" if (parenthesized_expression "((int)local_3c <= (int)pbVar18 - (int)param_4)" ( (binary_expression "(int)local_3c <= (int)pbVar18 - (int)param_4" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "(int)pbVar18 - (int)param_4" (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier))) )) (goto_statement "goto LAB_0011c5f8;" goto statement_identifier ;)) (labeled_statement "LAB_0011c7f0:\n          iVar5 = 0x10b;" statement_identifier : (expression_statement "iVar5 = 0x10b;" (assignment_expression "iVar5 = 0x10b" identifier = number_literal) ;)) (labeled_statement "LAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" statement_identifier : (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s4)" ( identifier ))) ;)) (goto_statement "goto LAB_0011c804;" goto statement_identifier ;) })) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (expression_statement "local_40 = (byte ****)pppppbVar12;" (assignment_expression "local_40 = (byte ****)pppppbVar12" identifier = (cast_expression "(byte ****)pppppbVar12" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;" if (parenthesized_expression "((int)pbVar18 - (int)param_4 < (int)local_3c)" ( (binary_expression "(int)pbVar18 - (int)param_4 < (int)local_3c" (binary_expression "(int)pbVar18 - (int)param_4" (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011c7f0;" goto statement_identifier ;)) (labeled_statement "LAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;" statement_identifier : (expression_statement "pppppbVar7 = (byte *****)local_40;" (assignment_expression "pppppbVar7 = (byte *****)local_40" identifier = (cast_expression "(byte *****)local_40" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;)) (if_statement "if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;" if (parenthesized_expression "((int)pbVar16 - (int)pbVar18 < (int)local_40)" ( (binary_expression "(int)pbVar16 - (int)pbVar18 < (int)local_40" (binary_expression "(int)pbVar16 - (int)pbVar18" (cast_expression "(int)pbVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011c7f0;" goto statement_identifier ;)) (expression_statement "pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);" (assignment_expression "pppppbVar15 = (byte *****)((int)local_3c + (int)local_40)" identifier = (cast_expression "(byte *****)((int)local_3c + (int)local_40)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)local_3c + (int)local_40)" ( (binary_expression "(int)local_3c + (int)local_40" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));" (assignment_expression "pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f))" identifier = (cast_expression "(byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f))" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f))" ( (binary_expression "(uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f)" (binary_expression "(uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f)" (call_expression "(uint)(pppppbVar15 < local_3c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppbVar15 < local_3c)" ( (binary_expression "pppppbVar15 < local_3c" identifier < identifier) ))) + (parenthesized_expression "((int)local_3c >> 0x1f)" ( (binary_expression "(int)local_3c >> 0x1f" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (parenthesized_expression "((int)local_40 >> 0x1f)" ( (binary_expression "(int)local_40 >> 0x1f" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (expression_statement "pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);" (assignment_expression "pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7)" identifier = (cast_expression "(byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(uint)((int)unaff_s1 < (int)pppppbVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s1 < (int)pppppbVar7)" ( (binary_expression "(int)unaff_s1 < (int)pppppbVar7" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppppbVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }" if (parenthesized_expression "((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0))))" ( (binary_expression "(pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))" (parenthesized_expression "(pppppbVar13 != (byte *****)0x0)" ( (binary_expression "pppppbVar13 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) || (parenthesized_expression "((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))" ( (parenthesized_expression "(iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0))" ( (comma_expression "iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)" (assignment_expression "iVar5 = unaff_s4" identifier = identifier) , (binary_expression "pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)" (binary_expression "pppppbVar7 == unaff_s1" identifier == identifier) && (parenthesized_expression "(pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)" ( (comma_expression "pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0" (assignment_expression "pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15)" identifier = (cast_expression "(byte *****)(uint)(local_6c < pppppbVar15)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(uint)(local_6c < pppppbVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_6c < pppppbVar15)" ( (binary_expression "local_6c < pppppbVar15" identifier < identifier) ))))) , (binary_expression "pppppbVar13 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal))) )))) )) ))) )) (compound_statement "{\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }" { (expression_statement "local_6c = (byte ****)((int)pppppbVar15 * 2);" (assignment_expression "local_6c = (byte ****)((int)pppppbVar15 * 2)" identifier = (cast_expression "(byte ****)((int)pppppbVar15 * 2)" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppppbVar15 * 2)" ( (binary_expression "(int)pppppbVar15 * 2" (cast_expression "(int)pppppbVar15" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);" (assignment_expression "unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2)" identifier = (cast_expression "(byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2)" ( (binary_expression "(uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2" (binary_expression "(uint)pppppbVar15 >> 0x1f" (cast_expression "(uint)pppppbVar15" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "(int)pppppbVar7 * 2" (cast_expression "(int)pppppbVar7" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pppppbVar7 = unaff_s1;" (assignment_expression "pppppbVar7 = unaff_s1" identifier = identifier) ;) (expression_statement "pppppbVar15 = (byte *****)local_6c;" (assignment_expression "pppppbVar15 = (byte *****)local_6c" identifier = (cast_expression "(byte *****)local_6c" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4)" identifier = (call_expression "(*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_realloc64_0015b764)" ( (pointer_expression "*(code *)PTR_sqlite3_realloc64_0015b764" * (cast_expression "(code *)PTR_sqlite3_realloc64_0015b764" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s4)" ( identifier )))) ;) (if_statement "if (iVar5 != 0) goto LAB_0011c684;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011c684;" goto statement_identifier ;)) (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_0011c7f4;" goto statement_identifier ;) })) (labeled_statement "LAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);" statement_identifier : (expression_statement "(*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);" (call_expression "(*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((byte *)((int)local_3c + iVar5),pbVar18,local_40)" ( (cast_expression "(byte *)((int)local_3c + iVar5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_3c + iVar5)" ( (binary_expression "(int)local_3c + iVar5" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier , identifier ))) ;)) (expression_statement "pbVar18 = pbVar18 + (int)local_40;" (assignment_expression "pbVar18 = pbVar18 + (int)local_40" identifier = (binary_expression "pbVar18 + (int)local_40" identifier + (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);" (assignment_expression "pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c)" identifier = (cast_expression "(byte *****)((int)local_40 + (int)local_3c)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)local_40 + (int)local_3c)" ( (binary_expression "(int)local_40 + (int)local_3c" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppbVar7 = param_3;" (assignment_expression "pppppbVar7 = param_3" identifier = identifier) ;) (if_statement "if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }" if (parenthesized_expression "((int)pppppbVar15 < (int)param_3)" ( (binary_expression "(int)pppppbVar15 < (int)param_3" (cast_expression "(int)pppppbVar15" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pppppbVar7 = pppppbVar15;\n        }" { (expression_statement "pppppbVar7 = pppppbVar15;" (assignment_expression "pppppbVar7 = pppppbVar15" identifier = identifier) ;) })) (expression_statement "iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);" (assignment_expression "iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7)" identifier = (call_expression "(*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7)" (parenthesized_expression "(*(code *)PTR_memcmp_0015ba1c)" ( (pointer_expression "*(code *)PTR_memcmp_0015ba1c" * (cast_expression "(code *)PTR_memcmp_0015ba1c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,iVar5,pppppbVar7)" ( identifier , identifier , identifier )))) ;) (expression_statement "unaff_s4 = iVar5;" (assignment_expression "unaff_s4 = iVar5" identifier = identifier) ;) (if_statement "if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }" if (parenthesized_expression "(unaff_s8 == (byte *****)0x0)" ( (binary_expression "unaff_s8 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }" { (labeled_statement "LAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);" statement_identifier : (expression_statement "pppppbVar7 = (byte *****)((int)local_34 + 1);" (assignment_expression "pppppbVar7 = (byte *****)((int)local_34 + 1)" identifier = (cast_expression "(byte *****)((int)local_34 + 1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)local_34 + 1)" ( (binary_expression "(int)local_34 + 1" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (if_statement "if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }" if (parenthesized_expression "((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6))" ( (binary_expression "(unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)" (parenthesized_expression "(unaff_s3 == (int *)0x0)" ( (binary_expression "unaff_s3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(unaff_s8 = (byte *****)0x0, -1 < iVar6)" ( (comma_expression "unaff_s8 = (byte *****)0x0, -1 < iVar6" (assignment_expression "unaff_s8 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) , (binary_expression "-1 < iVar6" number_literal < identifier)) ))) )) (compound_statement "{\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }" { (expression_statement "local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);" (assignment_expression "local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38)" identifier = (cast_expression "(byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38)" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)(pppppbVar7 < local_34) + (int)local_38)" ( (binary_expression "(uint)(pppppbVar7 < local_34) + (int)local_38" (call_expression "(uint)(pppppbVar7 < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppbVar7 < local_34)" ( (binary_expression "pppppbVar7 < local_34" identifier < identifier) ))) + (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "unaff_s8 = (byte *****)0x0;" (assignment_expression "unaff_s8 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pppppbVar13 = (byte *****)0x0;" (assignment_expression "pppppbVar13 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_34 = (byte ****)pppppbVar7;" (assignment_expression "local_34 = (byte ****)pppppbVar7" identifier = (cast_expression "(byte ****)pppppbVar7" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (pbVar16 <= pbVar18) break;" if (parenthesized_expression "(pbVar16 <= pbVar18)" ( (binary_expression "pbVar16 <= pbVar18" identifier <= identifier) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0011c5a0;" goto statement_identifier ;) })) (expression_statement "*unaff_s3 = (int)local_38;" (assignment_expression "*unaff_s3 = (int)local_38" (pointer_expression "*unaff_s3" * identifier) = (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "unaff_s3[1] = (int)local_34;" (assignment_expression "unaff_s3[1] = (int)local_34" (subscript_expression "unaff_s3[1]" identifier [ number_literal ]) = (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }" else (if_statement "if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }" if (parenthesized_expression "((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0))))" ( (binary_expression "(iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))" (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))" ( (parenthesized_expression "(iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0))" ( (binary_expression "iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)" (binary_expression "iVar6 == 0" identifier == number_literal) && (parenthesized_expression "(pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)" ( (comma_expression "pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0" (assignment_expression "pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15)" identifier = (cast_expression "(byte *****)(uint)((int)param_3 < (int)pppppbVar15)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(uint)((int)param_3 < (int)pppppbVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)param_3 < (int)pppppbVar15)" ( (binary_expression "(int)param_3 < (int)pppppbVar15" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppppbVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) , (binary_expression "pppppbVar15 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal))) ))) )) ))) )) (compound_statement "{\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }" { (expression_statement "*unaff_s8 = local_38;" (assignment_expression "*unaff_s8 = local_38" (pointer_expression "*unaff_s8" * identifier) = identifier) ;) (expression_statement "unaff_s8[1] = local_34;" (assignment_expression "unaff_s8[1] = local_34" (subscript_expression "unaff_s8[1]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_0011c700;" goto statement_identifier ;) })))) (expression_statement "pppppbVar7 = (byte *****)((int)local_34 + 1);" (assignment_expression "pppppbVar7 = (byte *****)((int)local_34 + 1)" identifier = (cast_expression "(byte *****)((int)local_34 + 1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)local_34 + 1)" ( (binary_expression "(int)local_34 + 1" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);" (assignment_expression "local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38)" identifier = (cast_expression "(byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38)" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)(pppppbVar7 < local_34) + (int)local_38)" ( (binary_expression "(uint)(pppppbVar7 < local_34) + (int)local_38" (call_expression "(uint)(pppppbVar7 < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppbVar7 < local_34)" ( (binary_expression "pppppbVar7 < local_34" identifier < identifier) ))) + (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppbVar13 = (byte *****)0x0;" (assignment_expression "pppppbVar13 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_34 = (byte ****)pppppbVar7;" (assignment_expression "local_34 = (byte ****)pppppbVar7" identifier = (cast_expression "(byte ****)pppppbVar7" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) }) while (parenthesized_expression "(pbVar18 < pbVar16)" ( (binary_expression "pbVar18 < pbVar16" identifier < identifier) )) ;)) })) (if_statement "if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }" if (parenthesized_expression "(unaff_s8 != (byte *****)0x0)" ( (binary_expression "unaff_s8 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }" { (expression_statement "unaff_s8[1] = local_34;" (assignment_expression "unaff_s8[1] = local_34" (subscript_expression "unaff_s8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*unaff_s8 = local_38;" (assignment_expression "*unaff_s8 = local_38" (pointer_expression "*unaff_s8" * identifier) = identifier) ;) })) (expression_statement "puVar2 = PTR_sqlite3_free_0015b620;" (assignment_expression "puVar2 = PTR_sqlite3_free_0015b620" identifier = identifier) ;) (expression_statement "unaff_s4 = iVar5;" (assignment_expression "unaff_s4 = iVar5" identifier = identifier) ;) (if_statement "if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }" if (parenthesized_expression "(unaff_s3 == (int *)0x0)" ( (binary_expression "unaff_s3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }" { (labeled_statement "LAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" statement_identifier : (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s4)" ( identifier ))) ;)) }) (else_clause "else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }" else (compound_statement "{\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }" { (expression_statement "unaff_s3[1] = (int)local_34;" (assignment_expression "unaff_s3[1] = (int)local_34" (subscript_expression "unaff_s3[1]" identifier [ number_literal ]) = (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*unaff_s3 = (int)local_38;" (assignment_expression "*unaff_s3 = (int)local_38" (pointer_expression "*unaff_s3" * identifier) = (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "(*(code *)puVar2)(iVar5);" (call_expression "(*(code *)puVar2)(iVar5)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier ))) ;) }))) (expression_statement "puVar2 = PTR_LAB_0015b6d4;" (assignment_expression "puVar2 = PTR_LAB_0015b6d4" identifier = identifier) ;) (if_statement "if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }" if (parenthesized_expression "((int)local_44 < 2)" ( (binary_expression "(int)local_44 < 2" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      iVar5 = 0;\n    }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }" else (compound_statement "{\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }" { (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "local_38 = (byte ****)0x0;" (assignment_expression "local_38 = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (if_statement "if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }" if (parenthesized_expression "(param_6 == (byte *****)0x0)" ( (binary_expression "param_6 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }" { (labeled_statement "LAB_0011c928:\n        local_64 = (byte ****)0x0;" statement_identifier : (expression_statement "local_64 = (byte ****)0x0;" (assignment_expression "local_64 = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;)) (expression_statement "pppppbVar7 = (byte *****)*param_7;" (assignment_expression "pppppbVar7 = (byte *****)*param_7" identifier = (cast_expression "(byte *****)*param_7" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*param_7" * identifier))) ;) (expression_statement "pppppbVar15 = (byte *****)param_7[1];" (assignment_expression "pppppbVar15 = (byte *****)param_7[1]" identifier = (cast_expression "(byte *****)param_7[1]" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "param_7[1]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_0011c938:\n        local_3c = (byte ****)0x0;" statement_identifier : (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;)) (expression_statement "local_88 = (byte ****)&local_3c;" (assignment_expression "local_88 = (byte ****)&local_3c" identifier = (cast_expression "(byte ****)&local_3c" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&local_3c" & identifier))) ;) (expression_statement "local_80 = (int *)0x0;" (assignment_expression "local_80 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_84 = (byte ****)&local_38;" (assignment_expression "local_84 = (byte ****)&local_38" identifier = (cast_expression "(byte ****)&local_38" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&local_38" & identifier))) ;) (expression_statement "iVar5 = FUN_0011c2d4(param_1);" (assignment_expression "iVar5 = FUN_0011c2d4(param_1)" identifier = (call_expression "FUN_0011c2d4(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }" { (expression_statement "local_80 = param_7;" (assignment_expression "local_80 = param_7" identifier = identifier) ;) (expression_statement "local_84 = local_64;" (assignment_expression "local_84 = local_64" identifier = identifier) ;) (expression_statement "local_88 = local_38;" (assignment_expression "local_88 = local_38" identifier = identifier) ;) (expression_statement "pppppbVar15 = (byte *****)local_3c;" (assignment_expression "pppppbVar15 = (byte *****)local_3c" identifier = (cast_expression "(byte *****)local_3c" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar5 = FUN_0011c4ac(param_1,param_2);" (assignment_expression "iVar5 = FUN_0011c4ac(param_1,param_2)" identifier = (call_expression "FUN_0011c4ac(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (expression_statement "pppppbVar13 = param_2;" (assignment_expression "pppppbVar13 = param_2" identifier = identifier) ;) (expression_statement "pppppbVar7 = param_3;" (assignment_expression "pppppbVar7 = param_3" identifier = identifier) ;) })) }) (else_clause "else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }" else (compound_statement "{\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }" { (expression_statement "pppppbVar7 = (byte *****)*param_6;" (assignment_expression "pppppbVar7 = (byte *****)*param_6" identifier = (cast_expression "(byte *****)*param_6" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*param_6" * identifier))) ;) (expression_statement "pppppbVar15 = (byte *****)param_6[1];" (assignment_expression "pppppbVar15 = (byte *****)param_6[1]" identifier = (cast_expression "(byte *****)param_6[1]" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "param_6[1]" identifier [ number_literal ]))) ;) (if_statement "if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;" if (parenthesized_expression "((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15))))" ( (binary_expression "(param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))" (parenthesized_expression "(param_7 == (int *)0x0)" ( (binary_expression "param_7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))" ( (parenthesized_expression "(local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15))" ( (comma_expression "local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)" (assignment_expression "local_88 = (byte ****)&local_3c" identifier = (cast_expression "(byte ****)&local_3c" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&local_3c" & identifier))) , (binary_expression "(byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)" (binary_expression "(byte *****)*param_7 == pppppbVar7" (cast_expression "(byte *****)*param_7" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*param_7" * identifier)) == identifier) && (parenthesized_expression "((byte *****)param_7[1] == pppppbVar15)" ( (binary_expression "(byte *****)param_7[1] == pppppbVar15" (cast_expression "(byte *****)param_7[1]" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "param_7[1]" identifier [ number_literal ])) == identifier) )))) )) ))) )) (goto_statement "goto LAB_0011c938;" goto statement_identifier ;)) (expression_statement "local_80 = (int *)0x0;" (assignment_expression "local_80 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_84 = (byte ****)&local_38;" (assignment_expression "local_84 = (byte ****)&local_38" identifier = (cast_expression "(byte ****)&local_38" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&local_38" & identifier))) ;) (expression_statement "iVar5 = FUN_0011c2d4(param_1);" (assignment_expression "iVar5 = FUN_0011c2d4(param_1)" identifier = (call_expression "FUN_0011c2d4(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }" { (expression_statement "local_84 = (byte ****)param_6;" (assignment_expression "local_84 = (byte ****)param_6" identifier = (cast_expression "(byte ****)param_6" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "local_80 = (int *)0x0;" (assignment_expression "local_80 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_88 = local_38;" (assignment_expression "local_88 = local_38" identifier = identifier) ;) (expression_statement "pppppbVar13 = param_2;" (assignment_expression "pppppbVar13 = param_2" identifier = identifier) ;) (expression_statement "pppppbVar7 = param_3;" (assignment_expression "pppppbVar7 = param_3" identifier = identifier) ;) (expression_statement "pppppbVar15 = (byte *****)local_3c;" (assignment_expression "pppppbVar15 = (byte *****)local_3c" identifier = (cast_expression "(byte *****)local_3c" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar5 = FUN_0011c4ac(param_1,param_2);" (assignment_expression "iVar5 = FUN_0011c4ac(param_1,param_2)" identifier = (call_expression "FUN_0011c4ac(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(local_3c);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(local_3c)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_3c)" ( identifier ))) ;) (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (if_statement "if (iVar5 == 0) goto LAB_0011c928;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0011c928;" goto statement_identifier ;)) }) (else_clause "else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }" else (compound_statement "{\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }" { (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(local_3c);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(local_3c)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_3c)" ( identifier ))) ;) (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) }))) }))) (expression_statement "unaff_s1 = (byte *****)(puVar2 + -0x3d2c);" (assignment_expression "unaff_s1 = (byte *****)(puVar2 + -0x3d2c)" identifier = (cast_expression "(byte *****)(puVar2 + -0x3d2c)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar2 + -0x3d2c)" ( (binary_expression "puVar2 + -0x3d2c" identifier + number_literal) )))) ;) (expression_statement "param_4 = &local_3c;" (assignment_expression "param_4 = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(local_3c);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(local_3c)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_3c)" ( identifier ))) ;) }))) }))) (labeled_statement "LAB_0011c804:\n  if (local_2c == *(int *)puVar21) {\n    return iVar5;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar21) {\n    return iVar5;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar21)" ( (binary_expression "local_2c == *(int *)puVar21" identifier == (pointer_expression "*(int *)puVar21" * (cast_expression "(int *)puVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar5;\n  }" { (return_statement "return iVar5;" return identifier ;) }))) (expression_statement "pcVar20 = FUN_0011ca40;" (assignment_expression "pcVar20 = FUN_0011ca40" identifier = identifier) ;) (expression_statement "iVar6 = local_2c;" (assignment_expression "iVar6 = local_2c" identifier = identifier) ;) (expression_statement "puVar21 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar21 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "ppppbVar4 = local_84;" (assignment_expression "ppppbVar4 = local_84" identifier = identifier) ;) (expression_statement "ppppbVar3 = local_88;" (assignment_expression "ppppbVar3 = local_88" identifier = identifier) ;) (expression_statement "piVar8 = *(int **)(puVar21 + 0x3efec);" (assignment_expression "piVar8 = *(int **)(puVar21 + 0x3efec)" identifier = (pointer_expression "*(int **)(puVar21 + 0x3efec)" * (cast_expression "(int **)(puVar21 + 0x3efec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3efec)" ( (binary_expression "puVar21 + 0x3efec" identifier + number_literal) ))))) ;) (expression_statement "iStack_c4 = *piVar8;" (assignment_expression "iStack_c4 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "iStack_c0 = iVar5;" (assignment_expression "iStack_c0 = iVar5" identifier = identifier) ;) (expression_statement "ppppbStack_bc = (byte ****)unaff_s1;" (assignment_expression "ppppbStack_bc = (byte ****)unaff_s1" identifier = (cast_expression "(byte ****)unaff_s1" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_b8 = (byte ****)param_4;" (assignment_expression "ppppbStack_b8 = (byte ****)param_4" identifier = (cast_expression "(byte ****)param_4" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "piStack_b4 = unaff_s3;" (assignment_expression "piStack_b4 = unaff_s3" identifier = identifier) ;) (expression_statement "iStack_b0 = unaff_s4;" (assignment_expression "iStack_b0 = unaff_s4" identifier = identifier) ;) (expression_statement "pbStack_ac = pbVar18;" (assignment_expression "pbStack_ac = pbVar18" identifier = identifier) ;) (expression_statement "ppppbStack_a8 = (byte ****)unaff_s6;" (assignment_expression "ppppbStack_a8 = (byte ****)unaff_s6" identifier = (cast_expression "(byte ****)unaff_s6" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_a4 = (byte ****)unaff_s7;" (assignment_expression "ppppbStack_a4 = (byte ****)unaff_s7" identifier = (cast_expression "(byte ****)unaff_s7" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_a0 = (byte ****)unaff_s8;" (assignment_expression "ppppbStack_a0 = (byte ****)unaff_s8" identifier = (cast_expression "(byte ****)unaff_s8" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pcStack_9c = pcVar20;" (assignment_expression "pcStack_9c = pcVar20" identifier = identifier) ;) (if_statement "if (-1 < (int)pppppbVar15) {\n    uStack_d0._0_4_ = (byte *****)0x0;\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();\n    pppppbVar12 = uStack_d0._0_4_;\n    if (iVar5 != 0) goto LAB_0011cdbc;\n    lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n    uVar14 = (uint)lVar23;\n    (**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));\n    goto LAB_0011ceb8;\n  }" if (parenthesized_expression "(-1 < (int)pppppbVar15)" ( (binary_expression "-1 < (int)pppppbVar15" number_literal < (cast_expression "(int)pppppbVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    uStack_d0._0_4_ = (byte *****)0x0;\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();\n    pppppbVar12 = uStack_d0._0_4_;\n    if (iVar5 != 0) goto LAB_0011cdbc;\n    lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n    uVar14 = (uint)lVar23;\n    (**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));\n    goto LAB_0011ceb8;\n  }" { (expression_statement "uStack_d0._0_4_ = (byte *****)0x0;" (assignment_expression "uStack_d0._0_4_ = (byte *****)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();" (assignment_expression "iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))()" identifier = (call_expression "(*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))()" (parenthesized_expression "(*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))" ( (pointer_expression "*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20)" * (cast_expression "(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x3ee40) + 0x7f20)" ( (binary_expression "*(int *)(puVar21 + 0x3ee40) + 0x7f20" (pointer_expression "*(int *)(puVar21 + 0x3ee40)" * (cast_expression "(int *)(puVar21 + 0x3ee40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ee40)" ( (binary_expression "puVar21 + 0x3ee40" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (expression_statement "pppppbVar12 = uStack_d0._0_4_;" (assignment_expression "pppppbVar12 = uStack_d0._0_4_" identifier = (field_expression "uStack_d0._0_4_" identifier . field_identifier)) ;) (if_statement "if (iVar5 != 0) goto LAB_0011cdbc;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011cdbc;" goto statement_identifier ;)) (expression_statement "lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);" (assignment_expression "lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" identifier = (binary_expression "(longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (cast_expression "(longlong)(int)pppppbVar7" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)pppppbVar7" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (binary_expression "(longlong)(int)pppppbVar13 * (longlong)" (cast_expression "(longlong)(int)pppppbVar13" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)pppppbVar13" ( (type_descriptor "int" primitive_type) ) identifier)) * (parenthesized_expression "(longlong)" ( identifier ))) * (cast_expression "(int *)(iVar6 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xfc)" ( (binary_expression "iVar6 + 0xfc" identifier + number_literal) )))))) ;) (expression_statement "uVar14 = (uint)lVar23;" (assignment_expression "uVar14 = (uint)lVar23" identifier = (cast_expression "(uint)lVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));" (call_expression "(**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f))" (parenthesized_expression "(**(code **)(puVar21 + 0x3edb8))" ( (pointer_expression "**(code **)(puVar21 + 0x3edb8)" * (pointer_expression "*(code **)(puVar21 + 0x3edb8)" * (cast_expression "(code **)(puVar21 + 0x3edb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3edb8)" ( (binary_expression "puVar21 + 0x3edb8" identifier + number_literal) ))))) )) (argument_list "(uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f))" ( (field_expression "uStack_d0._0_4_" identifier . field_identifier) , number_literal , (binary_expression "(uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f)" (binary_expression "(uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10)" (call_expression "(uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400))" ( (binary_expression "pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)" (binary_expression "pppppbVar15 + uVar14 * 0x100" identifier + (binary_expression "uVar14 * 0x100" identifier * number_literal)) < (cast_expression "(byte *****)(uVar14 * 0x400)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(uVar14 * 0x400)" ( (binary_expression "uVar14 * 0x400" identifier * number_literal) )))) ))) + (parenthesized_expression "(uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10)" ( (binary_expression "uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10" (binary_expression "uVar14 >> 0x16" identifier >> number_literal) | (binary_expression "(int)((ulonglong)lVar23 >> 0x20) << 10" (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) << number_literal)) ))) + (parenthesized_expression "((int)pppppbVar15 >> 0x1f)" ( (binary_expression "(int)pppppbVar15 >> 0x1f" (cast_expression "(int)pppppbVar15" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) ))) ;) (goto_statement "goto LAB_0011ceb8;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar6 + 0x100) != 0) {\n    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;\n    if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(iVar6 + 0x100) != 0)" ( (binary_expression "*(int *)(iVar6 + 0x100) != 0" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;\n    if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }" { (expression_statement "iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;" (assignment_expression "iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18" identifier = (binary_expression "*(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) + (binary_expression "(int)pppppbVar7 * 0x18" (cast_expression "(int)pppppbVar7" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (if_statement "if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }" if (parenthesized_expression "(local_80 == (int *)0x0 && iStack_7c == 0)" ( (binary_expression "local_80 == (int *)0x0 && iStack_7c == 0" (binary_expression "local_80 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "iStack_7c == 0" identifier == number_literal)) )) (compound_statement "{\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }" { (expression_statement "uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);" (assignment_expression "uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84)" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (cast_expression "(byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84)" (parenthesized_expression "(*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))" ( (pointer_expression "*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24)" * (cast_expression "(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x3ec80) + -0x2c24)" ( (binary_expression "*(int *)(puVar21 + 0x3ec80) + -0x2c24" (pointer_expression "*(int *)(puVar21 + 0x3ec80)" * (cast_expression "(int *)(puVar21 + 0x3ec80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ec80)" ( (binary_expression "puVar21 + 0x3ec80" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar5 + 4,local_88,local_84)" ( (binary_expression "iVar5 + 4" identifier + number_literal) , identifier , identifier ))))) ;) (if_statement "if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }" if (parenthesized_expression "(uStack_d0._0_4_ != (byte *****)0x0)" ( (binary_expression "uStack_d0._0_4_ != (byte *****)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }" { (expression_statement "puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);" (assignment_expression "puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar21 + 0x3ed20))(0,0x68)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ed20))" ( (pointer_expression "**(code **)(puVar21 + 0x3ed20)" * (pointer_expression "*(code **)(puVar21 + 0x3ed20)" * (cast_expression "(code **)(puVar21 + 0x3ed20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ed20)" ( (binary_expression "puVar21 + 0x3ed20" identifier + number_literal) ))))) )) (argument_list "(0,0x68)" ( number_literal , number_literal ))))) ;) (if_statement "if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }" if (parenthesized_expression "(puVar9 != (undefined4 *)0x0)" ( (binary_expression "puVar9 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }" { (expression_statement "(**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);" (call_expression "(**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ef74))" ( (pointer_expression "**(code **)(puVar21 + 0x3ef74)" * (pointer_expression "*(code **)(puVar21 + 0x3ef74)" * (cast_expression "(code **)(puVar21 + 0x3ef74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ef74)" ( (binary_expression "puVar21 + 0x3ef74" identifier + number_literal) ))))) )) (argument_list "(puVar9 + 1,0,100)" ( (binary_expression "puVar9 + 1" identifier + number_literal) , number_literal , number_literal ))) ;) (expression_statement "*puVar9 = 0x7fffffff;" (assignment_expression "*puVar9 = 0x7fffffff" (pointer_expression "*puVar9" * identifier) = number_literal) ;) (expression_statement "puVar9[0xe] = puVar9 + 0x18;" (assignment_expression "puVar9[0xe] = puVar9 + 0x18" (subscript_expression "puVar9[0xe]" identifier [ number_literal ]) = (binary_expression "puVar9 + 0x18" identifier + number_literal)) ;) (expression_statement "uVar14 = (uint)(puVar9 + 0x18) & 3;" (assignment_expression "uVar14 = (uint)(puVar9 + 0x18) & 3" identifier = (binary_expression "(uint)(puVar9 + 0x18) & 3" (call_expression "(uint)(puVar9 + 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar9 + 0x18)" ( (binary_expression "puVar9 + 0x18" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);" (assignment_expression "puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14)" identifier = (cast_expression "(uint *)((int)(puVar9 + 0x18) - uVar14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(puVar9 + 0x18) - uVar14)" ( (binary_expression "(int)(puVar9 + 0x18) - uVar14" (cast_expression "(int)(puVar9 + 0x18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar9 + 0x18)" ( (binary_expression "puVar9 + 0x18" identifier + number_literal) ))) - identifier) )))) ;) (expression_statement "*puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;" (assignment_expression "*puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8" (binary_expression "*puVar1 & -1 << (4 - uVar14) * 8" (pointer_expression "*puVar1" * identifier) & (binary_expression "-1 << (4 - uVar14) * 8" number_literal << (binary_expression "(4 - uVar14) * 8" (parenthesized_expression "(4 - uVar14)" ( (binary_expression "4 - uVar14" number_literal - identifier) )) * number_literal))) | (binary_expression "(uint)uStack_d0._0_4_ >> uVar14 * 8" (cast_expression "(uint)uStack_d0._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "uStack_d0._0_4_" identifier . field_identifier)) >> (binary_expression "uVar14 * 8" identifier * number_literal)))) ;) (expression_statement "uVar14 = (int)puVar9 + 99U & 3;" (assignment_expression "uVar14 = (int)puVar9 + 99U & 3" identifier = (binary_expression "(int)puVar9 + 99U & 3" (binary_expression "(int)puVar9 + 99U" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) & number_literal)) ;) (expression_statement "puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);" (assignment_expression "puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14)" identifier = (cast_expression "(uint *)(((int)puVar9 + 99U) - uVar14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)puVar9 + 99U) - uVar14)" ( (binary_expression "((int)puVar9 + 99U) - uVar14" (parenthesized_expression "((int)puVar9 + 99U)" ( (binary_expression "(int)puVar9 + 99U" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - identifier) )))) ;) (expression_statement "*puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;" (assignment_expression "*puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8" (binary_expression "*puVar1 & 0xffffffffU >> (uVar14 + 1) * 8" (pointer_expression "*puVar1" * identifier) & (binary_expression "0xffffffffU >> (uVar14 + 1) * 8" number_literal >> (binary_expression "(uVar14 + 1) * 8" (parenthesized_expression "(uVar14 + 1)" ( (binary_expression "uVar14 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "(int)uStack_d0._0_4_ << (3 - uVar14) * 8" (cast_expression "(int)uStack_d0._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "uStack_d0._0_4_" identifier . field_identifier)) << (binary_expression "(3 - uVar14) * 8" (parenthesized_expression "(3 - uVar14)" ( (binary_expression "3 - uVar14" number_literal - identifier) )) * number_literal)))) ;) (goto_statement "goto LAB_0011cd88;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar21 + 0x3ec08))(0);" (call_expression "(**(code **)(puVar21 + 0x3ec08))(0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec08))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec08)" * (pointer_expression "*(code **)(puVar21 + 0x3ec08)" * (cast_expression "(code **)(puVar21 + 0x3ec08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec08)" ( (binary_expression "puVar21 + 0x3ec08" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_0011cde0;" goto statement_identifier ;) })) }) (else_clause "else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }" else (compound_statement "{\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }" { (expression_statement "uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);" (assignment_expression "uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc)" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (pointer_expression "*(byte ******)(iVar5 + 0xc)" * (cast_expression "(byte ******)(iVar5 + 0xc)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }" if (parenthesized_expression "(uStack_d0._0_4_ == (byte *****)0x0)" ( (binary_expression "uStack_d0._0_4_ == (byte *****)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }" { (expression_statement "(**(code **)(puVar21 + 0x3ebe0))(0);" (call_expression "(**(code **)(puVar21 + 0x3ebe0))(0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebe0))" ( (pointer_expression "**(code **)(puVar21 + 0x3ebe0)" * (pointer_expression "*(code **)(puVar21 + 0x3ebe0)" * (cast_expression "(code **)(puVar21 + 0x3ebe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ebe0)" ( (binary_expression "puVar21 + 0x3ebe0" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) }) (else_clause "else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }" else (compound_statement "{\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "pppppbVar12 = (byte *****)0x0;" (assignment_expression "pppppbVar12 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (do_statement "do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);" do (compound_statement "{\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        }" { (expression_statement "unaff_s7 = pppppbVar12;" (assignment_expression "unaff_s7 = pppppbVar12" identifier = identifier) ;) (if_statement "if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }" if (parenthesized_expression "(((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              ))))" ( (binary_expression "((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))" (parenthesized_expression "((byte *****)ppppbVar4 == (byte *****)0x0)" ( (binary_expression "(byte *****)ppppbVar4 == (byte *****)0x0" (cast_expression "(byte *****)ppppbVar4" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) || (parenthesized_expression "((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))" ( (parenthesized_expression "(iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              ))" ( (comma_expression "iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )" (assignment_expression "iVar19 = iVar5" identifier = identifier) , (binary_expression "(int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )" (binary_expression "(int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4]" (cast_expression "(int)ppppbVar4" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)((byte ****)uStack_d0._0_4_)[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((byte ****)uStack_d0._0_4_)[4]" (parenthesized_expression "((byte ****)uStack_d0._0_4_)" ( (cast_expression "(byte ****)uStack_d0._0_4_" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (field_expression "uStack_d0._0_4_" identifier . field_identifier)) )) [ number_literal ]))) && (parenthesized_expression "(iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )" ( (comma_expression "iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4)" identifier = (call_expression "(**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4)" (parenthesized_expression "(**(code **)(puVar21 + 0x3efdc))" ( (pointer_expression "**(code **)(puVar21 + 0x3efdc)" * (pointer_expression "*(code **)(puVar21 + 0x3efdc)" * (cast_expression "(code **)(puVar21 + 0x3efdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3efdc)" ( (binary_expression "puVar21 + 0x3efdc" identifier + number_literal) ))))) )) (argument_list "(((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4)" ( (subscript_expression "((byte ****)uStack_d0._0_4_)[3]" (parenthesized_expression "((byte ****)uStack_d0._0_4_)" ( (cast_expression "(byte ****)uStack_d0._0_4_" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (field_expression "uStack_d0._0_4_" identifier . field_identifier)) )) [ number_literal ]) , identifier , identifier )))) , (binary_expression "iVar17 == 0" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }" { (if_statement "if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }" if (parenthesized_expression "(iVar10 == iVar5)" ( (binary_expression "iVar10 == iVar5" identifier == identifier) )) (compound_statement "{\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }" { (expression_statement "iVar10 = iVar10 + 0x10;" (assignment_expression "iVar10 = iVar10 + 0x10" identifier = (binary_expression "iVar10 + 0x10" identifier + number_literal)) ;) (expression_statement "unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);" (assignment_expression "unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4)" identifier = (cast_expression "(byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebb0))" ( (pointer_expression "**(code **)(puVar21 + 0x3ebb0)" * (pointer_expression "*(code **)(puVar21 + 0x3ebb0)" * (cast_expression "(code **)(puVar21 + 0x3ebb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ebb0)" ( (binary_expression "puVar21 + 0x3ebb0" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12,iVar10 * 4)" ( identifier , (binary_expression "iVar10 * 4" identifier * number_literal) ))))) ;) (if_statement "if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;" if (parenthesized_expression "(unaff_s7 == (byte *****)0x0)" ( (binary_expression "unaff_s7 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0011ce24;" goto statement_identifier ;)) })) (expression_statement "iVar19 = iVar5 + 1;" (assignment_expression "iVar19 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;" (assignment_expression "unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_" (subscript_expression "unaff_s7[iVar5]" identifier [ identifier ]) = (cast_expression "(byte ****)uStack_d0._0_4_" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (field_expression "uStack_d0._0_4_" identifier . field_identifier))) ;) })) (expression_statement "uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;" (assignment_expression "uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (cast_expression "(byte *****)*uStack_d0._0_4_" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*uStack_d0._0_4_" * (field_expression "uStack_d0._0_4_" identifier . field_identifier)))) ;) (expression_statement "iVar5 = iVar19;" (assignment_expression "iVar5 = iVar19" identifier = identifier) ;) (expression_statement "pppppbVar12 = unaff_s7;" (assignment_expression "pppppbVar12 = unaff_s7" identifier = identifier) ;) }) while (parenthesized_expression "(uStack_d0._0_4_ != (byte *****)0x0)" ( (binary_expression "uStack_d0._0_4_ != (byte *****)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) ;) (if_statement "if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }" if (parenthesized_expression "(1 < iVar19)" ( (binary_expression "1 < iVar19" number_literal < identifier) )) (compound_statement "{\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }" { (expression_statement "(**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);" (call_expression "(**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ef48))" ( (pointer_expression "**(code **)(puVar21 + 0x3ef48)" * (pointer_expression "*(code **)(puVar21 + 0x3ef48)" * (cast_expression "(code **)(puVar21 + 0x3ef48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ef48)" ( (binary_expression "puVar21 + 0x3ef48" identifier + number_literal) ))))) )) (argument_list "(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar21 + 0x3ec98) + -0x76d0" (pointer_expression "*(int *)(puVar21 + 0x3ec98)" * (cast_expression "(int *)(puVar21 + 0x3ec98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ec98)" ( (binary_expression "puVar21 + 0x3ec98" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_0011cd08;" goto statement_identifier ;) })) (if_statement "if (iVar19 != 0) goto LAB_0011d154;" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011d154;" goto statement_identifier ;)) (expression_statement "(**(code **)(puVar21 + 0x3ebe0))(unaff_s7);" (call_expression "(**(code **)(puVar21 + 0x3ebe0))(unaff_s7)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebe0))" ( (pointer_expression "**(code **)(puVar21 + 0x3ebe0)" * (pointer_expression "*(code **)(puVar21 + 0x3ebe0)" * (cast_expression "(code **)(puVar21 + 0x3ebe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ebe0)" ( (binary_expression "puVar21 + 0x3ebe0" identifier + number_literal) ))))) )) (argument_list "(unaff_s7)" ( identifier ))) ;) }))) }))) })) (if_statement "if (pppppbVar15 != (byte *****)0xffffffff) {\n    iVar10 = *(int *)(puVar21 + 0x3ee40);\n    goto LAB_0011cc20;\n  }" if (parenthesized_expression "(pppppbVar15 != (byte *****)0xffffffff)" ( (binary_expression "pppppbVar15 != (byte *****)0xffffffff" identifier != (cast_expression "(byte *****)0xffffffff" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n    iVar10 = *(int *)(puVar21 + 0x3ee40);\n    goto LAB_0011cc20;\n  }" { (expression_statement "iVar10 = *(int *)(puVar21 + 0x3ee40);" (assignment_expression "iVar10 = *(int *)(puVar21 + 0x3ee40)" identifier = (pointer_expression "*(int *)(puVar21 + 0x3ee40)" * (cast_expression "(int *)(puVar21 + 0x3ee40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ee40)" ( (binary_expression "puVar21 + 0x3ee40" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0011cc20;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar21 + 0x3ec08))(0);" (call_expression "(**(code **)(puVar21 + 0x3ec08))(0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec08))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec08)" * (pointer_expression "*(code **)(puVar21 + 0x3ec08)" * (cast_expression "(code **)(puVar21 + 0x3ec08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec08)" ( (binary_expression "puVar21 + 0x3ec08" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  } while( true );" do (compound_statement "{\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  }" { (while_statement "while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }" { (if_statement "if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }" if (parenthesized_expression "(iStack_c4 == *piVar8)" ( (binary_expression "iStack_c4 == *piVar8" identifier == (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n        return iVar5;\n      }" { (return_statement "return iVar5;" return identifier ;) })) (expression_statement "(**(code **)(puVar21 + 0x3efd0))();" (call_expression "(**(code **)(puVar21 + 0x3efd0))()" (parenthesized_expression "(**(code **)(puVar21 + 0x3efd0))" ( (pointer_expression "**(code **)(puVar21 + 0x3efd0)" * (pointer_expression "*(code **)(puVar21 + 0x3efd0)" * (cast_expression "(code **)(puVar21 + 0x3efd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3efd0)" ( (binary_expression "puVar21 + 0x3efd0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0011d154:\n      iVar19 = 1;" statement_identifier : (expression_statement "iVar19 = 1;" (assignment_expression "iVar19 = 1" identifier = number_literal) ;)) (labeled_statement "LAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;" statement_identifier : (expression_statement "iVar10 = (iVar19 + 0x19) * 4;" (assignment_expression "iVar10 = (iVar19 + 0x19) * 4" identifier = (binary_expression "(iVar19 + 0x19) * 4" (parenthesized_expression "(iVar19 + 0x19)" ( (binary_expression "iVar19 + 0x19" identifier + number_literal) )) * number_literal)) ;)) (expression_statement "iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);" (assignment_expression "iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10)" identifier = (call_expression "(**(code **)(puVar21 + 0x3ed20))(0,iVar10)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ed20))" ( (pointer_expression "**(code **)(puVar21 + 0x3ed20)" * (pointer_expression "*(code **)(puVar21 + 0x3ed20)" * (cast_expression "(code **)(puVar21 + 0x3ed20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ed20)" ( (binary_expression "puVar21 + 0x3ed20" identifier + number_literal) ))))) )) (argument_list "(0,iVar10)" ( number_literal , identifier )))) ;) (expression_statement "pppppbVar12 = unaff_s7;" (assignment_expression "pppppbVar12 = unaff_s7" identifier = identifier) ;) (if_statement "if (iVar5 != 0) break;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);" statement_identifier : (expression_statement "(**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);" (call_expression "(**(code **)(puVar21 + 0x3ebe0))(pppppbVar12)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebe0))" ( (pointer_expression "**(code **)(puVar21 + 0x3ebe0)" * (pointer_expression "*(code **)(puVar21 + 0x3ebe0)" * (cast_expression "(code **)(puVar21 + 0x3ebe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ebe0)" ( (binary_expression "puVar21 + 0x3ebe0" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12)" ( identifier ))) ;)) (expression_statement "(**(code **)(puVar21 + 0x3ec08))(0);" (call_expression "(**(code **)(puVar21 + 0x3ec08))(0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec08))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec08)" * (pointer_expression "*(code **)(puVar21 + 0x3ec08)" * (cast_expression "(code **)(puVar21 + 0x3ec08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec08)" ( (binary_expression "puVar21 + 0x3ec08" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" identifier = number_literal) ;) (expression_statement "unaff_s7 = pppppbVar12;" (assignment_expression "unaff_s7 = pppppbVar12" identifier = identifier) ;) })) (expression_statement "puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);" (assignment_expression "puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ef74))" ( (pointer_expression "**(code **)(puVar21 + 0x3ef74)" * (pointer_expression "*(code **)(puVar21 + 0x3ef74)" * (cast_expression "(code **)(puVar21 + 0x3ef74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ef74)" ( (binary_expression "puVar21 + 0x3ef74" identifier + number_literal) ))))) )) (argument_list "(iVar5,0,iVar10)" ( identifier , number_literal , identifier ))))) ;) (expression_statement "puVar9[0xe] = puVar9 + 0x18;" (assignment_expression "puVar9[0xe] = puVar9 + 0x18" (subscript_expression "puVar9[0xe]" identifier [ number_literal ]) = (binary_expression "puVar9 + 0x18" identifier + number_literal)) ;) (expression_statement "pcVar20 = *(code **)(puVar21 + 0x3eff0);" (assignment_expression "pcVar20 = *(code **)(puVar21 + 0x3eff0)" identifier = (pointer_expression "*(code **)(puVar21 + 0x3eff0)" * (cast_expression "(code **)(puVar21 + 0x3eff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3eff0)" ( (binary_expression "puVar21 + 0x3eff0" identifier + number_literal) ))))) ;) (expression_statement "*puVar9 = 0x7fffffff;" (assignment_expression "*puVar9 = 0x7fffffff" (pointer_expression "*puVar9" * identifier) = number_literal) ;) (expression_statement "(*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);" (call_expression "(*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(puVar9 + 0x18,unaff_s7,iVar10 + -100)" ( (binary_expression "puVar9 + 0x18" identifier + number_literal) , identifier , (binary_expression "iVar10 + -100" identifier + number_literal) ))) ;) (expression_statement "(**(code **)(puVar21 + 0x3ebe0))(unaff_s7);" (call_expression "(**(code **)(puVar21 + 0x3ebe0))(unaff_s7)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebe0))" ( (pointer_expression "**(code **)(puVar21 + 0x3ebe0)" * (pointer_expression "*(code **)(puVar21 + 0x3ebe0)" * (cast_expression "(code **)(puVar21 + 0x3ebe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ebe0)" ( (binary_expression "puVar21 + 0x3ebe0" identifier + number_literal) ))))) )) (argument_list "(unaff_s7)" ( identifier ))) ;) (labeled_statement "LAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);" statement_identifier : (expression_statement "iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);" (assignment_expression "iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9)" identifier = (call_expression "(*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9)" (parenthesized_expression "(*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))" ( (pointer_expression "*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4)" * (cast_expression "(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4)" ( (binary_expression "*(int *)(puVar21 + 0x3ecb8) + 0x3dc4" (pointer_expression "*(int *)(puVar21 + 0x3ecb8)" * (cast_expression "(int *)(puVar21 + 0x3ecb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ecb8)" ( (binary_expression "puVar21 + 0x3ecb8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(&_gp_1,&DAT_001635b4,puVar9)" ( (pointer_expression "&_gp_1" & identifier) , (pointer_expression "&DAT_001635b4" & identifier) , identifier )))) ;)) (if_statement "if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }" if (parenthesized_expression "((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0))" ( (binary_expression "(pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)" (parenthesized_expression "(pppppbVar15 == (byte *****)0xffffffff)" ( (binary_expression "pppppbVar15 == (byte *****)0xffffffff" identifier == (cast_expression "(byte *****)0xffffffff" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) || (parenthesized_expression "(iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)" ( (comma_expression "iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0" (assignment_expression "iVar10 = *(int *)(puVar21 + 0x3ee40)" identifier = (pointer_expression "*(int *)(puVar21 + 0x3ee40)" * (cast_expression "(int *)(puVar21 + 0x3ee40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ee40)" ( (binary_expression "puVar21 + 0x3ee40" identifier + number_literal) ))))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n      pppppbVar12 = (byte *****)0x0;\n    }" { (expression_statement "pppppbVar12 = (byte *****)0x0;" (assignment_expression "pppppbVar12 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }" else (compound_statement "{\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }" { (labeled_statement "LAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;" statement_identifier : (expression_statement "uStack_d0._0_4_ = (byte *****)0x0;" (assignment_expression "uStack_d0._0_4_ = (byte *****)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;)) (expression_statement "iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);" (assignment_expression "iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0)" identifier = (call_expression "(*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0)" (parenthesized_expression "(*(code *)(iVar10 + 0x7f20))" ( (pointer_expression "*(code *)(iVar10 + 0x7f20)" * (cast_expression "(code *)(iVar10 + 0x7f20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x7f20)" ( (binary_expression "iVar10 + 0x7f20" identifier + number_literal) )))) )) (argument_list "(iVar6,0xd,&uStack_d0,0)" ( identifier , number_literal , (pointer_expression "&uStack_d0" & identifier) , number_literal )))) ;) (expression_statement "pppppbVar12 = uStack_d0._0_4_;" (assignment_expression "pppppbVar12 = uStack_d0._0_4_" identifier = (field_expression "uStack_d0._0_4_" identifier . field_identifier)) ;) (if_statement "if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }" { (expression_statement "lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;" (assignment_expression "lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400" identifier = (binary_expression "((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400" (parenthesized_expression "((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc))" ( (binary_expression "(longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (cast_expression "(longlong)(int)pppppbVar7" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)pppppbVar7" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (binary_expression "(longlong)(int)pppppbVar13 * (longlong)" (cast_expression "(longlong)(int)pppppbVar13" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)pppppbVar13" ( (type_descriptor "int" primitive_type) ) identifier)) * (parenthesized_expression "(longlong)" ( identifier ))) * (cast_expression "(int *)(iVar6 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xfc)" ( (binary_expression "iVar6 + 0xfc" identifier + number_literal) ))))) )) * number_literal)) ;) (expression_statement "(**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);" (call_expression "(**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23)" (parenthesized_expression "(**(code **)(puVar21 + 0x3edb8))" ( (pointer_expression "**(code **)(puVar21 + 0x3edb8)" * (pointer_expression "*(code **)(puVar21 + 0x3edb8)" * (cast_expression "(code **)(puVar21 + 0x3edb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3edb8)" ( (binary_expression "puVar21 + 0x3edb8" identifier + number_literal) ))))) )) (argument_list "(uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23)" ( (field_expression "uStack_d0._0_4_" identifier . field_identifier) , number_literal , (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)lVar23" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);" (assignment_expression "lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" identifier = (binary_expression "(longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (cast_expression "(longlong)(int)pppppbVar7" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)pppppbVar7" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (binary_expression "(longlong)(int)pppppbVar13 * (longlong)" (cast_expression "(longlong)(int)pppppbVar13" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)pppppbVar13" ( (type_descriptor "int" primitive_type) ) identifier)) * (parenthesized_expression "(longlong)" ( identifier ))) * (cast_expression "(int *)(iVar6 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xfc)" ( (binary_expression "iVar6 + 0xfc" identifier + number_literal) )))))) ;) (expression_statement "uVar22 = (uint)lVar23;" (assignment_expression "uVar22 = (uint)lVar23" identifier = (cast_expression "(uint)lVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar14 = uVar22 * 0x400;" (assignment_expression "uVar14 = uVar22 * 0x400" identifier = (binary_expression "uVar22 * 0x400" identifier * number_literal)) ;) (expression_statement "(**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));" (call_expression "(**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10))" (parenthesized_expression "(**(code **)(puVar21 + 0x3edb8))" ( (pointer_expression "**(code **)(puVar21 + 0x3edb8)" * (pointer_expression "*(code **)(puVar21 + 0x3edb8)" * (cast_expression "(code **)(puVar21 + 0x3edb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3edb8)" ( (binary_expression "puVar21 + 0x3edb8" identifier + number_literal) ))))) )) (argument_list "(uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10))" ( (field_expression "uStack_d0._0_4_" identifier . field_identifier) , number_literal , (binary_expression "(uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10)" (call_expression "(uint)(uVar14 + 0x3ff < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 + 0x3ff < uVar14)" ( (binary_expression "uVar14 + 0x3ff < uVar14" (binary_expression "uVar14 + 0x3ff" identifier + number_literal) < identifier) ))) + (parenthesized_expression "(uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10)" ( (binary_expression "uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10" (binary_expression "uVar22 >> 0x16" identifier >> number_literal) | (binary_expression "(int)((ulonglong)lVar23 >> 0x20) << 10" (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) << number_literal)) ))) ))) ;) (labeled_statement "LAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;" statement_identifier : (expression_statement "pppppbVar12 = uStack_d0._0_4_;" (assignment_expression "pppppbVar12 = uStack_d0._0_4_" identifier = (field_expression "uStack_d0._0_4_" identifier . field_identifier)) ;)) (expression_statement "puStack_e4 = &uStack_d0;" (assignment_expression "puStack_e4 = &uStack_d0" identifier = (pointer_expression "&uStack_d0" & identifier)) ;) (expression_statement "iVar17 = *(int *)(puVar21 + 0x3ecc0);" (assignment_expression "iVar17 = *(int *)(puVar21 + 0x3ecc0)" identifier = (pointer_expression "*(int *)(puVar21 + 0x3ecc0)" * (cast_expression "(int *)(puVar21 + 0x3ecc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ecc0)" ( (binary_expression "puVar21 + 0x3ecc0" identifier + number_literal) ))))) ;) (expression_statement "unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);" (assignment_expression "unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0)" identifier = (cast_expression "(byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(uint)(local_80 == (int *)0x0 && iStack_7c == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_80 == (int *)0x0 && iStack_7c == 0)" ( (binary_expression "local_80 == (int *)0x0 && iStack_7c == 0" (binary_expression "local_80 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "iStack_7c == 0" identifier == number_literal)) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar21 + 0x3ec94);" (assignment_expression "iVar10 = *(int *)(puVar21 + 0x3ec94)" identifier = (pointer_expression "*(int *)(puVar21 + 0x3ec94)" * (cast_expression "(int *)(puVar21 + 0x3ec94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ec94)" ( (binary_expression "puVar21 + 0x3ec94" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(puVar21 + 0x3ecb8);" (assignment_expression "iVar19 = *(int *)(puVar21 + 0x3ecb8)" identifier = (pointer_expression "*(int *)(puVar21 + 0x3ecb8)" * (cast_expression "(int *)(puVar21 + 0x3ecb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ecb8)" ( (binary_expression "puVar21 + 0x3ecb8" identifier + number_literal) ))))) ;) (do_statement "do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);" do (compound_statement "{\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        }" { (expression_statement "iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);" (assignment_expression "iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12)" identifier = (call_expression "(**(code **)(puVar21 + 0x3ebf0))(pppppbVar12)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebf0))" ( (pointer_expression "**(code **)(puVar21 + 0x3ebf0)" * (pointer_expression "*(code **)(puVar21 + 0x3ebf0)" * (cast_expression "(code **)(puVar21 + 0x3ebf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ebf0)" ( (binary_expression "puVar21 + 0x3ebf0" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12)" ( identifier )))) ;) (if_statement "if (iVar5 != 100) break;" if (parenthesized_expression "(iVar5 != 100)" ( (binary_expression "iVar5 != 100" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "uStack_dc = 0;" (assignment_expression "uStack_dc = 0" identifier = number_literal) ;) (expression_statement "lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);" (assignment_expression "lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1)" identifier = (call_expression "(**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec10))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec10)" * (pointer_expression "*(code **)(puVar21 + 0x3ec10)" * (cast_expression "(code **)(puVar21 + 0x3ec10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec10)" ( (binary_expression "puVar21 + 0x3ec10" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12,1)" ( identifier , number_literal )))) ;) (expression_statement "uStack_d8 = lVar23;" (assignment_expression "uStack_d8 = lVar23" identifier = identifier) ;) (expression_statement "lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);" (assignment_expression "lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2)" identifier = (call_expression "(**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec10))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec10)" * (pointer_expression "*(code **)(puVar21 + 0x3ec10)" * (cast_expression "(code **)(puVar21 + 0x3ec10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec10)" ( (binary_expression "puVar21 + 0x3ec10" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12,2)" ( identifier , number_literal )))) ;) (expression_statement "uStack_d0 = lVar23;" (assignment_expression "uStack_d0 = lVar23" identifier = identifier) ;) (expression_statement "uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);" (assignment_expression "uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3)" identifier = (call_expression "(**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec10))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec10)" * (pointer_expression "*(code **)(puVar21 + 0x3ec10)" * (cast_expression "(code **)(puVar21 + 0x3ec10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec10)" ( (binary_expression "puVar21 + 0x3ec10" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12,3)" ( identifier , number_literal )))) ;) (expression_statement "pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);" (assignment_expression "pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4)" identifier = (cast_expression "(byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec24))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec24)" * (pointer_expression "*(code **)(puVar21 + 0x3ec24)" * (cast_expression "(code **)(puVar21 + 0x3ec24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec24)" ( (binary_expression "puVar21 + 0x3ec24" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12,4)" ( identifier , number_literal ))))) ;) (expression_statement "pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);" (assignment_expression "pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4)" identifier = (cast_expression "(byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec28))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec28)" * (pointer_expression "*(code **)(puVar21 + 0x3ec28)" * (cast_expression "(code **)(puVar21 + 0x3ec28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec28)" ( (binary_expression "puVar21 + 0x3ec28" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12,4)" ( identifier , number_literal ))))) ;) (if_statement "if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" if (parenthesized_expression "(((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0))" ( (binary_expression "((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)" (parenthesized_expression "((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0))" ( (binary_expression "(uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)" (parenthesized_expression "(uStack_d8 == 0)" ( (binary_expression "uStack_d8 == 0" identifier == number_literal) )) || (parenthesized_expression "((byte *****)ppppbVar3 == (byte *****)0x0)" ( (binary_expression "(byte *****)ppppbVar3 == (byte *****)0x0" (cast_expression "(byte *****)ppppbVar3" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ))) )) || (parenthesized_expression "(pppppbVar13 == (byte *****)0x0)" ( (binary_expression "pppppbVar13 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ))) )) (compound_statement "{\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }" { (expression_statement "iVar5 = _DAT_001635b4 + 1;" (assignment_expression "iVar5 = _DAT_001635b4 + 1" identifier = (binary_expression "_DAT_001635b4 + 1" identifier + number_literal)) ;) (expression_statement "pppppbVar15 = unaff_s7;" (assignment_expression "pppppbVar15 = unaff_s7" identifier = identifier) ;) (expression_statement "lVar23 = uStack_d8;" (assignment_expression "lVar23 = uStack_d8" identifier = identifier) ;) }) (else_clause "else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" else (if_statement "if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" if (parenthesized_expression "(local_80 == (int *)0x0)" ( (binary_expression "local_80 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }" { (expression_statement "iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);" (assignment_expression "iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0)" identifier = (call_expression "(*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0)" (parenthesized_expression "(*(code *)(iVar10 + -0x3b54))" ( (pointer_expression "*(code *)(iVar10 + -0x3b54)" * (cast_expression "(code *)(iVar10 + -0x3b54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x3b54)" ( (binary_expression "iVar10 + -0x3b54" identifier + number_literal) )))) )) (argument_list "(iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0)" ( identifier , identifier , identifier , identifier , identifier , (pointer_expression "&uStack_d8" & identifier) , number_literal )))) ;) (if_statement "if (iVar5 != 0) break;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = _DAT_001635b4 + 1;" (assignment_expression "iVar5 = _DAT_001635b4 + 1" identifier = (binary_expression "_DAT_001635b4 + 1" identifier + number_literal)) ;) (expression_statement "lVar23 = uStack_d8;" (assignment_expression "lVar23 = uStack_d8" identifier = identifier) ;) (if_statement "if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }" if (parenthesized_expression "(iStack_7c == 0)" ( (binary_expression "iStack_7c == 0" identifier == number_literal) )) (compound_statement "{\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }" { (expression_statement "pppppbVar15 = (byte *****)0x1;" (assignment_expression "pppppbVar15 = (byte *****)0x1" identifier = (cast_expression "(byte *****)0x1" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "uStack_d0 = uStack_d8;" (assignment_expression "uStack_d0 = uStack_d8" identifier = identifier) ;) }) (else_clause "else {\n              pppppbVar15 = (byte *****)0x0;\n            }" else (compound_statement "{\n              pppppbVar15 = (byte *****)0x0;\n            }" { (expression_statement "pppppbVar15 = (byte *****)0x0;" (assignment_expression "pppppbVar15 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }))) }) (else_clause "else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" else (compound_statement "{\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" { (expression_statement "iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);" (assignment_expression "iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4)" identifier = (call_expression "(*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4)" (parenthesized_expression "(*(code *)(iVar10 + -0x3b54))" ( (pointer_expression "*(code *)(iVar10 + -0x3b54)" * (cast_expression "(code *)(iVar10 + -0x3b54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x3b54)" ( (binary_expression "iVar10 + -0x3b54" identifier + number_literal) )))) )) (argument_list "(iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4)" ( identifier , identifier , identifier , identifier , identifier , (pointer_expression "&uStack_d8" & identifier) , identifier )))) ;) (if_statement "if (iVar5 != 0) break;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = _DAT_001635b4 + 1;" (assignment_expression "iVar5 = _DAT_001635b4 + 1" identifier = (binary_expression "_DAT_001635b4 + 1" identifier + number_literal)) ;) (expression_statement "pppppbVar15 = (byte *****)0x0;" (assignment_expression "pppppbVar15 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "lVar23 = uStack_d8;" (assignment_expression "lVar23 = uStack_d8" identifier = identifier) ;) }))))) (expression_statement "uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);" (assignment_expression "uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20)" (field_expression "uStack_d8._0_4_" identifier . field_identifier) = (call_expression "(undefined4)((ulonglong)lVar23 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_d8._4_4_ = (undefined4)lVar23;" (assignment_expression "uStack_d8._4_4_ = (undefined4)lVar23" (field_expression "uStack_d8._4_4_" identifier . field_identifier) = (cast_expression "(undefined4)lVar23" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);" (assignment_expression "iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc)" identifier = (call_expression "(*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc)" (parenthesized_expression "(*(code *)(iVar17 + 0x588))" ( (pointer_expression "*(code *)(iVar17 + 0x588)" * (cast_expression "(code *)(iVar17 + 0x588)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x588)" ( (binary_expression "iVar17 + 0x588" identifier + number_literal) )))) )) (argument_list "(iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc)" ( identifier , identifier , (field_expression "uStack_d8._0_4_" identifier . field_identifier) , (field_expression "uStack_d8._4_4_" identifier . field_identifier) , identifier , identifier , identifier , identifier , (pointer_expression "&uStack_dc" & identifier) )))) ;) (expression_statement "uStack_d8 = lVar23;" (assignment_expression "uStack_d8 = lVar23" identifier = identifier) ;) (if_statement "if (iVar5 != 0) break;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);" (assignment_expression "iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc)" identifier = (call_expression "(*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc)" (parenthesized_expression "(*(code *)(iVar19 + 0x3dc4))" ( (pointer_expression "*(code *)(iVar19 + 0x3dc4)" * (cast_expression "(code *)(iVar19 + 0x3dc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x3dc4)" ( (binary_expression "iVar19 + 0x3dc4" identifier + number_literal) )))) )) (argument_list "(&_gp_1,&DAT_001635b4,uStack_dc)" ( (pointer_expression "&_gp_1" & identifier) , (pointer_expression "&DAT_001635b4" & identifier) , identifier )))) ;) }) while (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) ;) })) }))) (labeled_statement "LAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);" statement_identifier : (expression_statement "iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);" (assignment_expression "iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12)" identifier = (call_expression "(**(code **)(puVar21 + 0x3ec08))(pppppbVar12)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec08))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec08)" * (pointer_expression "*(code **)(puVar21 + 0x3ec08)" * (cast_expression "(code **)(puVar21 + 0x3ec08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec08)" ( (binary_expression "puVar21 + 0x3ec08" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12)" ( identifier )))) ;)) (expression_statement "pppppbVar15 = pppppbVar12;" (assignment_expression "pppppbVar15 = pppppbVar12" identifier = identifier) ;) (if_statement "if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }" if (parenthesized_expression "(iVar5 == 0x65)" ( (binary_expression "iVar5 == 0x65" identifier == number_literal) )) (compound_statement "{\n      iVar5 = iVar10;\n    }" { (expression_statement "iVar5 = iVar10;" (assignment_expression "iVar5 = iVar10" identifier = identifier) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nint fts3SelectLeaf(Fts3Table *p,char *zTerm,int nTerm,char *zNode,int nNode,sqlite3_int64 *piLeaf,\n                  sqlite3_int64 *piLeaf2)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  byte bVar9;\n  int *piVar5;\n  int *piVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  char *pcVar10;\n  char **paBlob;\n  char **ppcVar11;\n  uint uVar12;\n  int *piVar13;\n  int *piVar14;\n  byte *pbVar15;\n  int *unaff_s1;\n  sqlite3_int64 *unaff_s3;\n  int unaff_s4;\n  int iVar16;\n  byte *pbVar17;\n  int iVar18;\n  char **unaff_s6;\n  char **unaff_s7;\n  code *pcVar19;\n  undefined *puVar20;\n  sqlite3_int64 *unaff_s8;\n  uint uVar21;\n  longlong lVar22;\n  undefined8 uVar23;\n  undefined8 *puStack_e4;\n  undefined4 uStack_dc;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  int iStack_c4;\n  int iStack_c0;\n  int *piStack_bc;\n  char **ppcStack_b8;\n  sqlite3_int64 *psStack_b4;\n  int iStack_b0;\n  byte *pbStack_ac;\n  char **ppcStack_a8;\n  char **ppcStack_a4;\n  sqlite3_int64 *psStack_a0;\n  code *pcStack_9c;\n  char **in_stack_ffffff78;\n  char **in_stack_ffffff7c;\n  sqlite3_int64 *in_stack_ffffff80;\n  int iStack_7c;\n  int *piStack_6c;\n  char **ppcStack_64;\n  int iHeight;\n  int nSuffix;\n  char *zBlob;\n  int nBlob;\n  int *piStack_34;\n  int iStack_2c;\n  \n  puVar20 = PTR___stack_chk_guard_0015ba2c;\n  ppcStack_64 = (char **)piLeaf;\n  iStack_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  piVar5 = (int *)nTerm;\n  piVar14 = (int *)zNode;\n  uVar12 = (uint)(byte)*zNode;\n  if (*zNode < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(zNode,&iHeight);\n    uVar12 = iHeight;\n  }\n  iHeight = uVar12;\n  ppcVar11 = (char **)&nBlob;\n  pcVar19 = (code *)(PTR_LAB_0015b65c + 0xf74);\n  pbVar15 = (byte *)(zNode + nNode);\n  paBlob = ppcVar11;\n  iVar3 = (*pcVar19)(zNode);\n  iVar4 = (*pcVar19)(zNode + iVar3);\n  pbVar17 = (byte *)(zNode + iVar3 + iVar4);\n  if (pbVar15 < pbVar17) {\n    iVar3 = 0x10b;\n  }\n  else {\n    iVar3 = 0;\n    unaff_s3 = piLeaf2;\n    unaff_s8 = piLeaf;\n    if (pbVar17 < pbVar15) {\n      unaff_s1 = (int *)0x0;\n      paBlob = (char **)0x1;\n      unaff_s6 = &zBlob;\n      pcVar19 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      piStack_6c = (int *)0x0;\n      unaff_s7 = (char **)&nSuffix;\n      unaff_s4 = iVar3;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0))\n        goto LAB_0011c878;\n        bVar9 = *pbVar17;\n        pcVar10 = (char *)(uint)bVar9;\n        zBlob = (char *)0x0;\n        if (paBlob == (char **)0x0) {\n          if ((char)bVar9 < '\0') {\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }\n          else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }\n          pbVar17 = pbVar17 + iVar3;\n          bVar9 = *pbVar17;\n          pcVar10 = (char *)(uint)bVar9;\n        }\n        if ((char)bVar9 < '\0') {\n          paBlob = unaff_s7;\n          iVar3 = (*pcVar19)(pbVar17,unaff_s7);\n          pbVar17 = pbVar17 + iVar3;\n          if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar3 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar17 = pbVar17 + 1;\n        nSuffix = (int)pcVar10;\n        if ((int)pbVar17 - (int)zNode < (int)zBlob) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        piVar5 = (int *)nSuffix;\n        if ((int)pbVar15 - (int)pbVar17 < nSuffix) goto LAB_0011c7f0;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f));\n        paBlob = (char **)(uint)((int)unaff_s1 < (int)piVar5);\n        if ((paBlob != (char **)0x0) ||\n           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))) {\n          piStack_6c = (int *)((int)piVar14 * 2);\n          unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);\n          piVar5 = unaff_s1;\n          piVar14 = piStack_6c;\n          iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar3 != 0) goto LAB_0011c684;\n          iVar3 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix);\n        pbVar17 = pbVar17 + nSuffix;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)nTerm;\n        if ((int)piVar14 < nTerm) {\n          piVar5 = piVar14;\n        }\n        iVar4 = (*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5);\n        unaff_s4 = iVar3;\n        if (unaff_s8 == (sqlite3_int64 *)0x0) {\nLAB_0011c700:\n          piVar5 = (int *)((int)piStack_34 + 1);\n          if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }\n          *(int *)unaff_s3 = nBlob;\n          *(int **)((int)unaff_s3 + 4) = piStack_34;\n          unaff_s3 = (sqlite3_int64 *)0x0;\n        }\n        else if ((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }\n        piVar5 = (int *)((int)piStack_34 + 1);\n        nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n        paBlob = (char **)0x0;\n        piStack_34 = piVar5;\n      } while (pbVar17 < pbVar15);\n    }\n    if (unaff_s8 != (sqlite3_int64 *)0x0) {\n      *(int **)((int)unaff_s8 + 4) = piStack_34;\n      *(int *)unaff_s8 = nBlob;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar3;\n    if (unaff_s3 == (sqlite3_int64 *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      *(int **)((int)unaff_s3 + 4) = piStack_34;\n      *(int *)unaff_s3 = nBlob;\n      (*(code *)puVar2)(iVar3);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if (iHeight < 2) {\n      iVar3 = 0;\n    }\n    else {\n      zBlob = (char *)0x0;\n      nBlob = 0;\n      if (piLeaf == (sqlite3_int64 *)0x0) {\nLAB_0011c928:\n        ppcStack_64 = (char **)0x0;\n        piVar5 = *(int **)piLeaf2;\n        piVar14 = *(int **)((int)piLeaf2 + 4);\nLAB_0011c938:\n        zBlob = (char *)0x0;\n        in_stack_ffffff78 = &zBlob;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        in_stack_ffffff7c = ppcVar11;\n        if (iVar3 == 0) {\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          in_stack_ffffff7c = ppcStack_64;\n          in_stack_ffffff80 = piLeaf2;\n        }\n      }\n      else {\n        piVar5 = *(int **)piLeaf;\n        piVar14 = *(int **)((int)piLeaf + 4);\n        if ((piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))) goto LAB_0011c938;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        in_stack_ffffff7c = ppcVar11;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        if (iVar3 == 0) {\n          in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n          in_stack_ffffff7c = (char **)piLeaf;\n          if (iVar3 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }\n      }\n      unaff_s1 = (int *)(puVar2 + -0x3d2c);\n      zNode = (char *)&zBlob;\n      (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n    }\n  }\nLAB_0011c804:\n  if (iStack_2c == *(int *)puVar20) {\n    return iVar3;\n  }\n  pcVar19 = fts3SegReaderCursor;\n  iVar4 = iStack_2c;\n  puVar20 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar6 = *(int **)(puVar20 + 0x3efec);\n  iStack_c4 = *piVar6;\n  iStack_c0 = iVar3;\n  piStack_bc = unaff_s1;\n  ppcStack_b8 = (char **)zNode;\n  psStack_b4 = unaff_s3;\n  iStack_b0 = unaff_s4;\n  pbStack_ac = pbVar17;\n  ppcStack_a8 = unaff_s6;\n  ppcStack_a4 = unaff_s7;\n  psStack_a0 = unaff_s8;\n  pcStack_9c = pcVar19;\n  if (-1 < (int)piVar14) {\n    uStack_d0._0_4_ = (int *)0x0;\n    iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ee40) + 0x7f20))();\n    piVar13 = uStack_d0._0_4_;\n    if (iVar3 != 0) goto LAB_0011cdbc;\n    lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n    uVar12 = (uint)lVar22;\n    piVar13 = (int *)(uVar12 * 0x400);\n    (**(code **)(puVar20 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)((int *)((int)piVar13 + (int)piVar14) < piVar13) +\n               (uVar12 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10) + ((int)piVar14 >> 0x1f));\n    goto LAB_0011ceb8;\n  }\n  if (*(int *)(iVar4 + 0x100) != 0) {\n    iVar3 = *(int *)(iVar4 + 0x100) + (int)piVar5 * 0x18;\n    if (in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (int *)(*(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24))\n                            (iVar3 + 4,in_stack_ffffff78,in_stack_ffffff7c);\n      if (uStack_d0._0_4_ != (int *)0x0) {\n        puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ed20))(0,0x68);\n        if (puVar7 != (undefined4 *)0x0) {\n          (**(code **)(puVar20 + 0x3ef74))(puVar7 + 1,0,100);\n          *puVar7 = 0x7fffffff;\n          puVar7[0xe] = puVar7 + 0x18;\n          uVar12 = (uint)(puVar7 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar7 + 0x18) - uVar12);\n          *puVar1 = *puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8;\n          uVar12 = (int)puVar7 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar7 + 99U) - uVar12);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar20 + 0x3ec08))(0);\n        iVar3 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(int **)(iVar3 + 0xc);\n      if (uStack_d0._0_4_ == (int *)0x0) {\n        (**(code **)(puVar20 + 0x3ebe0))(0);\n      }\n      else {\n        iVar8 = 0;\n        iVar3 = 0;\n        ppcVar11 = (char **)0x0;\n        do {\n          unaff_s7 = ppcVar11;\n          if ((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))) {\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;\n          iVar3 = iVar18;\n          ppcVar11 = unaff_s7;\n        } while (uStack_d0._0_4_ != (int *)0x0);\n        if (1 < iVar18) {\n          (**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar18 != 0) goto LAB_0011d154;\n        (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }\n  if (piVar14 != (int *)0xffffffff) {\n    iVar8 = *(int *)(puVar20 + 0x3ee40);\n    goto LAB_0011cc20;\n  }\n  (**(code **)(puVar20 + 0x3ec08))(0);\n  iVar3 = 0;\nLAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar6) {\n        return iVar3;\n      }\n      (**(code **)(puVar20 + 0x3efd0))();\nLAB_0011d154:\n      iVar18 = 1;\nLAB_0011cd08:\n      iVar8 = (iVar18 + 0x19) * 4;\n      iVar3 = (**(code **)(puVar20 + 0x3ed20))(0,iVar8);\n      ppcVar11 = unaff_s7;\n      if (iVar3 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar20 + 0x3ebe0))(ppcVar11);\n      (**(code **)(puVar20 + 0x3ec08))(0);\n      iVar3 = 7;\n      unaff_s7 = ppcVar11;\n    }\n    puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ef74))(iVar3,0,iVar8);\n    puVar7[0xe] = puVar7 + 0x18;\n    pcVar19 = *(code **)(puVar20 + 0x3eff0);\n    *puVar7 = 0x7fffffff;\n    (*pcVar19)(puVar7 + 0x18,unaff_s7,iVar8 + -100);\n    (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4))(&_gp,&DAT_001635b4,puVar7);\n    if ((piVar14 == (int *)0xffffffff) || (iVar8 = *(int *)(puVar20 + 0x3ee40), iVar3 != 0)) {\n      piVar13 = (int *)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (int *)0x0;\n      iVar3 = (*(code *)(iVar8 + 0x7f20))(iVar4,0xd,&uStack_d0,0);\n      piVar13 = uStack_d0._0_4_;\n      if (iVar3 == 0) {\n        lVar22 = ((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))\n                 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22);\n        lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n        uVar21 = (uint)lVar22;\n        uVar12 = uVar21 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10));\nLAB_0011ceb8:\n        piVar13 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar16 = *(int *)(puVar20 + 0x3ecc0);\n        unaff_s7 = (char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0);\n        iVar8 = *(int *)(puVar20 + 0x3ec94);\n        iVar18 = *(int *)(puVar20 + 0x3ecb8);\n        do {\n          iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);\n          if (iVar3 != 100) break;\n          uStack_dc = 0;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);\n          uStack_d8 = lVar22;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);\n          uStack_d0 = lVar22;\n          uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);\n          piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);\n          paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);\n          if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))\n          {\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }\n          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar22;\n          iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc);\n          uStack_d8 = lVar22;\n          if (iVar3 != 0) break;\n          iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);\n        } while (iVar3 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar8 = (**(code **)(puVar20 + 0x3ec08))(piVar13);\n    piVar14 = piVar13;\n    if (iVar3 == 0x65) {\n      iVar3 = iVar8;\n    }\n  } while( true );\n}\n\n" comment (function_definition "int fts3SelectLeaf(Fts3Table *p,char *zTerm,int nTerm,char *zNode,int nNode,sqlite3_int64 *piLeaf,\n                  sqlite3_int64 *piLeaf2)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  byte bVar9;\n  int *piVar5;\n  int *piVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  char *pcVar10;\n  char **paBlob;\n  char **ppcVar11;\n  uint uVar12;\n  int *piVar13;\n  int *piVar14;\n  byte *pbVar15;\n  int *unaff_s1;\n  sqlite3_int64 *unaff_s3;\n  int unaff_s4;\n  int iVar16;\n  byte *pbVar17;\n  int iVar18;\n  char **unaff_s6;\n  char **unaff_s7;\n  code *pcVar19;\n  undefined *puVar20;\n  sqlite3_int64 *unaff_s8;\n  uint uVar21;\n  longlong lVar22;\n  undefined8 uVar23;\n  undefined8 *puStack_e4;\n  undefined4 uStack_dc;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  int iStack_c4;\n  int iStack_c0;\n  int *piStack_bc;\n  char **ppcStack_b8;\n  sqlite3_int64 *psStack_b4;\n  int iStack_b0;\n  byte *pbStack_ac;\n  char **ppcStack_a8;\n  char **ppcStack_a4;\n  sqlite3_int64 *psStack_a0;\n  code *pcStack_9c;\n  char **in_stack_ffffff78;\n  char **in_stack_ffffff7c;\n  sqlite3_int64 *in_stack_ffffff80;\n  int iStack_7c;\n  int *piStack_6c;\n  char **ppcStack_64;\n  int iHeight;\n  int nSuffix;\n  char *zBlob;\n  int nBlob;\n  int *piStack_34;\n  int iStack_2c;\n  \n  puVar20 = PTR___stack_chk_guard_0015ba2c;\n  ppcStack_64 = (char **)piLeaf;\n  iStack_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  piVar5 = (int *)nTerm;\n  piVar14 = (int *)zNode;\n  uVar12 = (uint)(byte)*zNode;\n  if (*zNode < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(zNode,&iHeight);\n    uVar12 = iHeight;\n  }\n  iHeight = uVar12;\n  ppcVar11 = (char **)&nBlob;\n  pcVar19 = (code *)(PTR_LAB_0015b65c + 0xf74);\n  pbVar15 = (byte *)(zNode + nNode);\n  paBlob = ppcVar11;\n  iVar3 = (*pcVar19)(zNode);\n  iVar4 = (*pcVar19)(zNode + iVar3);\n  pbVar17 = (byte *)(zNode + iVar3 + iVar4);\n  if (pbVar15 < pbVar17) {\n    iVar3 = 0x10b;\n  }\n  else {\n    iVar3 = 0;\n    unaff_s3 = piLeaf2;\n    unaff_s8 = piLeaf;\n    if (pbVar17 < pbVar15) {\n      unaff_s1 = (int *)0x0;\n      paBlob = (char **)0x1;\n      unaff_s6 = &zBlob;\n      pcVar19 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      piStack_6c = (int *)0x0;\n      unaff_s7 = (char **)&nSuffix;\n      unaff_s4 = iVar3;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0))\n        goto LAB_0011c878;\n        bVar9 = *pbVar17;\n        pcVar10 = (char *)(uint)bVar9;\n        zBlob = (char *)0x0;\n        if (paBlob == (char **)0x0) {\n          if ((char)bVar9 < '\0') {\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }\n          else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }\n          pbVar17 = pbVar17 + iVar3;\n          bVar9 = *pbVar17;\n          pcVar10 = (char *)(uint)bVar9;\n        }\n        if ((char)bVar9 < '\0') {\n          paBlob = unaff_s7;\n          iVar3 = (*pcVar19)(pbVar17,unaff_s7);\n          pbVar17 = pbVar17 + iVar3;\n          if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar3 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar17 = pbVar17 + 1;\n        nSuffix = (int)pcVar10;\n        if ((int)pbVar17 - (int)zNode < (int)zBlob) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        piVar5 = (int *)nSuffix;\n        if ((int)pbVar15 - (int)pbVar17 < nSuffix) goto LAB_0011c7f0;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f));\n        paBlob = (char **)(uint)((int)unaff_s1 < (int)piVar5);\n        if ((paBlob != (char **)0x0) ||\n           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))) {\n          piStack_6c = (int *)((int)piVar14 * 2);\n          unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);\n          piVar5 = unaff_s1;\n          piVar14 = piStack_6c;\n          iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar3 != 0) goto LAB_0011c684;\n          iVar3 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix);\n        pbVar17 = pbVar17 + nSuffix;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)nTerm;\n        if ((int)piVar14 < nTerm) {\n          piVar5 = piVar14;\n        }\n        iVar4 = (*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5);\n        unaff_s4 = iVar3;\n        if (unaff_s8 == (sqlite3_int64 *)0x0) {\nLAB_0011c700:\n          piVar5 = (int *)((int)piStack_34 + 1);\n          if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }\n          *(int *)unaff_s3 = nBlob;\n          *(int **)((int)unaff_s3 + 4) = piStack_34;\n          unaff_s3 = (sqlite3_int64 *)0x0;\n        }\n        else if ((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }\n        piVar5 = (int *)((int)piStack_34 + 1);\n        nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n        paBlob = (char **)0x0;\n        piStack_34 = piVar5;\n      } while (pbVar17 < pbVar15);\n    }\n    if (unaff_s8 != (sqlite3_int64 *)0x0) {\n      *(int **)((int)unaff_s8 + 4) = piStack_34;\n      *(int *)unaff_s8 = nBlob;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar3;\n    if (unaff_s3 == (sqlite3_int64 *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      *(int **)((int)unaff_s3 + 4) = piStack_34;\n      *(int *)unaff_s3 = nBlob;\n      (*(code *)puVar2)(iVar3);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if (iHeight < 2) {\n      iVar3 = 0;\n    }\n    else {\n      zBlob = (char *)0x0;\n      nBlob = 0;\n      if (piLeaf == (sqlite3_int64 *)0x0) {\nLAB_0011c928:\n        ppcStack_64 = (char **)0x0;\n        piVar5 = *(int **)piLeaf2;\n        piVar14 = *(int **)((int)piLeaf2 + 4);\nLAB_0011c938:\n        zBlob = (char *)0x0;\n        in_stack_ffffff78 = &zBlob;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        in_stack_ffffff7c = ppcVar11;\n        if (iVar3 == 0) {\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          in_stack_ffffff7c = ppcStack_64;\n          in_stack_ffffff80 = piLeaf2;\n        }\n      }\n      else {\n        piVar5 = *(int **)piLeaf;\n        piVar14 = *(int **)((int)piLeaf + 4);\n        if ((piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))) goto LAB_0011c938;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        in_stack_ffffff7c = ppcVar11;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        if (iVar3 == 0) {\n          in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n          in_stack_ffffff7c = (char **)piLeaf;\n          if (iVar3 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }\n      }\n      unaff_s1 = (int *)(puVar2 + -0x3d2c);\n      zNode = (char *)&zBlob;\n      (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n    }\n  }\nLAB_0011c804:\n  if (iStack_2c == *(int *)puVar20) {\n    return iVar3;\n  }\n  pcVar19 = fts3SegReaderCursor;\n  iVar4 = iStack_2c;\n  puVar20 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar6 = *(int **)(puVar20 + 0x3efec);\n  iStack_c4 = *piVar6;\n  iStack_c0 = iVar3;\n  piStack_bc = unaff_s1;\n  ppcStack_b8 = (char **)zNode;\n  psStack_b4 = unaff_s3;\n  iStack_b0 = unaff_s4;\n  pbStack_ac = pbVar17;\n  ppcStack_a8 = unaff_s6;\n  ppcStack_a4 = unaff_s7;\n  psStack_a0 = unaff_s8;\n  pcStack_9c = pcVar19;\n  if (-1 < (int)piVar14) {\n    uStack_d0._0_4_ = (int *)0x0;\n    iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ee40) + 0x7f20))();\n    piVar13 = uStack_d0._0_4_;\n    if (iVar3 != 0) goto LAB_0011cdbc;\n    lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n    uVar12 = (uint)lVar22;\n    piVar13 = (int *)(uVar12 * 0x400);\n    (**(code **)(puVar20 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)((int *)((int)piVar13 + (int)piVar14) < piVar13) +\n               (uVar12 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10) + ((int)piVar14 >> 0x1f));\n    goto LAB_0011ceb8;\n  }\n  if (*(int *)(iVar4 + 0x100) != 0) {\n    iVar3 = *(int *)(iVar4 + 0x100) + (int)piVar5 * 0x18;\n    if (in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (int *)(*(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24))\n                            (iVar3 + 4,in_stack_ffffff78,in_stack_ffffff7c);\n      if (uStack_d0._0_4_ != (int *)0x0) {\n        puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ed20))(0,0x68);\n        if (puVar7 != (undefined4 *)0x0) {\n          (**(code **)(puVar20 + 0x3ef74))(puVar7 + 1,0,100);\n          *puVar7 = 0x7fffffff;\n          puVar7[0xe] = puVar7 + 0x18;\n          uVar12 = (uint)(puVar7 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar7 + 0x18) - uVar12);\n          *puVar1 = *puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8;\n          uVar12 = (int)puVar7 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar7 + 99U) - uVar12);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar20 + 0x3ec08))(0);\n        iVar3 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(int **)(iVar3 + 0xc);\n      if (uStack_d0._0_4_ == (int *)0x0) {\n        (**(code **)(puVar20 + 0x3ebe0))(0);\n      }\n      else {\n        iVar8 = 0;\n        iVar3 = 0;\n        ppcVar11 = (char **)0x0;\n        do {\n          unaff_s7 = ppcVar11;\n          if ((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))) {\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;\n          iVar3 = iVar18;\n          ppcVar11 = unaff_s7;\n        } while (uStack_d0._0_4_ != (int *)0x0);\n        if (1 < iVar18) {\n          (**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar18 != 0) goto LAB_0011d154;\n        (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }\n  if (piVar14 != (int *)0xffffffff) {\n    iVar8 = *(int *)(puVar20 + 0x3ee40);\n    goto LAB_0011cc20;\n  }\n  (**(code **)(puVar20 + 0x3ec08))(0);\n  iVar3 = 0;\nLAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar6) {\n        return iVar3;\n      }\n      (**(code **)(puVar20 + 0x3efd0))();\nLAB_0011d154:\n      iVar18 = 1;\nLAB_0011cd08:\n      iVar8 = (iVar18 + 0x19) * 4;\n      iVar3 = (**(code **)(puVar20 + 0x3ed20))(0,iVar8);\n      ppcVar11 = unaff_s7;\n      if (iVar3 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar20 + 0x3ebe0))(ppcVar11);\n      (**(code **)(puVar20 + 0x3ec08))(0);\n      iVar3 = 7;\n      unaff_s7 = ppcVar11;\n    }\n    puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ef74))(iVar3,0,iVar8);\n    puVar7[0xe] = puVar7 + 0x18;\n    pcVar19 = *(code **)(puVar20 + 0x3eff0);\n    *puVar7 = 0x7fffffff;\n    (*pcVar19)(puVar7 + 0x18,unaff_s7,iVar8 + -100);\n    (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4))(&_gp,&DAT_001635b4,puVar7);\n    if ((piVar14 == (int *)0xffffffff) || (iVar8 = *(int *)(puVar20 + 0x3ee40), iVar3 != 0)) {\n      piVar13 = (int *)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (int *)0x0;\n      iVar3 = (*(code *)(iVar8 + 0x7f20))(iVar4,0xd,&uStack_d0,0);\n      piVar13 = uStack_d0._0_4_;\n      if (iVar3 == 0) {\n        lVar22 = ((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))\n                 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22);\n        lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n        uVar21 = (uint)lVar22;\n        uVar12 = uVar21 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10));\nLAB_0011ceb8:\n        piVar13 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar16 = *(int *)(puVar20 + 0x3ecc0);\n        unaff_s7 = (char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0);\n        iVar8 = *(int *)(puVar20 + 0x3ec94);\n        iVar18 = *(int *)(puVar20 + 0x3ecb8);\n        do {\n          iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);\n          if (iVar3 != 100) break;\n          uStack_dc = 0;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);\n          uStack_d8 = lVar22;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);\n          uStack_d0 = lVar22;\n          uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);\n          piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);\n          paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);\n          if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))\n          {\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }\n          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar22;\n          iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc);\n          uStack_d8 = lVar22;\n          if (iVar3 != 0) break;\n          iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);\n        } while (iVar3 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar8 = (**(code **)(puVar20 + 0x3ec08))(piVar13);\n    piVar14 = piVar13;\n    if (iVar3 == 0x65) {\n      iVar3 = iVar8;\n    }\n  } while( true );\n}" primitive_type (function_declarator "fts3SelectLeaf(Fts3Table *p,char *zTerm,int nTerm,char *zNode,int nNode,sqlite3_int64 *piLeaf,\n                  sqlite3_int64 *piLeaf2)" identifier (parameter_list "(Fts3Table *p,char *zTerm,int nTerm,char *zNode,int nNode,sqlite3_int64 *piLeaf,\n                  sqlite3_int64 *piLeaf2)" ( (parameter_declaration "Fts3Table *p" type_identifier (pointer_declarator "*p" * identifier)) , (parameter_declaration "char *zTerm" primitive_type (pointer_declarator "*zTerm" * identifier)) , (parameter_declaration "int nTerm" primitive_type identifier) , (parameter_declaration "char *zNode" primitive_type (pointer_declarator "*zNode" * identifier)) , (parameter_declaration "int nNode" primitive_type identifier) , (parameter_declaration "sqlite3_int64 *piLeaf" type_identifier (pointer_declarator "*piLeaf" * identifier)) , (parameter_declaration "sqlite3_int64 *piLeaf2" type_identifier (pointer_declarator "*piLeaf2" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  byte bVar9;\n  int *piVar5;\n  int *piVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  char *pcVar10;\n  char **paBlob;\n  char **ppcVar11;\n  uint uVar12;\n  int *piVar13;\n  int *piVar14;\n  byte *pbVar15;\n  int *unaff_s1;\n  sqlite3_int64 *unaff_s3;\n  int unaff_s4;\n  int iVar16;\n  byte *pbVar17;\n  int iVar18;\n  char **unaff_s6;\n  char **unaff_s7;\n  code *pcVar19;\n  undefined *puVar20;\n  sqlite3_int64 *unaff_s8;\n  uint uVar21;\n  longlong lVar22;\n  undefined8 uVar23;\n  undefined8 *puStack_e4;\n  undefined4 uStack_dc;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  int iStack_c4;\n  int iStack_c0;\n  int *piStack_bc;\n  char **ppcStack_b8;\n  sqlite3_int64 *psStack_b4;\n  int iStack_b0;\n  byte *pbStack_ac;\n  char **ppcStack_a8;\n  char **ppcStack_a4;\n  sqlite3_int64 *psStack_a0;\n  code *pcStack_9c;\n  char **in_stack_ffffff78;\n  char **in_stack_ffffff7c;\n  sqlite3_int64 *in_stack_ffffff80;\n  int iStack_7c;\n  int *piStack_6c;\n  char **ppcStack_64;\n  int iHeight;\n  int nSuffix;\n  char *zBlob;\n  int nBlob;\n  int *piStack_34;\n  int iStack_2c;\n  \n  puVar20 = PTR___stack_chk_guard_0015ba2c;\n  ppcStack_64 = (char **)piLeaf;\n  iStack_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  piVar5 = (int *)nTerm;\n  piVar14 = (int *)zNode;\n  uVar12 = (uint)(byte)*zNode;\n  if (*zNode < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(zNode,&iHeight);\n    uVar12 = iHeight;\n  }\n  iHeight = uVar12;\n  ppcVar11 = (char **)&nBlob;\n  pcVar19 = (code *)(PTR_LAB_0015b65c + 0xf74);\n  pbVar15 = (byte *)(zNode + nNode);\n  paBlob = ppcVar11;\n  iVar3 = (*pcVar19)(zNode);\n  iVar4 = (*pcVar19)(zNode + iVar3);\n  pbVar17 = (byte *)(zNode + iVar3 + iVar4);\n  if (pbVar15 < pbVar17) {\n    iVar3 = 0x10b;\n  }\n  else {\n    iVar3 = 0;\n    unaff_s3 = piLeaf2;\n    unaff_s8 = piLeaf;\n    if (pbVar17 < pbVar15) {\n      unaff_s1 = (int *)0x0;\n      paBlob = (char **)0x1;\n      unaff_s6 = &zBlob;\n      pcVar19 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      piStack_6c = (int *)0x0;\n      unaff_s7 = (char **)&nSuffix;\n      unaff_s4 = iVar3;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0))\n        goto LAB_0011c878;\n        bVar9 = *pbVar17;\n        pcVar10 = (char *)(uint)bVar9;\n        zBlob = (char *)0x0;\n        if (paBlob == (char **)0x0) {\n          if ((char)bVar9 < '\0') {\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }\n          else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }\n          pbVar17 = pbVar17 + iVar3;\n          bVar9 = *pbVar17;\n          pcVar10 = (char *)(uint)bVar9;\n        }\n        if ((char)bVar9 < '\0') {\n          paBlob = unaff_s7;\n          iVar3 = (*pcVar19)(pbVar17,unaff_s7);\n          pbVar17 = pbVar17 + iVar3;\n          if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar3 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar17 = pbVar17 + 1;\n        nSuffix = (int)pcVar10;\n        if ((int)pbVar17 - (int)zNode < (int)zBlob) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        piVar5 = (int *)nSuffix;\n        if ((int)pbVar15 - (int)pbVar17 < nSuffix) goto LAB_0011c7f0;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f));\n        paBlob = (char **)(uint)((int)unaff_s1 < (int)piVar5);\n        if ((paBlob != (char **)0x0) ||\n           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))) {\n          piStack_6c = (int *)((int)piVar14 * 2);\n          unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);\n          piVar5 = unaff_s1;\n          piVar14 = piStack_6c;\n          iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar3 != 0) goto LAB_0011c684;\n          iVar3 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix);\n        pbVar17 = pbVar17 + nSuffix;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)nTerm;\n        if ((int)piVar14 < nTerm) {\n          piVar5 = piVar14;\n        }\n        iVar4 = (*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5);\n        unaff_s4 = iVar3;\n        if (unaff_s8 == (sqlite3_int64 *)0x0) {\nLAB_0011c700:\n          piVar5 = (int *)((int)piStack_34 + 1);\n          if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }\n          *(int *)unaff_s3 = nBlob;\n          *(int **)((int)unaff_s3 + 4) = piStack_34;\n          unaff_s3 = (sqlite3_int64 *)0x0;\n        }\n        else if ((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }\n        piVar5 = (int *)((int)piStack_34 + 1);\n        nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n        paBlob = (char **)0x0;\n        piStack_34 = piVar5;\n      } while (pbVar17 < pbVar15);\n    }\n    if (unaff_s8 != (sqlite3_int64 *)0x0) {\n      *(int **)((int)unaff_s8 + 4) = piStack_34;\n      *(int *)unaff_s8 = nBlob;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar3;\n    if (unaff_s3 == (sqlite3_int64 *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      *(int **)((int)unaff_s3 + 4) = piStack_34;\n      *(int *)unaff_s3 = nBlob;\n      (*(code *)puVar2)(iVar3);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if (iHeight < 2) {\n      iVar3 = 0;\n    }\n    else {\n      zBlob = (char *)0x0;\n      nBlob = 0;\n      if (piLeaf == (sqlite3_int64 *)0x0) {\nLAB_0011c928:\n        ppcStack_64 = (char **)0x0;\n        piVar5 = *(int **)piLeaf2;\n        piVar14 = *(int **)((int)piLeaf2 + 4);\nLAB_0011c938:\n        zBlob = (char *)0x0;\n        in_stack_ffffff78 = &zBlob;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        in_stack_ffffff7c = ppcVar11;\n        if (iVar3 == 0) {\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          in_stack_ffffff7c = ppcStack_64;\n          in_stack_ffffff80 = piLeaf2;\n        }\n      }\n      else {\n        piVar5 = *(int **)piLeaf;\n        piVar14 = *(int **)((int)piLeaf + 4);\n        if ((piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))) goto LAB_0011c938;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        in_stack_ffffff7c = ppcVar11;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        if (iVar3 == 0) {\n          in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n          in_stack_ffffff7c = (char **)piLeaf;\n          if (iVar3 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }\n      }\n      unaff_s1 = (int *)(puVar2 + -0x3d2c);\n      zNode = (char *)&zBlob;\n      (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n    }\n  }\nLAB_0011c804:\n  if (iStack_2c == *(int *)puVar20) {\n    return iVar3;\n  }\n  pcVar19 = fts3SegReaderCursor;\n  iVar4 = iStack_2c;\n  puVar20 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar6 = *(int **)(puVar20 + 0x3efec);\n  iStack_c4 = *piVar6;\n  iStack_c0 = iVar3;\n  piStack_bc = unaff_s1;\n  ppcStack_b8 = (char **)zNode;\n  psStack_b4 = unaff_s3;\n  iStack_b0 = unaff_s4;\n  pbStack_ac = pbVar17;\n  ppcStack_a8 = unaff_s6;\n  ppcStack_a4 = unaff_s7;\n  psStack_a0 = unaff_s8;\n  pcStack_9c = pcVar19;\n  if (-1 < (int)piVar14) {\n    uStack_d0._0_4_ = (int *)0x0;\n    iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ee40) + 0x7f20))();\n    piVar13 = uStack_d0._0_4_;\n    if (iVar3 != 0) goto LAB_0011cdbc;\n    lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n    uVar12 = (uint)lVar22;\n    piVar13 = (int *)(uVar12 * 0x400);\n    (**(code **)(puVar20 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)((int *)((int)piVar13 + (int)piVar14) < piVar13) +\n               (uVar12 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10) + ((int)piVar14 >> 0x1f));\n    goto LAB_0011ceb8;\n  }\n  if (*(int *)(iVar4 + 0x100) != 0) {\n    iVar3 = *(int *)(iVar4 + 0x100) + (int)piVar5 * 0x18;\n    if (in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (int *)(*(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24))\n                            (iVar3 + 4,in_stack_ffffff78,in_stack_ffffff7c);\n      if (uStack_d0._0_4_ != (int *)0x0) {\n        puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ed20))(0,0x68);\n        if (puVar7 != (undefined4 *)0x0) {\n          (**(code **)(puVar20 + 0x3ef74))(puVar7 + 1,0,100);\n          *puVar7 = 0x7fffffff;\n          puVar7[0xe] = puVar7 + 0x18;\n          uVar12 = (uint)(puVar7 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar7 + 0x18) - uVar12);\n          *puVar1 = *puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8;\n          uVar12 = (int)puVar7 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar7 + 99U) - uVar12);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar20 + 0x3ec08))(0);\n        iVar3 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(int **)(iVar3 + 0xc);\n      if (uStack_d0._0_4_ == (int *)0x0) {\n        (**(code **)(puVar20 + 0x3ebe0))(0);\n      }\n      else {\n        iVar8 = 0;\n        iVar3 = 0;\n        ppcVar11 = (char **)0x0;\n        do {\n          unaff_s7 = ppcVar11;\n          if ((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))) {\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;\n          iVar3 = iVar18;\n          ppcVar11 = unaff_s7;\n        } while (uStack_d0._0_4_ != (int *)0x0);\n        if (1 < iVar18) {\n          (**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar18 != 0) goto LAB_0011d154;\n        (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }\n  if (piVar14 != (int *)0xffffffff) {\n    iVar8 = *(int *)(puVar20 + 0x3ee40);\n    goto LAB_0011cc20;\n  }\n  (**(code **)(puVar20 + 0x3ec08))(0);\n  iVar3 = 0;\nLAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar6) {\n        return iVar3;\n      }\n      (**(code **)(puVar20 + 0x3efd0))();\nLAB_0011d154:\n      iVar18 = 1;\nLAB_0011cd08:\n      iVar8 = (iVar18 + 0x19) * 4;\n      iVar3 = (**(code **)(puVar20 + 0x3ed20))(0,iVar8);\n      ppcVar11 = unaff_s7;\n      if (iVar3 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar20 + 0x3ebe0))(ppcVar11);\n      (**(code **)(puVar20 + 0x3ec08))(0);\n      iVar3 = 7;\n      unaff_s7 = ppcVar11;\n    }\n    puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ef74))(iVar3,0,iVar8);\n    puVar7[0xe] = puVar7 + 0x18;\n    pcVar19 = *(code **)(puVar20 + 0x3eff0);\n    *puVar7 = 0x7fffffff;\n    (*pcVar19)(puVar7 + 0x18,unaff_s7,iVar8 + -100);\n    (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4))(&_gp,&DAT_001635b4,puVar7);\n    if ((piVar14 == (int *)0xffffffff) || (iVar8 = *(int *)(puVar20 + 0x3ee40), iVar3 != 0)) {\n      piVar13 = (int *)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (int *)0x0;\n      iVar3 = (*(code *)(iVar8 + 0x7f20))(iVar4,0xd,&uStack_d0,0);\n      piVar13 = uStack_d0._0_4_;\n      if (iVar3 == 0) {\n        lVar22 = ((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))\n                 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22);\n        lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n        uVar21 = (uint)lVar22;\n        uVar12 = uVar21 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10));\nLAB_0011ceb8:\n        piVar13 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar16 = *(int *)(puVar20 + 0x3ecc0);\n        unaff_s7 = (char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0);\n        iVar8 = *(int *)(puVar20 + 0x3ec94);\n        iVar18 = *(int *)(puVar20 + 0x3ecb8);\n        do {\n          iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);\n          if (iVar3 != 100) break;\n          uStack_dc = 0;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);\n          uStack_d8 = lVar22;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);\n          uStack_d0 = lVar22;\n          uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);\n          piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);\n          paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);\n          if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))\n          {\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }\n          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar22;\n          iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc);\n          uStack_d8 = lVar22;\n          if (iVar3 != 0) break;\n          iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);\n        } while (iVar3 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar8 = (**(code **)(puVar20 + 0x3ec08))(piVar13);\n    piVar14 = piVar13;\n    if (iVar3 == 0x65) {\n      iVar3 = iVar8;\n    }\n  } while( true );\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "char **paBlob;" primitive_type (pointer_declarator "**paBlob" * (pointer_declarator "*paBlob" * identifier)) ;) (declaration "char **ppcVar11;" primitive_type (pointer_declarator "**ppcVar11" * (pointer_declarator "*ppcVar11" * identifier)) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "int *unaff_s1;" primitive_type (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "sqlite3_int64 *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "int unaff_s4;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "char **unaff_s6;" primitive_type (pointer_declarator "**unaff_s6" * (pointer_declarator "*unaff_s6" * identifier)) ;) (declaration "char **unaff_s7;" primitive_type (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier)) ;) (declaration "code *pcVar19;" type_identifier (pointer_declarator "*pcVar19" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "sqlite3_int64 *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "longlong lVar22;" type_identifier identifier ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "undefined8 *puStack_e4;" type_identifier (pointer_declarator "*puStack_e4" * identifier) ;) (declaration "undefined4 uStack_dc;" type_identifier identifier ;) (declaration "undefined8 uStack_d8;" type_identifier identifier ;) (declaration "undefined8 uStack_d0;" type_identifier identifier ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "int iStack_c0;" primitive_type identifier ;) (declaration "int *piStack_bc;" primitive_type (pointer_declarator "*piStack_bc" * identifier) ;) (declaration "char **ppcStack_b8;" primitive_type (pointer_declarator "**ppcStack_b8" * (pointer_declarator "*ppcStack_b8" * identifier)) ;) (declaration "sqlite3_int64 *psStack_b4;" type_identifier (pointer_declarator "*psStack_b4" * identifier) ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "byte *pbStack_ac;" type_identifier (pointer_declarator "*pbStack_ac" * identifier) ;) (declaration "char **ppcStack_a8;" primitive_type (pointer_declarator "**ppcStack_a8" * (pointer_declarator "*ppcStack_a8" * identifier)) ;) (declaration "char **ppcStack_a4;" primitive_type (pointer_declarator "**ppcStack_a4" * (pointer_declarator "*ppcStack_a4" * identifier)) ;) (declaration "sqlite3_int64 *psStack_a0;" type_identifier (pointer_declarator "*psStack_a0" * identifier) ;) (declaration "code *pcStack_9c;" type_identifier (pointer_declarator "*pcStack_9c" * identifier) ;) (declaration "char **in_stack_ffffff78;" primitive_type (pointer_declarator "**in_stack_ffffff78" * (pointer_declarator "*in_stack_ffffff78" * identifier)) ;) (declaration "char **in_stack_ffffff7c;" primitive_type (pointer_declarator "**in_stack_ffffff7c" * (pointer_declarator "*in_stack_ffffff7c" * identifier)) ;) (declaration "sqlite3_int64 *in_stack_ffffff80;" type_identifier (pointer_declarator "*in_stack_ffffff80" * identifier) ;) (declaration "int iStack_7c;" primitive_type identifier ;) (declaration "int *piStack_6c;" primitive_type (pointer_declarator "*piStack_6c" * identifier) ;) (declaration "char **ppcStack_64;" primitive_type (pointer_declarator "**ppcStack_64" * (pointer_declarator "*ppcStack_64" * identifier)) ;) (declaration "int iHeight;" primitive_type identifier ;) (declaration "int nSuffix;" primitive_type identifier ;) (declaration "char *zBlob;" primitive_type (pointer_declarator "*zBlob" * identifier) ;) (declaration "int nBlob;" primitive_type identifier ;) (declaration "int *piStack_34;" primitive_type (pointer_declarator "*piStack_34" * identifier) ;) (declaration "int iStack_2c;" primitive_type identifier ;) (expression_statement "puVar20 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar20 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "ppcStack_64 = (char **)piLeaf;" (assignment_expression "ppcStack_64 = (char **)piLeaf" identifier = (cast_expression "(char **)piLeaf" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "iStack_2c = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "iStack_2c = *(int *)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar5 = (int *)nTerm;" (assignment_expression "piVar5 = (int *)nTerm" identifier = (cast_expression "(int *)nTerm" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar14 = (int *)zNode;" (assignment_expression "piVar14 = (int *)zNode" identifier = (cast_expression "(int *)zNode" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar12 = (uint)(byte)*zNode;" (assignment_expression "uVar12 = (uint)(byte)*zNode" identifier = (binary_expression "(uint)(byte)*zNode" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (if_statement "if (*zNode < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(zNode,&iHeight);\n    uVar12 = iHeight;\n  }" if (parenthesized_expression "(*zNode < '\0')" ( (binary_expression "*zNode < '\0'" (pointer_expression "*zNode" * identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(zNode,&iHeight);\n    uVar12 = iHeight;\n  }" { (expression_statement "(*(code *)(PTR_LAB_0015b65c + 0x1084))(zNode,&iHeight);" (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(zNode,&iHeight)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) )) (argument_list "(zNode,&iHeight)" ( identifier , (pointer_expression "&iHeight" & identifier) ))) ;) (expression_statement "uVar12 = iHeight;" (assignment_expression "uVar12 = iHeight" identifier = identifier) ;) })) (expression_statement "iHeight = uVar12;" (assignment_expression "iHeight = uVar12" identifier = identifier) ;) (expression_statement "ppcVar11 = (char **)&nBlob;" (assignment_expression "ppcVar11 = (char **)&nBlob" identifier = (cast_expression "(char **)&nBlob" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&nBlob" & identifier))) ;) (expression_statement "pcVar19 = (code *)(PTR_LAB_0015b65c + 0xf74);" (assignment_expression "pcVar19 = (code *)(PTR_LAB_0015b65c + 0xf74)" identifier = (cast_expression "(code *)(PTR_LAB_0015b65c + 0xf74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0xf74)" ( (binary_expression "PTR_LAB_0015b65c + 0xf74" identifier + number_literal) )))) ;) (expression_statement "pbVar15 = (byte *)(zNode + nNode);" (assignment_expression "pbVar15 = (byte *)(zNode + nNode)" identifier = (cast_expression "(byte *)(zNode + nNode)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(zNode + nNode)" ( (binary_expression "zNode + nNode" identifier + identifier) )))) ;) (expression_statement "paBlob = ppcVar11;" (assignment_expression "paBlob = ppcVar11" identifier = identifier) ;) (expression_statement "iVar3 = (*pcVar19)(zNode);" (assignment_expression "iVar3 = (*pcVar19)(zNode)" identifier = (call_expression "(*pcVar19)(zNode)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(zNode)" ( identifier )))) ;) (expression_statement "iVar4 = (*pcVar19)(zNode + iVar3);" (assignment_expression "iVar4 = (*pcVar19)(zNode + iVar3)" identifier = (call_expression "(*pcVar19)(zNode + iVar3)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(zNode + iVar3)" ( (binary_expression "zNode + iVar3" identifier + identifier) )))) ;) (expression_statement "pbVar17 = (byte *)(zNode + iVar3 + iVar4);" (assignment_expression "pbVar17 = (byte *)(zNode + iVar3 + iVar4)" identifier = (cast_expression "(byte *)(zNode + iVar3 + iVar4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(zNode + iVar3 + iVar4)" ( (binary_expression "zNode + iVar3 + iVar4" (binary_expression "zNode + iVar3" identifier + identifier) + identifier) )))) ;) (if_statement "if (pbVar15 < pbVar17) {\n    iVar3 = 0x10b;\n  }\n  else {\n    iVar3 = 0;\n    unaff_s3 = piLeaf2;\n    unaff_s8 = piLeaf;\n    if (pbVar17 < pbVar15) {\n      unaff_s1 = (int *)0x0;\n      paBlob = (char **)0x1;\n      unaff_s6 = &zBlob;\n      pcVar19 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      piStack_6c = (int *)0x0;\n      unaff_s7 = (char **)&nSuffix;\n      unaff_s4 = iVar3;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0))\n        goto LAB_0011c878;\n        bVar9 = *pbVar17;\n        pcVar10 = (char *)(uint)bVar9;\n        zBlob = (char *)0x0;\n        if (paBlob == (char **)0x0) {\n          if ((char)bVar9 < '\0') {\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }\n          else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }\n          pbVar17 = pbVar17 + iVar3;\n          bVar9 = *pbVar17;\n          pcVar10 = (char *)(uint)bVar9;\n        }\n        if ((char)bVar9 < '\0') {\n          paBlob = unaff_s7;\n          iVar3 = (*pcVar19)(pbVar17,unaff_s7);\n          pbVar17 = pbVar17 + iVar3;\n          if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar3 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar17 = pbVar17 + 1;\n        nSuffix = (int)pcVar10;\n        if ((int)pbVar17 - (int)zNode < (int)zBlob) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        piVar5 = (int *)nSuffix;\n        if ((int)pbVar15 - (int)pbVar17 < nSuffix) goto LAB_0011c7f0;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f));\n        paBlob = (char **)(uint)((int)unaff_s1 < (int)piVar5);\n        if ((paBlob != (char **)0x0) ||\n           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))) {\n          piStack_6c = (int *)((int)piVar14 * 2);\n          unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);\n          piVar5 = unaff_s1;\n          piVar14 = piStack_6c;\n          iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar3 != 0) goto LAB_0011c684;\n          iVar3 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix);\n        pbVar17 = pbVar17 + nSuffix;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)nTerm;\n        if ((int)piVar14 < nTerm) {\n          piVar5 = piVar14;\n        }\n        iVar4 = (*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5);\n        unaff_s4 = iVar3;\n        if (unaff_s8 == (sqlite3_int64 *)0x0) {\nLAB_0011c700:\n          piVar5 = (int *)((int)piStack_34 + 1);\n          if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }\n          *(int *)unaff_s3 = nBlob;\n          *(int **)((int)unaff_s3 + 4) = piStack_34;\n          unaff_s3 = (sqlite3_int64 *)0x0;\n        }\n        else if ((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }\n        piVar5 = (int *)((int)piStack_34 + 1);\n        nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n        paBlob = (char **)0x0;\n        piStack_34 = piVar5;\n      } while (pbVar17 < pbVar15);\n    }\n    if (unaff_s8 != (sqlite3_int64 *)0x0) {\n      *(int **)((int)unaff_s8 + 4) = piStack_34;\n      *(int *)unaff_s8 = nBlob;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar3;\n    if (unaff_s3 == (sqlite3_int64 *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      *(int **)((int)unaff_s3 + 4) = piStack_34;\n      *(int *)unaff_s3 = nBlob;\n      (*(code *)puVar2)(iVar3);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if (iHeight < 2) {\n      iVar3 = 0;\n    }\n    else {\n      zBlob = (char *)0x0;\n      nBlob = 0;\n      if (piLeaf == (sqlite3_int64 *)0x0) {\nLAB_0011c928:\n        ppcStack_64 = (char **)0x0;\n        piVar5 = *(int **)piLeaf2;\n        piVar14 = *(int **)((int)piLeaf2 + 4);\nLAB_0011c938:\n        zBlob = (char *)0x0;\n        in_stack_ffffff78 = &zBlob;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        in_stack_ffffff7c = ppcVar11;\n        if (iVar3 == 0) {\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          in_stack_ffffff7c = ppcStack_64;\n          in_stack_ffffff80 = piLeaf2;\n        }\n      }\n      else {\n        piVar5 = *(int **)piLeaf;\n        piVar14 = *(int **)((int)piLeaf + 4);\n        if ((piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))) goto LAB_0011c938;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        in_stack_ffffff7c = ppcVar11;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        if (iVar3 == 0) {\n          in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n          in_stack_ffffff7c = (char **)piLeaf;\n          if (iVar3 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }\n      }\n      unaff_s1 = (int *)(puVar2 + -0x3d2c);\n      zNode = (char *)&zBlob;\n      (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n    }\n  }" if (parenthesized_expression "(pbVar15 < pbVar17)" ( (binary_expression "pbVar15 < pbVar17" identifier < identifier) )) (compound_statement "{\n    iVar3 = 0x10b;\n  }" { (expression_statement "iVar3 = 0x10b;" (assignment_expression "iVar3 = 0x10b" identifier = number_literal) ;) }) (else_clause "else {\n    iVar3 = 0;\n    unaff_s3 = piLeaf2;\n    unaff_s8 = piLeaf;\n    if (pbVar17 < pbVar15) {\n      unaff_s1 = (int *)0x0;\n      paBlob = (char **)0x1;\n      unaff_s6 = &zBlob;\n      pcVar19 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      piStack_6c = (int *)0x0;\n      unaff_s7 = (char **)&nSuffix;\n      unaff_s4 = iVar3;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0))\n        goto LAB_0011c878;\n        bVar9 = *pbVar17;\n        pcVar10 = (char *)(uint)bVar9;\n        zBlob = (char *)0x0;\n        if (paBlob == (char **)0x0) {\n          if ((char)bVar9 < '\0') {\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }\n          else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }\n          pbVar17 = pbVar17 + iVar3;\n          bVar9 = *pbVar17;\n          pcVar10 = (char *)(uint)bVar9;\n        }\n        if ((char)bVar9 < '\0') {\n          paBlob = unaff_s7;\n          iVar3 = (*pcVar19)(pbVar17,unaff_s7);\n          pbVar17 = pbVar17 + iVar3;\n          if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar3 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar17 = pbVar17 + 1;\n        nSuffix = (int)pcVar10;\n        if ((int)pbVar17 - (int)zNode < (int)zBlob) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        piVar5 = (int *)nSuffix;\n        if ((int)pbVar15 - (int)pbVar17 < nSuffix) goto LAB_0011c7f0;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f));\n        paBlob = (char **)(uint)((int)unaff_s1 < (int)piVar5);\n        if ((paBlob != (char **)0x0) ||\n           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))) {\n          piStack_6c = (int *)((int)piVar14 * 2);\n          unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);\n          piVar5 = unaff_s1;\n          piVar14 = piStack_6c;\n          iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar3 != 0) goto LAB_0011c684;\n          iVar3 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix);\n        pbVar17 = pbVar17 + nSuffix;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)nTerm;\n        if ((int)piVar14 < nTerm) {\n          piVar5 = piVar14;\n        }\n        iVar4 = (*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5);\n        unaff_s4 = iVar3;\n        if (unaff_s8 == (sqlite3_int64 *)0x0) {\nLAB_0011c700:\n          piVar5 = (int *)((int)piStack_34 + 1);\n          if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }\n          *(int *)unaff_s3 = nBlob;\n          *(int **)((int)unaff_s3 + 4) = piStack_34;\n          unaff_s3 = (sqlite3_int64 *)0x0;\n        }\n        else if ((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }\n        piVar5 = (int *)((int)piStack_34 + 1);\n        nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n        paBlob = (char **)0x0;\n        piStack_34 = piVar5;\n      } while (pbVar17 < pbVar15);\n    }\n    if (unaff_s8 != (sqlite3_int64 *)0x0) {\n      *(int **)((int)unaff_s8 + 4) = piStack_34;\n      *(int *)unaff_s8 = nBlob;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar3;\n    if (unaff_s3 == (sqlite3_int64 *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      *(int **)((int)unaff_s3 + 4) = piStack_34;\n      *(int *)unaff_s3 = nBlob;\n      (*(code *)puVar2)(iVar3);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if (iHeight < 2) {\n      iVar3 = 0;\n    }\n    else {\n      zBlob = (char *)0x0;\n      nBlob = 0;\n      if (piLeaf == (sqlite3_int64 *)0x0) {\nLAB_0011c928:\n        ppcStack_64 = (char **)0x0;\n        piVar5 = *(int **)piLeaf2;\n        piVar14 = *(int **)((int)piLeaf2 + 4);\nLAB_0011c938:\n        zBlob = (char *)0x0;\n        in_stack_ffffff78 = &zBlob;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        in_stack_ffffff7c = ppcVar11;\n        if (iVar3 == 0) {\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          in_stack_ffffff7c = ppcStack_64;\n          in_stack_ffffff80 = piLeaf2;\n        }\n      }\n      else {\n        piVar5 = *(int **)piLeaf;\n        piVar14 = *(int **)((int)piLeaf + 4);\n        if ((piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))) goto LAB_0011c938;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        in_stack_ffffff7c = ppcVar11;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        if (iVar3 == 0) {\n          in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n          in_stack_ffffff7c = (char **)piLeaf;\n          if (iVar3 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }\n      }\n      unaff_s1 = (int *)(puVar2 + -0x3d2c);\n      zNode = (char *)&zBlob;\n      (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n    }\n  }" else (compound_statement "{\n    iVar3 = 0;\n    unaff_s3 = piLeaf2;\n    unaff_s8 = piLeaf;\n    if (pbVar17 < pbVar15) {\n      unaff_s1 = (int *)0x0;\n      paBlob = (char **)0x1;\n      unaff_s6 = &zBlob;\n      pcVar19 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      piStack_6c = (int *)0x0;\n      unaff_s7 = (char **)&nSuffix;\n      unaff_s4 = iVar3;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0))\n        goto LAB_0011c878;\n        bVar9 = *pbVar17;\n        pcVar10 = (char *)(uint)bVar9;\n        zBlob = (char *)0x0;\n        if (paBlob == (char **)0x0) {\n          if ((char)bVar9 < '\0') {\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }\n          else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }\n          pbVar17 = pbVar17 + iVar3;\n          bVar9 = *pbVar17;\n          pcVar10 = (char *)(uint)bVar9;\n        }\n        if ((char)bVar9 < '\0') {\n          paBlob = unaff_s7;\n          iVar3 = (*pcVar19)(pbVar17,unaff_s7);\n          pbVar17 = pbVar17 + iVar3;\n          if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar3 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar17 = pbVar17 + 1;\n        nSuffix = (int)pcVar10;\n        if ((int)pbVar17 - (int)zNode < (int)zBlob) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        piVar5 = (int *)nSuffix;\n        if ((int)pbVar15 - (int)pbVar17 < nSuffix) goto LAB_0011c7f0;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f));\n        paBlob = (char **)(uint)((int)unaff_s1 < (int)piVar5);\n        if ((paBlob != (char **)0x0) ||\n           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))) {\n          piStack_6c = (int *)((int)piVar14 * 2);\n          unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);\n          piVar5 = unaff_s1;\n          piVar14 = piStack_6c;\n          iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar3 != 0) goto LAB_0011c684;\n          iVar3 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix);\n        pbVar17 = pbVar17 + nSuffix;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)nTerm;\n        if ((int)piVar14 < nTerm) {\n          piVar5 = piVar14;\n        }\n        iVar4 = (*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5);\n        unaff_s4 = iVar3;\n        if (unaff_s8 == (sqlite3_int64 *)0x0) {\nLAB_0011c700:\n          piVar5 = (int *)((int)piStack_34 + 1);\n          if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }\n          *(int *)unaff_s3 = nBlob;\n          *(int **)((int)unaff_s3 + 4) = piStack_34;\n          unaff_s3 = (sqlite3_int64 *)0x0;\n        }\n        else if ((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }\n        piVar5 = (int *)((int)piStack_34 + 1);\n        nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n        paBlob = (char **)0x0;\n        piStack_34 = piVar5;\n      } while (pbVar17 < pbVar15);\n    }\n    if (unaff_s8 != (sqlite3_int64 *)0x0) {\n      *(int **)((int)unaff_s8 + 4) = piStack_34;\n      *(int *)unaff_s8 = nBlob;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar3;\n    if (unaff_s3 == (sqlite3_int64 *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      *(int **)((int)unaff_s3 + 4) = piStack_34;\n      *(int *)unaff_s3 = nBlob;\n      (*(code *)puVar2)(iVar3);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if (iHeight < 2) {\n      iVar3 = 0;\n    }\n    else {\n      zBlob = (char *)0x0;\n      nBlob = 0;\n      if (piLeaf == (sqlite3_int64 *)0x0) {\nLAB_0011c928:\n        ppcStack_64 = (char **)0x0;\n        piVar5 = *(int **)piLeaf2;\n        piVar14 = *(int **)((int)piLeaf2 + 4);\nLAB_0011c938:\n        zBlob = (char *)0x0;\n        in_stack_ffffff78 = &zBlob;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        in_stack_ffffff7c = ppcVar11;\n        if (iVar3 == 0) {\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          in_stack_ffffff7c = ppcStack_64;\n          in_stack_ffffff80 = piLeaf2;\n        }\n      }\n      else {\n        piVar5 = *(int **)piLeaf;\n        piVar14 = *(int **)((int)piLeaf + 4);\n        if ((piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))) goto LAB_0011c938;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        in_stack_ffffff7c = ppcVar11;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        if (iVar3 == 0) {\n          in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n          in_stack_ffffff7c = (char **)piLeaf;\n          if (iVar3 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }\n      }\n      unaff_s1 = (int *)(puVar2 + -0x3d2c);\n      zNode = (char *)&zBlob;\n      (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n    }\n  }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "unaff_s3 = piLeaf2;" (assignment_expression "unaff_s3 = piLeaf2" identifier = identifier) ;) (expression_statement "unaff_s8 = piLeaf;" (assignment_expression "unaff_s8 = piLeaf" identifier = identifier) ;) (if_statement "if (pbVar17 < pbVar15) {\n      unaff_s1 = (int *)0x0;\n      paBlob = (char **)0x1;\n      unaff_s6 = &zBlob;\n      pcVar19 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      piStack_6c = (int *)0x0;\n      unaff_s7 = (char **)&nSuffix;\n      unaff_s4 = iVar3;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0))\n        goto LAB_0011c878;\n        bVar9 = *pbVar17;\n        pcVar10 = (char *)(uint)bVar9;\n        zBlob = (char *)0x0;\n        if (paBlob == (char **)0x0) {\n          if ((char)bVar9 < '\0') {\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }\n          else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }\n          pbVar17 = pbVar17 + iVar3;\n          bVar9 = *pbVar17;\n          pcVar10 = (char *)(uint)bVar9;\n        }\n        if ((char)bVar9 < '\0') {\n          paBlob = unaff_s7;\n          iVar3 = (*pcVar19)(pbVar17,unaff_s7);\n          pbVar17 = pbVar17 + iVar3;\n          if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar3 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar17 = pbVar17 + 1;\n        nSuffix = (int)pcVar10;\n        if ((int)pbVar17 - (int)zNode < (int)zBlob) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        piVar5 = (int *)nSuffix;\n        if ((int)pbVar15 - (int)pbVar17 < nSuffix) goto LAB_0011c7f0;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f));\n        paBlob = (char **)(uint)((int)unaff_s1 < (int)piVar5);\n        if ((paBlob != (char **)0x0) ||\n           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))) {\n          piStack_6c = (int *)((int)piVar14 * 2);\n          unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);\n          piVar5 = unaff_s1;\n          piVar14 = piStack_6c;\n          iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar3 != 0) goto LAB_0011c684;\n          iVar3 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix);\n        pbVar17 = pbVar17 + nSuffix;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)nTerm;\n        if ((int)piVar14 < nTerm) {\n          piVar5 = piVar14;\n        }\n        iVar4 = (*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5);\n        unaff_s4 = iVar3;\n        if (unaff_s8 == (sqlite3_int64 *)0x0) {\nLAB_0011c700:\n          piVar5 = (int *)((int)piStack_34 + 1);\n          if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }\n          *(int *)unaff_s3 = nBlob;\n          *(int **)((int)unaff_s3 + 4) = piStack_34;\n          unaff_s3 = (sqlite3_int64 *)0x0;\n        }\n        else if ((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }\n        piVar5 = (int *)((int)piStack_34 + 1);\n        nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n        paBlob = (char **)0x0;\n        piStack_34 = piVar5;\n      } while (pbVar17 < pbVar15);\n    }" if (parenthesized_expression "(pbVar17 < pbVar15)" ( (binary_expression "pbVar17 < pbVar15" identifier < identifier) )) (compound_statement "{\n      unaff_s1 = (int *)0x0;\n      paBlob = (char **)0x1;\n      unaff_s6 = &zBlob;\n      pcVar19 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      piStack_6c = (int *)0x0;\n      unaff_s7 = (char **)&nSuffix;\n      unaff_s4 = iVar3;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0))\n        goto LAB_0011c878;\n        bVar9 = *pbVar17;\n        pcVar10 = (char *)(uint)bVar9;\n        zBlob = (char *)0x0;\n        if (paBlob == (char **)0x0) {\n          if ((char)bVar9 < '\0') {\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }\n          else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }\n          pbVar17 = pbVar17 + iVar3;\n          bVar9 = *pbVar17;\n          pcVar10 = (char *)(uint)bVar9;\n        }\n        if ((char)bVar9 < '\0') {\n          paBlob = unaff_s7;\n          iVar3 = (*pcVar19)(pbVar17,unaff_s7);\n          pbVar17 = pbVar17 + iVar3;\n          if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar3 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar17 = pbVar17 + 1;\n        nSuffix = (int)pcVar10;\n        if ((int)pbVar17 - (int)zNode < (int)zBlob) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        piVar5 = (int *)nSuffix;\n        if ((int)pbVar15 - (int)pbVar17 < nSuffix) goto LAB_0011c7f0;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f));\n        paBlob = (char **)(uint)((int)unaff_s1 < (int)piVar5);\n        if ((paBlob != (char **)0x0) ||\n           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))) {\n          piStack_6c = (int *)((int)piVar14 * 2);\n          unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);\n          piVar5 = unaff_s1;\n          piVar14 = piStack_6c;\n          iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar3 != 0) goto LAB_0011c684;\n          iVar3 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix);\n        pbVar17 = pbVar17 + nSuffix;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)nTerm;\n        if ((int)piVar14 < nTerm) {\n          piVar5 = piVar14;\n        }\n        iVar4 = (*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5);\n        unaff_s4 = iVar3;\n        if (unaff_s8 == (sqlite3_int64 *)0x0) {\nLAB_0011c700:\n          piVar5 = (int *)((int)piStack_34 + 1);\n          if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }\n          *(int *)unaff_s3 = nBlob;\n          *(int **)((int)unaff_s3 + 4) = piStack_34;\n          unaff_s3 = (sqlite3_int64 *)0x0;\n        }\n        else if ((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }\n        piVar5 = (int *)((int)piStack_34 + 1);\n        nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n        paBlob = (char **)0x0;\n        piStack_34 = piVar5;\n      } while (pbVar17 < pbVar15);\n    }" { (expression_statement "unaff_s1 = (int *)0x0;" (assignment_expression "unaff_s1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "paBlob = (char **)0x1;" (assignment_expression "paBlob = (char **)0x1" identifier = (cast_expression "(char **)0x1" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "unaff_s6 = &zBlob;" (assignment_expression "unaff_s6 = &zBlob" identifier = (pointer_expression "&zBlob" & identifier)) ;) (expression_statement "pcVar19 = (code *)(PTR_LAB_0015b65c + 0x1084);" (assignment_expression "pcVar19 = (code *)(PTR_LAB_0015b65c + 0x1084)" identifier = (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) ;) (expression_statement "piStack_6c = (int *)0x0;" (assignment_expression "piStack_6c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s7 = (char **)&nSuffix;" (assignment_expression "unaff_s7 = (char **)&nSuffix" identifier = (cast_expression "(char **)&nSuffix" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&nSuffix" & identifier))) ;) (expression_statement "unaff_s4 = iVar3;" (assignment_expression "unaff_s4 = iVar3" identifier = identifier) ;) (labeled_statement "LAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0))\n        goto LAB_0011c878;\n        bVar9 = *pbVar17;\n        pcVar10 = (char *)(uint)bVar9;\n        zBlob = (char *)0x0;\n        if (paBlob == (char **)0x0) {\n          if ((char)bVar9 < '\0') {\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }\n          else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }\n          pbVar17 = pbVar17 + iVar3;\n          bVar9 = *pbVar17;\n          pcVar10 = (char *)(uint)bVar9;\n        }\n        if ((char)bVar9 < '\0') {\n          paBlob = unaff_s7;\n          iVar3 = (*pcVar19)(pbVar17,unaff_s7);\n          pbVar17 = pbVar17 + iVar3;\n          if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar3 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar17 = pbVar17 + 1;\n        nSuffix = (int)pcVar10;\n        if ((int)pbVar17 - (int)zNode < (int)zBlob) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        piVar5 = (int *)nSuffix;\n        if ((int)pbVar15 - (int)pbVar17 < nSuffix) goto LAB_0011c7f0;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f));\n        paBlob = (char **)(uint)((int)unaff_s1 < (int)piVar5);\n        if ((paBlob != (char **)0x0) ||\n           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))) {\n          piStack_6c = (int *)((int)piVar14 * 2);\n          unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);\n          piVar5 = unaff_s1;\n          piVar14 = piStack_6c;\n          iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar3 != 0) goto LAB_0011c684;\n          iVar3 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix);\n        pbVar17 = pbVar17 + nSuffix;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)nTerm;\n        if ((int)piVar14 < nTerm) {\n          piVar5 = piVar14;\n        }\n        iVar4 = (*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5);\n        unaff_s4 = iVar3;\n        if (unaff_s8 == (sqlite3_int64 *)0x0) {\nLAB_0011c700:\n          piVar5 = (int *)((int)piStack_34 + 1);\n          if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }\n          *(int *)unaff_s3 = nBlob;\n          *(int **)((int)unaff_s3 + 4) = piStack_34;\n          unaff_s3 = (sqlite3_int64 *)0x0;\n        }\n        else if ((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }\n        piVar5 = (int *)((int)piStack_34 + 1);\n        nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n        paBlob = (char **)0x0;\n        piStack_34 = piVar5;\n      } while (pbVar17 < pbVar15);" statement_identifier : (do_statement "do {\n        if ((unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0))\n        goto LAB_0011c878;\n        bVar9 = *pbVar17;\n        pcVar10 = (char *)(uint)bVar9;\n        zBlob = (char *)0x0;\n        if (paBlob == (char **)0x0) {\n          if ((char)bVar9 < '\0') {\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }\n          else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }\n          pbVar17 = pbVar17 + iVar3;\n          bVar9 = *pbVar17;\n          pcVar10 = (char *)(uint)bVar9;\n        }\n        if ((char)bVar9 < '\0') {\n          paBlob = unaff_s7;\n          iVar3 = (*pcVar19)(pbVar17,unaff_s7);\n          pbVar17 = pbVar17 + iVar3;\n          if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar3 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar17 = pbVar17 + 1;\n        nSuffix = (int)pcVar10;\n        if ((int)pbVar17 - (int)zNode < (int)zBlob) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        piVar5 = (int *)nSuffix;\n        if ((int)pbVar15 - (int)pbVar17 < nSuffix) goto LAB_0011c7f0;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f));\n        paBlob = (char **)(uint)((int)unaff_s1 < (int)piVar5);\n        if ((paBlob != (char **)0x0) ||\n           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))) {\n          piStack_6c = (int *)((int)piVar14 * 2);\n          unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);\n          piVar5 = unaff_s1;\n          piVar14 = piStack_6c;\n          iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar3 != 0) goto LAB_0011c684;\n          iVar3 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix);\n        pbVar17 = pbVar17 + nSuffix;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)nTerm;\n        if ((int)piVar14 < nTerm) {\n          piVar5 = piVar14;\n        }\n        iVar4 = (*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5);\n        unaff_s4 = iVar3;\n        if (unaff_s8 == (sqlite3_int64 *)0x0) {\nLAB_0011c700:\n          piVar5 = (int *)((int)piStack_34 + 1);\n          if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }\n          *(int *)unaff_s3 = nBlob;\n          *(int **)((int)unaff_s3 + 4) = piStack_34;\n          unaff_s3 = (sqlite3_int64 *)0x0;\n        }\n        else if ((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }\n        piVar5 = (int *)((int)piStack_34 + 1);\n        nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n        paBlob = (char **)0x0;\n        piStack_34 = piVar5;\n      } while (pbVar17 < pbVar15);" do (compound_statement "{\n        if ((unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0))\n        goto LAB_0011c878;\n        bVar9 = *pbVar17;\n        pcVar10 = (char *)(uint)bVar9;\n        zBlob = (char *)0x0;\n        if (paBlob == (char **)0x0) {\n          if ((char)bVar9 < '\0') {\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }\n          else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }\n          pbVar17 = pbVar17 + iVar3;\n          bVar9 = *pbVar17;\n          pcVar10 = (char *)(uint)bVar9;\n        }\n        if ((char)bVar9 < '\0') {\n          paBlob = unaff_s7;\n          iVar3 = (*pcVar19)(pbVar17,unaff_s7);\n          pbVar17 = pbVar17 + iVar3;\n          if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar3 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar17 = pbVar17 + 1;\n        nSuffix = (int)pcVar10;\n        if ((int)pbVar17 - (int)zNode < (int)zBlob) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        piVar5 = (int *)nSuffix;\n        if ((int)pbVar15 - (int)pbVar17 < nSuffix) goto LAB_0011c7f0;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f));\n        paBlob = (char **)(uint)((int)unaff_s1 < (int)piVar5);\n        if ((paBlob != (char **)0x0) ||\n           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))) {\n          piStack_6c = (int *)((int)piVar14 * 2);\n          unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);\n          piVar5 = unaff_s1;\n          piVar14 = piStack_6c;\n          iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar3 != 0) goto LAB_0011c684;\n          iVar3 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix);\n        pbVar17 = pbVar17 + nSuffix;\n        piVar14 = (int *)(zBlob + nSuffix);\n        piVar5 = (int *)nTerm;\n        if ((int)piVar14 < nTerm) {\n          piVar5 = piVar14;\n        }\n        iVar4 = (*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5);\n        unaff_s4 = iVar3;\n        if (unaff_s8 == (sqlite3_int64 *)0x0) {\nLAB_0011c700:\n          piVar5 = (int *)((int)piStack_34 + 1);\n          if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }\n          *(int *)unaff_s3 = nBlob;\n          *(int **)((int)unaff_s3 + 4) = piStack_34;\n          unaff_s3 = (sqlite3_int64 *)0x0;\n        }\n        else if ((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }\n        piVar5 = (int *)((int)piStack_34 + 1);\n        nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n        paBlob = (char **)0x0;\n        piStack_34 = piVar5;\n      }" { (if_statement "if ((unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0))\n        goto LAB_0011c878;" if (parenthesized_expression "((unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0))" ( (binary_expression "(unaff_s8 == (sqlite3_int64 *)0x0) && (unaff_s3 == (sqlite3_int64 *)0x0)" (parenthesized_expression "(unaff_s8 == (sqlite3_int64 *)0x0)" ( (binary_expression "unaff_s8 == (sqlite3_int64 *)0x0" identifier == (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(unaff_s3 == (sqlite3_int64 *)0x0)" ( (binary_expression "unaff_s3 == (sqlite3_int64 *)0x0" identifier == (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_0011c878;" goto statement_identifier ;)) (expression_statement "bVar9 = *pbVar17;" (assignment_expression "bVar9 = *pbVar17" identifier = (pointer_expression "*pbVar17" * identifier)) ;) (expression_statement "pcVar10 = (char *)(uint)bVar9;" (assignment_expression "pcVar10 = (char *)(uint)bVar9" identifier = (cast_expression "(char *)(uint)bVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "zBlob = (char *)0x0;" (assignment_expression "zBlob = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (paBlob == (char **)0x0) {\n          if ((char)bVar9 < '\0') {\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }\n          else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }\n          pbVar17 = pbVar17 + iVar3;\n          bVar9 = *pbVar17;\n          pcVar10 = (char *)(uint)bVar9;\n        }" if (parenthesized_expression "(paBlob == (char **)0x0)" ( (binary_expression "paBlob == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          if ((char)bVar9 < '\0') {\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }\n          else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }\n          pbVar17 = pbVar17 + iVar3;\n          bVar9 = *pbVar17;\n          pcVar10 = (char *)(uint)bVar9;\n        }" { (if_statement "if ((char)bVar9 < '\0') {\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }\n          else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }" if (parenthesized_expression "((char)bVar9 < '\0')" ( (binary_expression "(char)bVar9 < '\0'" (cast_expression "(char)bVar9" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            paBlob = unaff_s6;\n            iVar3 = (*pcVar19)(pbVar17,unaff_s6);\n          }" { (expression_statement "paBlob = unaff_s6;" (assignment_expression "paBlob = unaff_s6" identifier = identifier) ;) (expression_statement "iVar3 = (*pcVar19)(pbVar17,unaff_s6);" (assignment_expression "iVar3 = (*pcVar19)(pbVar17,unaff_s6)" identifier = (call_expression "(*pcVar19)(pbVar17,unaff_s6)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(pbVar17,unaff_s6)" ( identifier , identifier )))) ;) }) (else_clause "else {\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }" else (compound_statement "{\n            iVar3 = 1;\n            zBlob = pcVar10;\n          }" { (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "zBlob = pcVar10;" (assignment_expression "zBlob = pcVar10" identifier = identifier) ;) }))) (expression_statement "pbVar17 = pbVar17 + iVar3;" (assignment_expression "pbVar17 = pbVar17 + iVar3" identifier = (binary_expression "pbVar17 + iVar3" identifier + identifier)) ;) (expression_statement "bVar9 = *pbVar17;" (assignment_expression "bVar9 = *pbVar17" identifier = (pointer_expression "*pbVar17" * identifier)) ;) (expression_statement "pcVar10 = (char *)(uint)bVar9;" (assignment_expression "pcVar10 = (char *)(uint)bVar9" identifier = (cast_expression "(char *)(uint)bVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (if_statement "if ((char)bVar9 < '\0') {\n          paBlob = unaff_s7;\n          iVar3 = (*pcVar19)(pbVar17,unaff_s7);\n          pbVar17 = pbVar17 + iVar3;\n          if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar3 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }" if (parenthesized_expression "((char)bVar9 < '\0')" ( (binary_expression "(char)bVar9 < '\0'" (cast_expression "(char)bVar9" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          paBlob = unaff_s7;\n          iVar3 = (*pcVar19)(pbVar17,unaff_s7);\n          pbVar17 = pbVar17 + iVar3;\n          if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar3 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }" { (expression_statement "paBlob = unaff_s7;" (assignment_expression "paBlob = unaff_s7" identifier = identifier) ;) (expression_statement "iVar3 = (*pcVar19)(pbVar17,unaff_s7);" (assignment_expression "iVar3 = (*pcVar19)(pbVar17,unaff_s7)" identifier = (call_expression "(*pcVar19)(pbVar17,unaff_s7)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(pbVar17,unaff_s7)" ( identifier , identifier )))) ;) (expression_statement "pbVar17 = pbVar17 + iVar3;" (assignment_expression "pbVar17 = pbVar17 + iVar3" identifier = (binary_expression "pbVar17 + iVar3" identifier + identifier)) ;) (if_statement "if ((int)zBlob <= (int)pbVar17 - (int)zNode) goto LAB_0011c5f8;" if (parenthesized_expression "((int)zBlob <= (int)pbVar17 - (int)zNode)" ( (binary_expression "(int)zBlob <= (int)pbVar17 - (int)zNode" (cast_expression "(int)zBlob" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "(int)pbVar17 - (int)zNode" (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)zNode" ( (type_descriptor "int" primitive_type) ) identifier))) )) (goto_statement "goto LAB_0011c5f8;" goto statement_identifier ;)) (labeled_statement "LAB_0011c7f0:\n          iVar3 = 0x10b;" statement_identifier : (expression_statement "iVar3 = 0x10b;" (assignment_expression "iVar3 = 0x10b" identifier = number_literal) ;)) (labeled_statement "LAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" statement_identifier : (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s4)" ( identifier ))) ;)) (goto_statement "goto LAB_0011c804;" goto statement_identifier ;) })) (expression_statement "pbVar17 = pbVar17 + 1;" (assignment_expression "pbVar17 = pbVar17 + 1" identifier = (binary_expression "pbVar17 + 1" identifier + number_literal)) ;) (expression_statement "nSuffix = (int)pcVar10;" (assignment_expression "nSuffix = (int)pcVar10" identifier = (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((int)pbVar17 - (int)zNode < (int)zBlob) goto LAB_0011c7f0;" if (parenthesized_expression "((int)pbVar17 - (int)zNode < (int)zBlob)" ( (binary_expression "(int)pbVar17 - (int)zNode < (int)zBlob" (binary_expression "(int)pbVar17 - (int)zNode" (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)zNode" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)zBlob" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011c7f0;" goto statement_identifier ;)) (labeled_statement "LAB_0011c5f8:\n        piVar5 = (int *)nSuffix;" statement_identifier : (expression_statement "piVar5 = (int *)nSuffix;" (assignment_expression "piVar5 = (int *)nSuffix" identifier = (cast_expression "(int *)nSuffix" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if ((int)pbVar15 - (int)pbVar17 < nSuffix) goto LAB_0011c7f0;" if (parenthesized_expression "((int)pbVar15 - (int)pbVar17 < nSuffix)" ( (binary_expression "(int)pbVar15 - (int)pbVar17 < nSuffix" (binary_expression "(int)pbVar15 - (int)pbVar17" (cast_expression "(int)pbVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) < identifier) )) (goto_statement "goto LAB_0011c7f0;" goto statement_identifier ;)) (expression_statement "piVar14 = (int *)(zBlob + nSuffix);" (assignment_expression "piVar14 = (int *)(zBlob + nSuffix)" identifier = (cast_expression "(int *)(zBlob + nSuffix)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(zBlob + nSuffix)" ( (binary_expression "zBlob + nSuffix" identifier + identifier) )))) ;) (expression_statement "piVar5 = (int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f));" (assignment_expression "piVar5 = (int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f))" identifier = (cast_expression "(int *)((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f))" ( (binary_expression "(uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f) + (nSuffix >> 0x1f)" (binary_expression "(uint)(piVar14 < zBlob) + ((int)zBlob >> 0x1f)" (call_expression "(uint)(piVar14 < zBlob)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar14 < zBlob)" ( (binary_expression "piVar14 < zBlob" identifier < identifier) ))) + (parenthesized_expression "((int)zBlob >> 0x1f)" ( (binary_expression "(int)zBlob >> 0x1f" (cast_expression "(int)zBlob" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (parenthesized_expression "(nSuffix >> 0x1f)" ( (binary_expression "nSuffix >> 0x1f" identifier >> number_literal) ))) )))) ;) (expression_statement "paBlob = (char **)(uint)((int)unaff_s1 < (int)piVar5);" (assignment_expression "paBlob = (char **)(uint)((int)unaff_s1 < (int)piVar5)" identifier = (cast_expression "(char **)(uint)((int)unaff_s1 < (int)piVar5)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(uint)((int)unaff_s1 < (int)piVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s1 < (int)piVar5)" ( (binary_expression "(int)unaff_s1 < (int)piVar5" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((paBlob != (char **)0x0) ||\n           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))) {\n          piStack_6c = (int *)((int)piVar14 * 2);\n          unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);\n          piVar5 = unaff_s1;\n          piVar14 = piStack_6c;\n          iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar3 != 0) goto LAB_0011c684;\n          iVar3 = 7;\n          goto LAB_0011c7f4;\n        }" if (parenthesized_expression "((paBlob != (char **)0x0) ||\n           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0))))" ( (binary_expression "(paBlob != (char **)0x0) ||\n           ((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))" (parenthesized_expression "(paBlob != (char **)0x0)" ( (binary_expression "paBlob != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) || (parenthesized_expression "((iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)))" ( (parenthesized_expression "(iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0))" ( (comma_expression "iVar3 = unaff_s4, piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)" (assignment_expression "iVar3 = unaff_s4" identifier = identifier) , (binary_expression "piVar5 == unaff_s1 &&\n            (paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)" (binary_expression "piVar5 == unaff_s1" identifier == identifier) && (parenthesized_expression "(paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0)" ( (comma_expression "paBlob = (char **)(uint)(piStack_6c < piVar14), paBlob != (char **)0x0" (assignment_expression "paBlob = (char **)(uint)(piStack_6c < piVar14)" identifier = (cast_expression "(char **)(uint)(piStack_6c < piVar14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(uint)(piStack_6c < piVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piStack_6c < piVar14)" ( (binary_expression "piStack_6c < piVar14" identifier < identifier) ))))) , (binary_expression "paBlob != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) )))) )) ))) )) (compound_statement "{\n          piStack_6c = (int *)((int)piVar14 * 2);\n          unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);\n          piVar5 = unaff_s1;\n          piVar14 = piStack_6c;\n          iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar3 != 0) goto LAB_0011c684;\n          iVar3 = 7;\n          goto LAB_0011c7f4;\n        }" { (expression_statement "piStack_6c = (int *)((int)piVar14 * 2);" (assignment_expression "piStack_6c = (int *)((int)piVar14 * 2)" identifier = (cast_expression "(int *)((int)piVar14 * 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 * 2)" ( (binary_expression "(int)piVar14 * 2" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2);" (assignment_expression "unaff_s1 = (int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2)" identifier = (cast_expression "(int *)((uint)piVar14 >> 0x1f | (int)piVar5 * 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar14 >> 0x1f | (int)piVar5 * 2)" ( (binary_expression "(uint)piVar14 >> 0x1f | (int)piVar5 * 2" (binary_expression "(uint)piVar14 >> 0x1f" (cast_expression "(uint)piVar14" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "(int)piVar5 * 2" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "piVar5 = unaff_s1;" (assignment_expression "piVar5 = unaff_s1" identifier = identifier) ;) (expression_statement "piVar14 = piStack_6c;" (assignment_expression "piVar14 = piStack_6c" identifier = identifier) ;) (expression_statement "iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);" (assignment_expression "iVar3 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4)" identifier = (call_expression "(*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_realloc64_0015b764)" ( (pointer_expression "*(code *)PTR_sqlite3_realloc64_0015b764" * (cast_expression "(code *)PTR_sqlite3_realloc64_0015b764" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s4)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0011c684;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011c684;" goto statement_identifier ;)) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_0011c7f4;" goto statement_identifier ;) })) (labeled_statement "LAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix);" statement_identifier : (expression_statement "(*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix);" (call_expression "(*(code *)PTR_memcpy_0015ba30)(zBlob + iVar3,pbVar17,nSuffix)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(zBlob + iVar3,pbVar17,nSuffix)" ( (binary_expression "zBlob + iVar3" identifier + identifier) , identifier , identifier ))) ;)) (expression_statement "pbVar17 = pbVar17 + nSuffix;" (assignment_expression "pbVar17 = pbVar17 + nSuffix" identifier = (binary_expression "pbVar17 + nSuffix" identifier + identifier)) ;) (expression_statement "piVar14 = (int *)(zBlob + nSuffix);" (assignment_expression "piVar14 = (int *)(zBlob + nSuffix)" identifier = (cast_expression "(int *)(zBlob + nSuffix)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(zBlob + nSuffix)" ( (binary_expression "zBlob + nSuffix" identifier + identifier) )))) ;) (expression_statement "piVar5 = (int *)nTerm;" (assignment_expression "piVar5 = (int *)nTerm" identifier = (cast_expression "(int *)nTerm" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((int)piVar14 < nTerm) {\n          piVar5 = piVar14;\n        }" if (parenthesized_expression "((int)piVar14 < nTerm)" ( (binary_expression "(int)piVar14 < nTerm" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n          piVar5 = piVar14;\n        }" { (expression_statement "piVar5 = piVar14;" (assignment_expression "piVar5 = piVar14" identifier = identifier) ;) })) (expression_statement "iVar4 = (*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5);" (assignment_expression "iVar4 = (*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5)" identifier = (call_expression "(*(code *)PTR_memcmp_0015ba1c)(zTerm,iVar3,piVar5)" (parenthesized_expression "(*(code *)PTR_memcmp_0015ba1c)" ( (pointer_expression "*(code *)PTR_memcmp_0015ba1c" * (cast_expression "(code *)PTR_memcmp_0015ba1c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(zTerm,iVar3,piVar5)" ( identifier , identifier , identifier )))) ;) (expression_statement "unaff_s4 = iVar3;" (assignment_expression "unaff_s4 = iVar3" identifier = identifier) ;) (if_statement "if (unaff_s8 == (sqlite3_int64 *)0x0) {\nLAB_0011c700:\n          piVar5 = (int *)((int)piStack_34 + 1);\n          if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }\n          *(int *)unaff_s3 = nBlob;\n          *(int **)((int)unaff_s3 + 4) = piStack_34;\n          unaff_s3 = (sqlite3_int64 *)0x0;\n        }\n        else if ((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }" if (parenthesized_expression "(unaff_s8 == (sqlite3_int64 *)0x0)" ( (binary_expression "unaff_s8 == (sqlite3_int64 *)0x0" identifier == (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0011c700:\n          piVar5 = (int *)((int)piStack_34 + 1);\n          if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }\n          *(int *)unaff_s3 = nBlob;\n          *(int **)((int)unaff_s3 + 4) = piStack_34;\n          unaff_s3 = (sqlite3_int64 *)0x0;\n        }" { (labeled_statement "LAB_0011c700:\n          piVar5 = (int *)((int)piStack_34 + 1);" statement_identifier : (expression_statement "piVar5 = (int *)((int)piStack_34 + 1);" (assignment_expression "piVar5 = (int *)((int)piStack_34 + 1)" identifier = (cast_expression "(int *)((int)piStack_34 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piStack_34 + 1)" ( (binary_expression "(int)piStack_34 + 1" (cast_expression "(int)piStack_34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (if_statement "if ((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)) {\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }" if (parenthesized_expression "((unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4))" ( (binary_expression "(unaff_s3 == (sqlite3_int64 *)0x0) || (unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)" (parenthesized_expression "(unaff_s3 == (sqlite3_int64 *)0x0)" ( (binary_expression "unaff_s3 == (sqlite3_int64 *)0x0" identifier == (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4)" ( (comma_expression "unaff_s8 = (sqlite3_int64 *)0x0, -1 < iVar4" (assignment_expression "unaff_s8 = (sqlite3_int64 *)0x0" identifier = (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "-1 < iVar4" number_literal < identifier)) ))) )) (compound_statement "{\n            nBlob = (uint)(piVar5 < piStack_34) + nBlob;\n            unaff_s8 = (sqlite3_int64 *)0x0;\n            paBlob = (char **)0x0;\n            piStack_34 = piVar5;\n            if (pbVar15 <= pbVar17) break;\n            goto LAB_0011c5a0;\n          }" { (expression_statement "nBlob = (uint)(piVar5 < piStack_34) + nBlob;" (assignment_expression "nBlob = (uint)(piVar5 < piStack_34) + nBlob" identifier = (binary_expression "(uint)(piVar5 < piStack_34) + nBlob" (call_expression "(uint)(piVar5 < piStack_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar5 < piStack_34)" ( (binary_expression "piVar5 < piStack_34" identifier < identifier) ))) + identifier)) ;) (expression_statement "unaff_s8 = (sqlite3_int64 *)0x0;" (assignment_expression "unaff_s8 = (sqlite3_int64 *)0x0" identifier = (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "paBlob = (char **)0x0;" (assignment_expression "paBlob = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "piStack_34 = piVar5;" (assignment_expression "piStack_34 = piVar5" identifier = identifier) ;) (if_statement "if (pbVar15 <= pbVar17) break;" if (parenthesized_expression "(pbVar15 <= pbVar17)" ( (binary_expression "pbVar15 <= pbVar17" identifier <= identifier) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0011c5a0;" goto statement_identifier ;) })) (expression_statement "*(int *)unaff_s3 = nBlob;" (assignment_expression "*(int *)unaff_s3 = nBlob" (pointer_expression "*(int *)unaff_s3" * (cast_expression "(int *)unaff_s3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(int **)((int)unaff_s3 + 4) = piStack_34;" (assignment_expression "*(int **)((int)unaff_s3 + 4) = piStack_34" (pointer_expression "*(int **)((int)unaff_s3 + 4)" * (cast_expression "(int **)((int)unaff_s3 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s3 + 4)" ( (binary_expression "(int)unaff_s3 + 4" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "unaff_s3 = (sqlite3_int64 *)0x0;" (assignment_expression "unaff_s3 = (sqlite3_int64 *)0x0" identifier = (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if ((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }" else (if_statement "if ((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))) {\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }" if (parenthesized_expression "((iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0))))" ( (binary_expression "(iVar4 < 0) ||\n                ((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))" (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)))" ( (parenthesized_expression "(iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0))" ( (binary_expression "iVar4 == 0 &&\n                 (piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)" (binary_expression "iVar4 == 0" identifier == number_literal) && (parenthesized_expression "(piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0)" ( (comma_expression "piVar14 = (int *)(uint)(nTerm < (int)piVar14), piVar14 != (int *)0x0" (assignment_expression "piVar14 = (int *)(uint)(nTerm < (int)piVar14)" identifier = (cast_expression "(int *)(uint)(nTerm < (int)piVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(nTerm < (int)piVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(nTerm < (int)piVar14)" ( (binary_expression "nTerm < (int)piVar14" identifier < (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) , (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ))) )) (compound_statement "{\n          *(int *)unaff_s8 = nBlob;\n          *(int **)((int)unaff_s8 + 4) = piStack_34;\n          goto LAB_0011c700;\n        }" { (expression_statement "*(int *)unaff_s8 = nBlob;" (assignment_expression "*(int *)unaff_s8 = nBlob" (pointer_expression "*(int *)unaff_s8" * (cast_expression "(int *)unaff_s8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(int **)((int)unaff_s8 + 4) = piStack_34;" (assignment_expression "*(int **)((int)unaff_s8 + 4) = piStack_34" (pointer_expression "*(int **)((int)unaff_s8 + 4)" * (cast_expression "(int **)((int)unaff_s8 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s8 + 4)" ( (binary_expression "(int)unaff_s8 + 4" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_0011c700;" goto statement_identifier ;) })))) (expression_statement "piVar5 = (int *)((int)piStack_34 + 1);" (assignment_expression "piVar5 = (int *)((int)piStack_34 + 1)" identifier = (cast_expression "(int *)((int)piStack_34 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piStack_34 + 1)" ( (binary_expression "(int)piStack_34 + 1" (cast_expression "(int)piStack_34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "nBlob = (uint)(piVar5 < piStack_34) + nBlob;" (assignment_expression "nBlob = (uint)(piVar5 < piStack_34) + nBlob" identifier = (binary_expression "(uint)(piVar5 < piStack_34) + nBlob" (call_expression "(uint)(piVar5 < piStack_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar5 < piStack_34)" ( (binary_expression "piVar5 < piStack_34" identifier < identifier) ))) + identifier)) ;) (expression_statement "paBlob = (char **)0x0;" (assignment_expression "paBlob = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "piStack_34 = piVar5;" (assignment_expression "piStack_34 = piVar5" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar17 < pbVar15)" ( (binary_expression "pbVar17 < pbVar15" identifier < identifier) )) ;)) })) (if_statement "if (unaff_s8 != (sqlite3_int64 *)0x0) {\n      *(int **)((int)unaff_s8 + 4) = piStack_34;\n      *(int *)unaff_s8 = nBlob;\n    }" if (parenthesized_expression "(unaff_s8 != (sqlite3_int64 *)0x0)" ( (binary_expression "unaff_s8 != (sqlite3_int64 *)0x0" identifier != (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(int **)((int)unaff_s8 + 4) = piStack_34;\n      *(int *)unaff_s8 = nBlob;\n    }" { (expression_statement "*(int **)((int)unaff_s8 + 4) = piStack_34;" (assignment_expression "*(int **)((int)unaff_s8 + 4) = piStack_34" (pointer_expression "*(int **)((int)unaff_s8 + 4)" * (cast_expression "(int **)((int)unaff_s8 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s8 + 4)" ( (binary_expression "(int)unaff_s8 + 4" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)unaff_s8 = nBlob;" (assignment_expression "*(int *)unaff_s8 = nBlob" (pointer_expression "*(int *)unaff_s8" * (cast_expression "(int *)unaff_s8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) })) (expression_statement "puVar2 = PTR_sqlite3_free_0015b620;" (assignment_expression "puVar2 = PTR_sqlite3_free_0015b620" identifier = identifier) ;) (expression_statement "unaff_s4 = iVar3;" (assignment_expression "unaff_s4 = iVar3" identifier = identifier) ;) (if_statement "if (unaff_s3 == (sqlite3_int64 *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      *(int **)((int)unaff_s3 + 4) = piStack_34;\n      *(int *)unaff_s3 = nBlob;\n      (*(code *)puVar2)(iVar3);\n    }" if (parenthesized_expression "(unaff_s3 == (sqlite3_int64 *)0x0)" ( (binary_expression "unaff_s3 == (sqlite3_int64 *)0x0" identifier == (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }" { (labeled_statement "LAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" statement_identifier : (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s4)" ( identifier ))) ;)) }) (else_clause "else {\n      *(int **)((int)unaff_s3 + 4) = piStack_34;\n      *(int *)unaff_s3 = nBlob;\n      (*(code *)puVar2)(iVar3);\n    }" else (compound_statement "{\n      *(int **)((int)unaff_s3 + 4) = piStack_34;\n      *(int *)unaff_s3 = nBlob;\n      (*(code *)puVar2)(iVar3);\n    }" { (expression_statement "*(int **)((int)unaff_s3 + 4) = piStack_34;" (assignment_expression "*(int **)((int)unaff_s3 + 4) = piStack_34" (pointer_expression "*(int **)((int)unaff_s3 + 4)" * (cast_expression "(int **)((int)unaff_s3 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s3 + 4)" ( (binary_expression "(int)unaff_s3 + 4" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)unaff_s3 = nBlob;" (assignment_expression "*(int *)unaff_s3 = nBlob" (pointer_expression "*(int *)unaff_s3" * (cast_expression "(int *)unaff_s3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "(*(code *)puVar2)(iVar3);" (call_expression "(*(code *)puVar2)(iVar3)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) }))) (expression_statement "puVar2 = PTR_LAB_0015b6d4;" (assignment_expression "puVar2 = PTR_LAB_0015b6d4" identifier = identifier) ;) (if_statement "if (iHeight < 2) {\n      iVar3 = 0;\n    }\n    else {\n      zBlob = (char *)0x0;\n      nBlob = 0;\n      if (piLeaf == (sqlite3_int64 *)0x0) {\nLAB_0011c928:\n        ppcStack_64 = (char **)0x0;\n        piVar5 = *(int **)piLeaf2;\n        piVar14 = *(int **)((int)piLeaf2 + 4);\nLAB_0011c938:\n        zBlob = (char *)0x0;\n        in_stack_ffffff78 = &zBlob;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        in_stack_ffffff7c = ppcVar11;\n        if (iVar3 == 0) {\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          in_stack_ffffff7c = ppcStack_64;\n          in_stack_ffffff80 = piLeaf2;\n        }\n      }\n      else {\n        piVar5 = *(int **)piLeaf;\n        piVar14 = *(int **)((int)piLeaf + 4);\n        if ((piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))) goto LAB_0011c938;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        in_stack_ffffff7c = ppcVar11;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        if (iVar3 == 0) {\n          in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n          in_stack_ffffff7c = (char **)piLeaf;\n          if (iVar3 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }\n      }\n      unaff_s1 = (int *)(puVar2 + -0x3d2c);\n      zNode = (char *)&zBlob;\n      (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n    }" if (parenthesized_expression "(iHeight < 2)" ( (binary_expression "iHeight < 2" identifier < number_literal) )) (compound_statement "{\n      iVar3 = 0;\n    }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      zBlob = (char *)0x0;\n      nBlob = 0;\n      if (piLeaf == (sqlite3_int64 *)0x0) {\nLAB_0011c928:\n        ppcStack_64 = (char **)0x0;\n        piVar5 = *(int **)piLeaf2;\n        piVar14 = *(int **)((int)piLeaf2 + 4);\nLAB_0011c938:\n        zBlob = (char *)0x0;\n        in_stack_ffffff78 = &zBlob;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        in_stack_ffffff7c = ppcVar11;\n        if (iVar3 == 0) {\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          in_stack_ffffff7c = ppcStack_64;\n          in_stack_ffffff80 = piLeaf2;\n        }\n      }\n      else {\n        piVar5 = *(int **)piLeaf;\n        piVar14 = *(int **)((int)piLeaf + 4);\n        if ((piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))) goto LAB_0011c938;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        in_stack_ffffff7c = ppcVar11;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        if (iVar3 == 0) {\n          in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n          in_stack_ffffff7c = (char **)piLeaf;\n          if (iVar3 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }\n      }\n      unaff_s1 = (int *)(puVar2 + -0x3d2c);\n      zNode = (char *)&zBlob;\n      (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n    }" else (compound_statement "{\n      zBlob = (char *)0x0;\n      nBlob = 0;\n      if (piLeaf == (sqlite3_int64 *)0x0) {\nLAB_0011c928:\n        ppcStack_64 = (char **)0x0;\n        piVar5 = *(int **)piLeaf2;\n        piVar14 = *(int **)((int)piLeaf2 + 4);\nLAB_0011c938:\n        zBlob = (char *)0x0;\n        in_stack_ffffff78 = &zBlob;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        in_stack_ffffff7c = ppcVar11;\n        if (iVar3 == 0) {\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          in_stack_ffffff7c = ppcStack_64;\n          in_stack_ffffff80 = piLeaf2;\n        }\n      }\n      else {\n        piVar5 = *(int **)piLeaf;\n        piVar14 = *(int **)((int)piLeaf + 4);\n        if ((piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))) goto LAB_0011c938;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        in_stack_ffffff7c = ppcVar11;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        if (iVar3 == 0) {\n          in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n          in_stack_ffffff7c = (char **)piLeaf;\n          if (iVar3 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }\n      }\n      unaff_s1 = (int *)(puVar2 + -0x3d2c);\n      zNode = (char *)&zBlob;\n      (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n    }" { (expression_statement "zBlob = (char *)0x0;" (assignment_expression "zBlob = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "nBlob = 0;" (assignment_expression "nBlob = 0" identifier = number_literal) ;) (if_statement "if (piLeaf == (sqlite3_int64 *)0x0) {\nLAB_0011c928:\n        ppcStack_64 = (char **)0x0;\n        piVar5 = *(int **)piLeaf2;\n        piVar14 = *(int **)((int)piLeaf2 + 4);\nLAB_0011c938:\n        zBlob = (char *)0x0;\n        in_stack_ffffff78 = &zBlob;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        in_stack_ffffff7c = ppcVar11;\n        if (iVar3 == 0) {\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          in_stack_ffffff7c = ppcStack_64;\n          in_stack_ffffff80 = piLeaf2;\n        }\n      }\n      else {\n        piVar5 = *(int **)piLeaf;\n        piVar14 = *(int **)((int)piLeaf + 4);\n        if ((piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))) goto LAB_0011c938;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        in_stack_ffffff7c = ppcVar11;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        if (iVar3 == 0) {\n          in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n          in_stack_ffffff7c = (char **)piLeaf;\n          if (iVar3 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }\n      }" if (parenthesized_expression "(piLeaf == (sqlite3_int64 *)0x0)" ( (binary_expression "piLeaf == (sqlite3_int64 *)0x0" identifier == (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0011c928:\n        ppcStack_64 = (char **)0x0;\n        piVar5 = *(int **)piLeaf2;\n        piVar14 = *(int **)((int)piLeaf2 + 4);\nLAB_0011c938:\n        zBlob = (char *)0x0;\n        in_stack_ffffff78 = &zBlob;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        in_stack_ffffff7c = ppcVar11;\n        if (iVar3 == 0) {\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          in_stack_ffffff7c = ppcStack_64;\n          in_stack_ffffff80 = piLeaf2;\n        }\n      }" { (labeled_statement "LAB_0011c928:\n        ppcStack_64 = (char **)0x0;" statement_identifier : (expression_statement "ppcStack_64 = (char **)0x0;" (assignment_expression "ppcStack_64 = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "piVar5 = *(int **)piLeaf2;" (assignment_expression "piVar5 = *(int **)piLeaf2" identifier = (pointer_expression "*(int **)piLeaf2" * (cast_expression "(int **)piLeaf2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar14 = *(int **)((int)piLeaf2 + 4);" (assignment_expression "piVar14 = *(int **)((int)piLeaf2 + 4)" identifier = (pointer_expression "*(int **)((int)piLeaf2 + 4)" * (cast_expression "(int **)((int)piLeaf2 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piLeaf2 + 4)" ( (binary_expression "(int)piLeaf2 + 4" (cast_expression "(int)piLeaf2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (labeled_statement "LAB_0011c938:\n        zBlob = (char *)0x0;" statement_identifier : (expression_statement "zBlob = (char *)0x0;" (assignment_expression "zBlob = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "in_stack_ffffff78 = &zBlob;" (assignment_expression "in_stack_ffffff78 = &zBlob" identifier = (pointer_expression "&zBlob" & identifier)) ;) (expression_statement "in_stack_ffffff80 = (sqlite3_int64 *)0x0;" (assignment_expression "in_stack_ffffff80 = (sqlite3_int64 *)0x0" identifier = (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);" (assignment_expression "iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14)" identifier = (call_expression "sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14)" identifier (argument_list "(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14)" ( identifier , (call_expression "CONCAT44(in_stack_ffffff78,ppcVar11)" identifier (argument_list "(in_stack_ffffff78,ppcVar11)" ( identifier , identifier ))) , identifier , identifier , identifier )))) ;) (expression_statement "in_stack_ffffff7c = ppcVar11;" (assignment_expression "in_stack_ffffff7c = ppcVar11" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          in_stack_ffffff7c = ppcStack_64;\n          in_stack_ffffff80 = piLeaf2;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          in_stack_ffffff7c = ppcStack_64;\n          in_stack_ffffff80 = piLeaf2;\n        }" { (expression_statement "piVar14 = (int *)zBlob;" (assignment_expression "piVar14 = (int *)zBlob" identifier = (cast_expression "(int *)zBlob" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "in_stack_ffffff78 = (char **)nBlob;" (assignment_expression "in_stack_ffffff78 = (char **)nBlob" identifier = (cast_expression "(char **)nBlob" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2);" (assignment_expression "iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2)" identifier = (call_expression "fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2)" identifier (argument_list "(p,zTerm,nTerm,zBlob,nBlob,(sqlite3_int64 *)ppcStack_64,piLeaf2)" ( identifier , identifier , identifier , identifier , identifier , (cast_expression "(sqlite3_int64 *)ppcStack_64" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "paBlob = (char **)zTerm;" (assignment_expression "paBlob = (char **)zTerm" identifier = (cast_expression "(char **)zTerm" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "piVar5 = (int *)nTerm;" (assignment_expression "piVar5 = (int *)nTerm" identifier = (cast_expression "(int *)nTerm" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "in_stack_ffffff7c = ppcStack_64;" (assignment_expression "in_stack_ffffff7c = ppcStack_64" identifier = identifier) ;) (expression_statement "in_stack_ffffff80 = piLeaf2;" (assignment_expression "in_stack_ffffff80 = piLeaf2" identifier = identifier) ;) })) }) (else_clause "else {\n        piVar5 = *(int **)piLeaf;\n        piVar14 = *(int **)((int)piLeaf + 4);\n        if ((piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))) goto LAB_0011c938;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        in_stack_ffffff7c = ppcVar11;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        if (iVar3 == 0) {\n          in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n          in_stack_ffffff7c = (char **)piLeaf;\n          if (iVar3 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }\n      }" else (compound_statement "{\n        piVar5 = *(int **)piLeaf;\n        piVar14 = *(int **)((int)piLeaf + 4);\n        if ((piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))) goto LAB_0011c938;\n        in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n        in_stack_ffffff7c = ppcVar11;\n        iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);\n        if (iVar3 == 0) {\n          in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n          in_stack_ffffff7c = (char **)piLeaf;\n          if (iVar3 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }\n      }" { (expression_statement "piVar5 = *(int **)piLeaf;" (assignment_expression "piVar5 = *(int **)piLeaf" identifier = (pointer_expression "*(int **)piLeaf" * (cast_expression "(int **)piLeaf" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar14 = *(int **)((int)piLeaf + 4);" (assignment_expression "piVar14 = *(int **)((int)piLeaf + 4)" identifier = (pointer_expression "*(int **)((int)piLeaf + 4)" * (cast_expression "(int **)((int)piLeaf + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piLeaf + 4)" ( (binary_expression "(int)piLeaf + 4" (cast_expression "(int)piLeaf" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))) goto LAB_0011c938;" if (parenthesized_expression "((piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14))))" ( (binary_expression "(piLeaf2 == (sqlite3_int64 *)0x0) ||\n           ((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))" (parenthesized_expression "(piLeaf2 == (sqlite3_int64 *)0x0)" ( (binary_expression "piLeaf2 == (sqlite3_int64 *)0x0" identifier == (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)))" ( (parenthesized_expression "(in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14))" ( (comma_expression "in_stack_ffffff78 = &zBlob, *(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)" (assignment_expression "in_stack_ffffff78 = &zBlob" identifier = (pointer_expression "&zBlob" & identifier)) , (binary_expression "*(int **)piLeaf2 == piVar5 &&\n            (*(int **)((int)piLeaf2 + 4) == piVar14)" (binary_expression "*(int **)piLeaf2 == piVar5" (pointer_expression "*(int **)piLeaf2" * (cast_expression "(int **)piLeaf2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) == identifier) && (parenthesized_expression "(*(int **)((int)piLeaf2 + 4) == piVar14)" ( (binary_expression "*(int **)((int)piLeaf2 + 4) == piVar14" (pointer_expression "*(int **)((int)piLeaf2 + 4)" * (cast_expression "(int **)((int)piLeaf2 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)piLeaf2 + 4)" ( (binary_expression "(int)piLeaf2 + 4" (cast_expression "(int)piLeaf2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == identifier) )))) )) ))) )) (goto_statement "goto LAB_0011c938;" goto statement_identifier ;)) (expression_statement "in_stack_ffffff80 = (sqlite3_int64 *)0x0;" (assignment_expression "in_stack_ffffff80 = (sqlite3_int64 *)0x0" identifier = (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_ffffff7c = ppcVar11;" (assignment_expression "in_stack_ffffff7c = ppcVar11" identifier = identifier) ;) (expression_statement "iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14);" (assignment_expression "iVar3 = sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14)" identifier = (call_expression "sqlite3Fts3ReadBlock(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14)" identifier (argument_list "(p,CONCAT44(in_stack_ffffff78,ppcVar11),paBlob,piVar5,piVar14)" ( identifier , (call_expression "CONCAT44(in_stack_ffffff78,ppcVar11)" identifier (argument_list "(in_stack_ffffff78,ppcVar11)" ( identifier , identifier ))) , identifier , identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n          in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n          in_stack_ffffff7c = (char **)piLeaf;\n          if (iVar3 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          in_stack_ffffff80 = (sqlite3_int64 *)0x0;\n          paBlob = (char **)zTerm;\n          piVar5 = (int *)nTerm;\n          piVar14 = (int *)zBlob;\n          in_stack_ffffff78 = (char **)nBlob;\n          iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n          in_stack_ffffff7c = (char **)piLeaf;\n          if (iVar3 == 0) goto LAB_0011c928;\n        }" { (expression_statement "in_stack_ffffff80 = (sqlite3_int64 *)0x0;" (assignment_expression "in_stack_ffffff80 = (sqlite3_int64 *)0x0" identifier = (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "paBlob = (char **)zTerm;" (assignment_expression "paBlob = (char **)zTerm" identifier = (cast_expression "(char **)zTerm" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "piVar5 = (int *)nTerm;" (assignment_expression "piVar5 = (int *)nTerm" identifier = (cast_expression "(int *)nTerm" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar14 = (int *)zBlob;" (assignment_expression "piVar14 = (int *)zBlob" identifier = (cast_expression "(int *)zBlob" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "in_stack_ffffff78 = (char **)nBlob;" (assignment_expression "in_stack_ffffff78 = (char **)nBlob" identifier = (cast_expression "(char **)nBlob" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0);" (assignment_expression "iVar3 = fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0)" identifier = (call_expression "fts3SelectLeaf(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0)" identifier (argument_list "(p,zTerm,nTerm,zBlob,nBlob,piLeaf,(sqlite3_int64 *)0x0)" ( identifier , identifier , identifier , identifier , identifier , identifier , (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(zBlob);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(zBlob)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(zBlob)" ( identifier ))) ;) (expression_statement "zBlob = (char *)0x0;" (assignment_expression "zBlob = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_ffffff7c = (char **)piLeaf;" (assignment_expression "in_stack_ffffff7c = (char **)piLeaf" identifier = (cast_expression "(char **)piLeaf" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (iVar3 == 0) goto LAB_0011c928;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0011c928;" goto statement_identifier ;)) }) (else_clause "else {\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }" else (compound_statement "{\n          (*(code *)PTR_sqlite3_free_0015b620)(zBlob);\n          zBlob = (char *)0x0;\n        }" { (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(zBlob);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(zBlob)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(zBlob)" ( identifier ))) ;) (expression_statement "zBlob = (char *)0x0;" (assignment_expression "zBlob = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }))) (expression_statement "unaff_s1 = (int *)(puVar2 + -0x3d2c);" (assignment_expression "unaff_s1 = (int *)(puVar2 + -0x3d2c)" identifier = (cast_expression "(int *)(puVar2 + -0x3d2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x3d2c)" ( (binary_expression "puVar2 + -0x3d2c" identifier + number_literal) )))) ;) (expression_statement "zNode = (char *)&zBlob;" (assignment_expression "zNode = (char *)&zBlob" identifier = (cast_expression "(char *)&zBlob" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&zBlob" & identifier))) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(zBlob);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(zBlob)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(zBlob)" ( identifier ))) ;) }))) }))) (labeled_statement "LAB_0011c804:\n  if (iStack_2c == *(int *)puVar20) {\n    return iVar3;\n  }" statement_identifier : (if_statement "if (iStack_2c == *(int *)puVar20) {\n    return iVar3;\n  }" if (parenthesized_expression "(iStack_2c == *(int *)puVar20)" ( (binary_expression "iStack_2c == *(int *)puVar20" identifier == (pointer_expression "*(int *)puVar20" * (cast_expression "(int *)puVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) }))) (expression_statement "pcVar19 = fts3SegReaderCursor;" (assignment_expression "pcVar19 = fts3SegReaderCursor" identifier = identifier) ;) (expression_statement "iVar4 = iStack_2c;" (assignment_expression "iVar4 = iStack_2c" identifier = identifier) ;) (expression_statement "puVar20 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar20 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar6 = *(int **)(puVar20 + 0x3efec);" (assignment_expression "piVar6 = *(int **)(puVar20 + 0x3efec)" identifier = (pointer_expression "*(int **)(puVar20 + 0x3efec)" * (cast_expression "(int **)(puVar20 + 0x3efec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3efec)" ( (binary_expression "puVar20 + 0x3efec" identifier + number_literal) ))))) ;) (expression_statement "iStack_c4 = *piVar6;" (assignment_expression "iStack_c4 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "iStack_c0 = iVar3;" (assignment_expression "iStack_c0 = iVar3" identifier = identifier) ;) (expression_statement "piStack_bc = unaff_s1;" (assignment_expression "piStack_bc = unaff_s1" identifier = identifier) ;) (expression_statement "ppcStack_b8 = (char **)zNode;" (assignment_expression "ppcStack_b8 = (char **)zNode" identifier = (cast_expression "(char **)zNode" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "psStack_b4 = unaff_s3;" (assignment_expression "psStack_b4 = unaff_s3" identifier = identifier) ;) (expression_statement "iStack_b0 = unaff_s4;" (assignment_expression "iStack_b0 = unaff_s4" identifier = identifier) ;) (expression_statement "pbStack_ac = pbVar17;" (assignment_expression "pbStack_ac = pbVar17" identifier = identifier) ;) (expression_statement "ppcStack_a8 = unaff_s6;" (assignment_expression "ppcStack_a8 = unaff_s6" identifier = identifier) ;) (expression_statement "ppcStack_a4 = unaff_s7;" (assignment_expression "ppcStack_a4 = unaff_s7" identifier = identifier) ;) (expression_statement "psStack_a0 = unaff_s8;" (assignment_expression "psStack_a0 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_9c = pcVar19;" (assignment_expression "pcStack_9c = pcVar19" identifier = identifier) ;) (if_statement "if (-1 < (int)piVar14) {\n    uStack_d0._0_4_ = (int *)0x0;\n    iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ee40) + 0x7f20))();\n    piVar13 = uStack_d0._0_4_;\n    if (iVar3 != 0) goto LAB_0011cdbc;\n    lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n    uVar12 = (uint)lVar22;\n    piVar13 = (int *)(uVar12 * 0x400);\n    (**(code **)(puVar20 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)((int *)((int)piVar13 + (int)piVar14) < piVar13) +\n               (uVar12 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10) + ((int)piVar14 >> 0x1f));\n    goto LAB_0011ceb8;\n  }" if (parenthesized_expression "(-1 < (int)piVar14)" ( (binary_expression "-1 < (int)piVar14" number_literal < (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    uStack_d0._0_4_ = (int *)0x0;\n    iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ee40) + 0x7f20))();\n    piVar13 = uStack_d0._0_4_;\n    if (iVar3 != 0) goto LAB_0011cdbc;\n    lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n    uVar12 = (uint)lVar22;\n    piVar13 = (int *)(uVar12 * 0x400);\n    (**(code **)(puVar20 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)((int *)((int)piVar13 + (int)piVar14) < piVar13) +\n               (uVar12 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10) + ((int)piVar14 >> 0x1f));\n    goto LAB_0011ceb8;\n  }" { (expression_statement "uStack_d0._0_4_ = (int *)0x0;" (assignment_expression "uStack_d0._0_4_ = (int *)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ee40) + 0x7f20))();" (assignment_expression "iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ee40) + 0x7f20))()" identifier = (call_expression "(*(code *)(*(int *)(puVar20 + 0x3ee40) + 0x7f20))()" (parenthesized_expression "(*(code *)(*(int *)(puVar20 + 0x3ee40) + 0x7f20))" ( (pointer_expression "*(code *)(*(int *)(puVar20 + 0x3ee40) + 0x7f20)" * (cast_expression "(code *)(*(int *)(puVar20 + 0x3ee40) + 0x7f20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x3ee40) + 0x7f20)" ( (binary_expression "*(int *)(puVar20 + 0x3ee40) + 0x7f20" (pointer_expression "*(int *)(puVar20 + 0x3ee40)" * (cast_expression "(int *)(puVar20 + 0x3ee40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x3ee40)" ( (binary_expression "puVar20 + 0x3ee40" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (expression_statement "piVar13 = uStack_d0._0_4_;" (assignment_expression "piVar13 = uStack_d0._0_4_" identifier = (field_expression "uStack_d0._0_4_" identifier . field_identifier)) ;) (if_statement "if (iVar3 != 0) goto LAB_0011cdbc;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011cdbc;" goto statement_identifier ;)) (expression_statement "lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);" (assignment_expression "lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc)" identifier = (binary_expression "(longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc)" (cast_expression "(longlong)(int)piVar5" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc)" (binary_expression "(longlong)(int)paBlob * (longlong)" (cast_expression "(longlong)(int)paBlob" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)paBlob" ( (type_descriptor "int" primitive_type) ) identifier)) * (parenthesized_expression "(longlong)" ( identifier ))) * (cast_expression "(int *)(iVar4 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xfc)" ( (binary_expression "iVar4 + 0xfc" identifier + number_literal) )))))) ;) (expression_statement "uVar12 = (uint)lVar22;" (assignment_expression "uVar12 = (uint)lVar22" identifier = (cast_expression "(uint)lVar22" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "piVar13 = (int *)(uVar12 * 0x400);" (assignment_expression "piVar13 = (int *)(uVar12 * 0x400)" identifier = (cast_expression "(int *)(uVar12 * 0x400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar12 * 0x400)" ( (binary_expression "uVar12 * 0x400" identifier * number_literal) )))) ;) (expression_statement "(**(code **)(puVar20 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)((int *)((int)piVar13 + (int)piVar14) < piVar13) +\n               (uVar12 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10) + ((int)piVar14 >> 0x1f));" (call_expression "(**(code **)(puVar20 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)((int *)((int)piVar13 + (int)piVar14) < piVar13) +\n               (uVar12 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10) + ((int)piVar14 >> 0x1f))" (parenthesized_expression "(**(code **)(puVar20 + 0x3edb8))" ( (pointer_expression "**(code **)(puVar20 + 0x3edb8)" * (pointer_expression "*(code **)(puVar20 + 0x3edb8)" * (cast_expression "(code **)(puVar20 + 0x3edb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3edb8)" ( (binary_expression "puVar20 + 0x3edb8" identifier + number_literal) ))))) )) (argument_list "(uStack_d0._0_4_,1,\n               (uint)((int *)((int)piVar13 + (int)piVar14) < piVar13) +\n               (uVar12 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10) + ((int)piVar14 >> 0x1f))" ( (field_expression "uStack_d0._0_4_" identifier . field_identifier) , number_literal , (binary_expression "(uint)((int *)((int)piVar13 + (int)piVar14) < piVar13) +\n               (uVar12 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10) + ((int)piVar14 >> 0x1f)" (binary_expression "(uint)((int *)((int)piVar13 + (int)piVar14) < piVar13) +\n               (uVar12 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10)" (call_expression "(uint)((int *)((int)piVar13 + (int)piVar14) < piVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int *)((int)piVar13 + (int)piVar14) < piVar13)" ( (binary_expression "(int *)((int)piVar13 + (int)piVar14) < piVar13" (cast_expression "(int *)((int)piVar13 + (int)piVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar13 + (int)piVar14)" ( (binary_expression "(int)piVar13 + (int)piVar14" (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < identifier) ))) + (parenthesized_expression "(uVar12 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10)" ( (binary_expression "uVar12 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10" (binary_expression "uVar12 >> 0x16" identifier >> number_literal) | (binary_expression "(int)((ulonglong)lVar22 >> 0x20) << 10" (cast_expression "(int)((ulonglong)lVar22 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar22 >> 0x20)" ( (binary_expression "(ulonglong)lVar22 >> 0x20" (cast_expression "(ulonglong)lVar22" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) << number_literal)) ))) + (parenthesized_expression "((int)piVar14 >> 0x1f)" ( (binary_expression "(int)piVar14 >> 0x1f" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) ))) ;) (goto_statement "goto LAB_0011ceb8;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar4 + 0x100) != 0) {\n    iVar3 = *(int *)(iVar4 + 0x100) + (int)piVar5 * 0x18;\n    if (in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (int *)(*(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24))\n                            (iVar3 + 4,in_stack_ffffff78,in_stack_ffffff7c);\n      if (uStack_d0._0_4_ != (int *)0x0) {\n        puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ed20))(0,0x68);\n        if (puVar7 != (undefined4 *)0x0) {\n          (**(code **)(puVar20 + 0x3ef74))(puVar7 + 1,0,100);\n          *puVar7 = 0x7fffffff;\n          puVar7[0xe] = puVar7 + 0x18;\n          uVar12 = (uint)(puVar7 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar7 + 0x18) - uVar12);\n          *puVar1 = *puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8;\n          uVar12 = (int)puVar7 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar7 + 99U) - uVar12);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar20 + 0x3ec08))(0);\n        iVar3 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(int **)(iVar3 + 0xc);\n      if (uStack_d0._0_4_ == (int *)0x0) {\n        (**(code **)(puVar20 + 0x3ebe0))(0);\n      }\n      else {\n        iVar8 = 0;\n        iVar3 = 0;\n        ppcVar11 = (char **)0x0;\n        do {\n          unaff_s7 = ppcVar11;\n          if ((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))) {\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;\n          iVar3 = iVar18;\n          ppcVar11 = unaff_s7;\n        } while (uStack_d0._0_4_ != (int *)0x0);\n        if (1 < iVar18) {\n          (**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar18 != 0) goto LAB_0011d154;\n        (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x100) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x100) != 0" (pointer_expression "*(int *)(iVar4 + 0x100)" * (cast_expression "(int *)(iVar4 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x100)" ( (binary_expression "iVar4 + 0x100" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar3 = *(int *)(iVar4 + 0x100) + (int)piVar5 * 0x18;\n    if (in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (int *)(*(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24))\n                            (iVar3 + 4,in_stack_ffffff78,in_stack_ffffff7c);\n      if (uStack_d0._0_4_ != (int *)0x0) {\n        puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ed20))(0,0x68);\n        if (puVar7 != (undefined4 *)0x0) {\n          (**(code **)(puVar20 + 0x3ef74))(puVar7 + 1,0,100);\n          *puVar7 = 0x7fffffff;\n          puVar7[0xe] = puVar7 + 0x18;\n          uVar12 = (uint)(puVar7 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar7 + 0x18) - uVar12);\n          *puVar1 = *puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8;\n          uVar12 = (int)puVar7 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar7 + 99U) - uVar12);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar20 + 0x3ec08))(0);\n        iVar3 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(int **)(iVar3 + 0xc);\n      if (uStack_d0._0_4_ == (int *)0x0) {\n        (**(code **)(puVar20 + 0x3ebe0))(0);\n      }\n      else {\n        iVar8 = 0;\n        iVar3 = 0;\n        ppcVar11 = (char **)0x0;\n        do {\n          unaff_s7 = ppcVar11;\n          if ((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))) {\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;\n          iVar3 = iVar18;\n          ppcVar11 = unaff_s7;\n        } while (uStack_d0._0_4_ != (int *)0x0);\n        if (1 < iVar18) {\n          (**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar18 != 0) goto LAB_0011d154;\n        (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }" { (expression_statement "iVar3 = *(int *)(iVar4 + 0x100) + (int)piVar5 * 0x18;" (assignment_expression "iVar3 = *(int *)(iVar4 + 0x100) + (int)piVar5 * 0x18" identifier = (binary_expression "*(int *)(iVar4 + 0x100) + (int)piVar5 * 0x18" (pointer_expression "*(int *)(iVar4 + 0x100)" * (cast_expression "(int *)(iVar4 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x100)" ( (binary_expression "iVar4 + 0x100" identifier + number_literal) )))) + (binary_expression "(int)piVar5 * 0x18" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (if_statement "if (in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (int *)(*(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24))\n                            (iVar3 + 4,in_stack_ffffff78,in_stack_ffffff7c);\n      if (uStack_d0._0_4_ != (int *)0x0) {\n        puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ed20))(0,0x68);\n        if (puVar7 != (undefined4 *)0x0) {\n          (**(code **)(puVar20 + 0x3ef74))(puVar7 + 1,0,100);\n          *puVar7 = 0x7fffffff;\n          puVar7[0xe] = puVar7 + 0x18;\n          uVar12 = (uint)(puVar7 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar7 + 0x18) - uVar12);\n          *puVar1 = *puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8;\n          uVar12 = (int)puVar7 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar7 + 99U) - uVar12);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar20 + 0x3ec08))(0);\n        iVar3 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(int **)(iVar3 + 0xc);\n      if (uStack_d0._0_4_ == (int *)0x0) {\n        (**(code **)(puVar20 + 0x3ebe0))(0);\n      }\n      else {\n        iVar8 = 0;\n        iVar3 = 0;\n        ppcVar11 = (char **)0x0;\n        do {\n          unaff_s7 = ppcVar11;\n          if ((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))) {\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;\n          iVar3 = iVar18;\n          ppcVar11 = unaff_s7;\n        } while (uStack_d0._0_4_ != (int *)0x0);\n        if (1 < iVar18) {\n          (**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar18 != 0) goto LAB_0011d154;\n        (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\n      }\n    }" if (parenthesized_expression "(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0)" ( (binary_expression "in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0" (binary_expression "in_stack_ffffff80 == (sqlite3_int64 *)0x0" identifier == (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "iStack_7c == 0" identifier == number_literal)) )) (compound_statement "{\n      uStack_d0._0_4_ =\n           (int *)(*(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24))\n                            (iVar3 + 4,in_stack_ffffff78,in_stack_ffffff7c);\n      if (uStack_d0._0_4_ != (int *)0x0) {\n        puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ed20))(0,0x68);\n        if (puVar7 != (undefined4 *)0x0) {\n          (**(code **)(puVar20 + 0x3ef74))(puVar7 + 1,0,100);\n          *puVar7 = 0x7fffffff;\n          puVar7[0xe] = puVar7 + 0x18;\n          uVar12 = (uint)(puVar7 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar7 + 0x18) - uVar12);\n          *puVar1 = *puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8;\n          uVar12 = (int)puVar7 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar7 + 99U) - uVar12);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar20 + 0x3ec08))(0);\n        iVar3 = 7;\n        goto LAB_0011cde0;\n      }\n    }" { (expression_statement "uStack_d0._0_4_ =\n           (int *)(*(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24))\n                            (iVar3 + 4,in_stack_ffffff78,in_stack_ffffff7c);" (assignment_expression "uStack_d0._0_4_ =\n           (int *)(*(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24))\n                            (iVar3 + 4,in_stack_ffffff78,in_stack_ffffff7c)" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (cast_expression "(int *)(*(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24))\n                            (iVar3 + 4,in_stack_ffffff78,in_stack_ffffff7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24))\n                            (iVar3 + 4,in_stack_ffffff78,in_stack_ffffff7c)" (parenthesized_expression "(*(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24))" ( (pointer_expression "*(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24)" * (cast_expression "(code *)(*(int *)(puVar20 + 0x3ec80) + -0x2c24)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x3ec80) + -0x2c24)" ( (binary_expression "*(int *)(puVar20 + 0x3ec80) + -0x2c24" (pointer_expression "*(int *)(puVar20 + 0x3ec80)" * (cast_expression "(int *)(puVar20 + 0x3ec80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x3ec80)" ( (binary_expression "puVar20 + 0x3ec80" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar3 + 4,in_stack_ffffff78,in_stack_ffffff7c)" ( (binary_expression "iVar3 + 4" identifier + number_literal) , identifier , identifier ))))) ;) (if_statement "if (uStack_d0._0_4_ != (int *)0x0) {\n        puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ed20))(0,0x68);\n        if (puVar7 != (undefined4 *)0x0) {\n          (**(code **)(puVar20 + 0x3ef74))(puVar7 + 1,0,100);\n          *puVar7 = 0x7fffffff;\n          puVar7[0xe] = puVar7 + 0x18;\n          uVar12 = (uint)(puVar7 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar7 + 0x18) - uVar12);\n          *puVar1 = *puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8;\n          uVar12 = (int)puVar7 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar7 + 99U) - uVar12);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar20 + 0x3ec08))(0);\n        iVar3 = 7;\n        goto LAB_0011cde0;\n      }" if (parenthesized_expression "(uStack_d0._0_4_ != (int *)0x0)" ( (binary_expression "uStack_d0._0_4_ != (int *)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ed20))(0,0x68);\n        if (puVar7 != (undefined4 *)0x0) {\n          (**(code **)(puVar20 + 0x3ef74))(puVar7 + 1,0,100);\n          *puVar7 = 0x7fffffff;\n          puVar7[0xe] = puVar7 + 0x18;\n          uVar12 = (uint)(puVar7 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar7 + 0x18) - uVar12);\n          *puVar1 = *puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8;\n          uVar12 = (int)puVar7 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar7 + 99U) - uVar12);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar20 + 0x3ec08))(0);\n        iVar3 = 7;\n        goto LAB_0011cde0;\n      }" { (expression_statement "puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ed20))(0,0x68);" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ed20))(0,0x68)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar20 + 0x3ed20))(0,0x68)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar20 + 0x3ed20))(0,0x68)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ed20))" ( (pointer_expression "**(code **)(puVar20 + 0x3ed20)" * (pointer_expression "*(code **)(puVar20 + 0x3ed20)" * (cast_expression "(code **)(puVar20 + 0x3ed20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ed20)" ( (binary_expression "puVar20 + 0x3ed20" identifier + number_literal) ))))) )) (argument_list "(0,0x68)" ( number_literal , number_literal ))))) ;) (if_statement "if (puVar7 != (undefined4 *)0x0) {\n          (**(code **)(puVar20 + 0x3ef74))(puVar7 + 1,0,100);\n          *puVar7 = 0x7fffffff;\n          puVar7[0xe] = puVar7 + 0x18;\n          uVar12 = (uint)(puVar7 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar7 + 0x18) - uVar12);\n          *puVar1 = *puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8;\n          uVar12 = (int)puVar7 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar7 + 99U) - uVar12);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8;\n          goto LAB_0011cd88;\n        }" if (parenthesized_expression "(puVar7 != (undefined4 *)0x0)" ( (binary_expression "puVar7 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(puVar20 + 0x3ef74))(puVar7 + 1,0,100);\n          *puVar7 = 0x7fffffff;\n          puVar7[0xe] = puVar7 + 0x18;\n          uVar12 = (uint)(puVar7 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar7 + 0x18) - uVar12);\n          *puVar1 = *puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8;\n          uVar12 = (int)puVar7 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar7 + 99U) - uVar12);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8;\n          goto LAB_0011cd88;\n        }" { (expression_statement "(**(code **)(puVar20 + 0x3ef74))(puVar7 + 1,0,100);" (call_expression "(**(code **)(puVar20 + 0x3ef74))(puVar7 + 1,0,100)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ef74))" ( (pointer_expression "**(code **)(puVar20 + 0x3ef74)" * (pointer_expression "*(code **)(puVar20 + 0x3ef74)" * (cast_expression "(code **)(puVar20 + 0x3ef74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ef74)" ( (binary_expression "puVar20 + 0x3ef74" identifier + number_literal) ))))) )) (argument_list "(puVar7 + 1,0,100)" ( (binary_expression "puVar7 + 1" identifier + number_literal) , number_literal , number_literal ))) ;) (expression_statement "*puVar7 = 0x7fffffff;" (assignment_expression "*puVar7 = 0x7fffffff" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "puVar7[0xe] = puVar7 + 0x18;" (assignment_expression "puVar7[0xe] = puVar7 + 0x18" (subscript_expression "puVar7[0xe]" identifier [ number_literal ]) = (binary_expression "puVar7 + 0x18" identifier + number_literal)) ;) (expression_statement "uVar12 = (uint)(puVar7 + 0x18) & 3;" (assignment_expression "uVar12 = (uint)(puVar7 + 0x18) & 3" identifier = (binary_expression "(uint)(puVar7 + 0x18) & 3" (call_expression "(uint)(puVar7 + 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar7 + 0x18)" ( (binary_expression "puVar7 + 0x18" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "puVar1 = (uint *)((int)(puVar7 + 0x18) - uVar12);" (assignment_expression "puVar1 = (uint *)((int)(puVar7 + 0x18) - uVar12)" identifier = (cast_expression "(uint *)((int)(puVar7 + 0x18) - uVar12)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(puVar7 + 0x18) - uVar12)" ( (binary_expression "(int)(puVar7 + 0x18) - uVar12" (cast_expression "(int)(puVar7 + 0x18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar7 + 0x18)" ( (binary_expression "puVar7 + 0x18" identifier + number_literal) ))) - identifier) )))) ;) (expression_statement "*puVar1 = *puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8;" (assignment_expression "*puVar1 = *puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & -1 << (4 - uVar12) * 8 | (uint)uStack_d0._0_4_ >> uVar12 * 8" (binary_expression "*puVar1 & -1 << (4 - uVar12) * 8" (pointer_expression "*puVar1" * identifier) & (binary_expression "-1 << (4 - uVar12) * 8" number_literal << (binary_expression "(4 - uVar12) * 8" (parenthesized_expression "(4 - uVar12)" ( (binary_expression "4 - uVar12" number_literal - identifier) )) * number_literal))) | (binary_expression "(uint)uStack_d0._0_4_ >> uVar12 * 8" (cast_expression "(uint)uStack_d0._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "uStack_d0._0_4_" identifier . field_identifier)) >> (binary_expression "uVar12 * 8" identifier * number_literal)))) ;) (expression_statement "uVar12 = (int)puVar7 + 99U & 3;" (assignment_expression "uVar12 = (int)puVar7 + 99U & 3" identifier = (binary_expression "(int)puVar7 + 99U & 3" (binary_expression "(int)puVar7 + 99U" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) & number_literal)) ;) (expression_statement "puVar1 = (uint *)(((int)puVar7 + 99U) - uVar12);" (assignment_expression "puVar1 = (uint *)(((int)puVar7 + 99U) - uVar12)" identifier = (cast_expression "(uint *)(((int)puVar7 + 99U) - uVar12)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)puVar7 + 99U) - uVar12)" ( (binary_expression "((int)puVar7 + 99U) - uVar12" (parenthesized_expression "((int)puVar7 + 99U)" ( (binary_expression "(int)puVar7 + 99U" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - identifier) )))) ;) (expression_statement "*puVar1 = *puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8;" (assignment_expression "*puVar1 = *puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & 0xffffffffU >> (uVar12 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar12) * 8" (binary_expression "*puVar1 & 0xffffffffU >> (uVar12 + 1) * 8" (pointer_expression "*puVar1" * identifier) & (binary_expression "0xffffffffU >> (uVar12 + 1) * 8" number_literal >> (binary_expression "(uVar12 + 1) * 8" (parenthesized_expression "(uVar12 + 1)" ( (binary_expression "uVar12 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "(int)uStack_d0._0_4_ << (3 - uVar12) * 8" (cast_expression "(int)uStack_d0._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "uStack_d0._0_4_" identifier . field_identifier)) << (binary_expression "(3 - uVar12) * 8" (parenthesized_expression "(3 - uVar12)" ( (binary_expression "3 - uVar12" number_literal - identifier) )) * number_literal)))) ;) (goto_statement "goto LAB_0011cd88;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar20 + 0x3ec08))(0);" (call_expression "(**(code **)(puVar20 + 0x3ec08))(0)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ec08))" ( (pointer_expression "**(code **)(puVar20 + 0x3ec08)" * (pointer_expression "*(code **)(puVar20 + 0x3ec08)" * (cast_expression "(code **)(puVar20 + 0x3ec08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ec08)" ( (binary_expression "puVar20 + 0x3ec08" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_0011cde0;" goto statement_identifier ;) })) }) (else_clause "else {\n      uStack_d0._0_4_ = *(int **)(iVar3 + 0xc);\n      if (uStack_d0._0_4_ == (int *)0x0) {\n        (**(code **)(puVar20 + 0x3ebe0))(0);\n      }\n      else {\n        iVar8 = 0;\n        iVar3 = 0;\n        ppcVar11 = (char **)0x0;\n        do {\n          unaff_s7 = ppcVar11;\n          if ((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))) {\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;\n          iVar3 = iVar18;\n          ppcVar11 = unaff_s7;\n        } while (uStack_d0._0_4_ != (int *)0x0);\n        if (1 < iVar18) {\n          (**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar18 != 0) goto LAB_0011d154;\n        (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\n      }\n    }" else (compound_statement "{\n      uStack_d0._0_4_ = *(int **)(iVar3 + 0xc);\n      if (uStack_d0._0_4_ == (int *)0x0) {\n        (**(code **)(puVar20 + 0x3ebe0))(0);\n      }\n      else {\n        iVar8 = 0;\n        iVar3 = 0;\n        ppcVar11 = (char **)0x0;\n        do {\n          unaff_s7 = ppcVar11;\n          if ((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))) {\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;\n          iVar3 = iVar18;\n          ppcVar11 = unaff_s7;\n        } while (uStack_d0._0_4_ != (int *)0x0);\n        if (1 < iVar18) {\n          (**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar18 != 0) goto LAB_0011d154;\n        (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\n      }\n    }" { (expression_statement "uStack_d0._0_4_ = *(int **)(iVar3 + 0xc);" (assignment_expression "uStack_d0._0_4_ = *(int **)(iVar3 + 0xc)" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (pointer_expression "*(int **)(iVar3 + 0xc)" * (cast_expression "(int **)(iVar3 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (uStack_d0._0_4_ == (int *)0x0) {\n        (**(code **)(puVar20 + 0x3ebe0))(0);\n      }\n      else {\n        iVar8 = 0;\n        iVar3 = 0;\n        ppcVar11 = (char **)0x0;\n        do {\n          unaff_s7 = ppcVar11;\n          if ((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))) {\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;\n          iVar3 = iVar18;\n          ppcVar11 = unaff_s7;\n        } while (uStack_d0._0_4_ != (int *)0x0);\n        if (1 < iVar18) {\n          (**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar18 != 0) goto LAB_0011d154;\n        (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\n      }" if (parenthesized_expression "(uStack_d0._0_4_ == (int *)0x0)" ( (binary_expression "uStack_d0._0_4_ == (int *)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(puVar20 + 0x3ebe0))(0);\n      }" { (expression_statement "(**(code **)(puVar20 + 0x3ebe0))(0);" (call_expression "(**(code **)(puVar20 + 0x3ebe0))(0)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ebe0))" ( (pointer_expression "**(code **)(puVar20 + 0x3ebe0)" * (pointer_expression "*(code **)(puVar20 + 0x3ebe0)" * (cast_expression "(code **)(puVar20 + 0x3ebe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ebe0)" ( (binary_expression "puVar20 + 0x3ebe0" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) }) (else_clause "else {\n        iVar8 = 0;\n        iVar3 = 0;\n        ppcVar11 = (char **)0x0;\n        do {\n          unaff_s7 = ppcVar11;\n          if ((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))) {\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;\n          iVar3 = iVar18;\n          ppcVar11 = unaff_s7;\n        } while (uStack_d0._0_4_ != (int *)0x0);\n        if (1 < iVar18) {\n          (**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar18 != 0) goto LAB_0011d154;\n        (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\n      }" else (compound_statement "{\n        iVar8 = 0;\n        iVar3 = 0;\n        ppcVar11 = (char **)0x0;\n        do {\n          unaff_s7 = ppcVar11;\n          if ((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))) {\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;\n          iVar3 = iVar18;\n          ppcVar11 = unaff_s7;\n        } while (uStack_d0._0_4_ != (int *)0x0);\n        if (1 < iVar18) {\n          (**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar18 != 0) goto LAB_0011d154;\n        (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\n      }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "ppcVar11 = (char **)0x0;" (assignment_expression "ppcVar11 = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (do_statement "do {\n          unaff_s7 = ppcVar11;\n          if ((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))) {\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;\n          iVar3 = iVar18;\n          ppcVar11 = unaff_s7;\n        } while (uStack_d0._0_4_ != (int *)0x0);" do (compound_statement "{\n          unaff_s7 = ppcVar11;\n          if ((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))) {\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;\n          iVar3 = iVar18;\n          ppcVar11 = unaff_s7;\n        }" { (expression_statement "unaff_s7 = ppcVar11;" (assignment_expression "unaff_s7 = ppcVar11" identifier = identifier) ;) (if_statement "if ((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))) {\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }" if (parenthesized_expression "((in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0))))" ( (binary_expression "(in_stack_ffffff7c == (char **)0x0) ||\n             ((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))" (parenthesized_expression "(in_stack_ffffff7c == (char **)0x0)" ( (binary_expression "in_stack_ffffff7c == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) || (parenthesized_expression "((iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)))" ( (parenthesized_expression "(iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0))" ( (comma_expression "iVar18 = iVar3, (int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)" (assignment_expression "iVar18 = iVar3" identifier = identifier) , (binary_expression "(int)in_stack_ffffff7c <= uStack_d0._0_4_[4] &&\n              (iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)" (binary_expression "(int)in_stack_ffffff7c <= uStack_d0._0_4_[4]" (cast_expression "(int)in_stack_ffffff7c" ( (type_descriptor "int" primitive_type) ) identifier) <= (subscript_expression "uStack_d0._0_4_[4]" (field_expression "uStack_d0._0_4_" identifier . field_identifier) [ number_literal ])) && (parenthesized_expression "(iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0)" ( (comma_expression "iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c),\n              iVar16 == 0" (assignment_expression "iVar16 = (**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c)" identifier = (call_expression "(**(code **)(puVar20 + 0x3efdc))\n                                  (uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c)" (parenthesized_expression "(**(code **)(puVar20 + 0x3efdc))" ( (pointer_expression "**(code **)(puVar20 + 0x3efdc)" * (pointer_expression "*(code **)(puVar20 + 0x3efdc)" * (cast_expression "(code **)(puVar20 + 0x3efdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3efdc)" ( (binary_expression "puVar20 + 0x3efdc" identifier + number_literal) ))))) )) (argument_list "(uStack_d0._0_4_[3],in_stack_ffffff78,in_stack_ffffff7c)" ( (subscript_expression "uStack_d0._0_4_[3]" (field_expression "uStack_d0._0_4_" identifier . field_identifier) [ number_literal ]) , identifier , identifier )))) , (binary_expression "iVar16 == 0" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n            if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }\n            iVar18 = iVar3 + 1;\n            unaff_s7[iVar3] = (char *)uStack_d0._0_4_;\n          }" { (if_statement "if (iVar8 == iVar3) {\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }" if (parenthesized_expression "(iVar8 == iVar3)" ( (binary_expression "iVar8 == iVar3" identifier == identifier) )) (compound_statement "{\n              iVar8 = iVar8 + 0x10;\n              unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);\n              if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;\n            }" { (expression_statement "iVar8 = iVar8 + 0x10;" (assignment_expression "iVar8 = iVar8 + 0x10" identifier = (binary_expression "iVar8 + 0x10" identifier + number_literal)) ;) (expression_statement "unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4);" (assignment_expression "unaff_s7 = (char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4)" identifier = (cast_expression "(char **)(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(puVar20 + 0x3ebb0))(ppcVar11,iVar8 * 4)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ebb0))" ( (pointer_expression "**(code **)(puVar20 + 0x3ebb0)" * (pointer_expression "*(code **)(puVar20 + 0x3ebb0)" * (cast_expression "(code **)(puVar20 + 0x3ebb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ebb0)" ( (binary_expression "puVar20 + 0x3ebb0" identifier + number_literal) ))))) )) (argument_list "(ppcVar11,iVar8 * 4)" ( identifier , (binary_expression "iVar8 * 4" identifier * number_literal) ))))) ;) (if_statement "if (unaff_s7 == (char **)0x0) goto LAB_0011ce24;" if (parenthesized_expression "(unaff_s7 == (char **)0x0)" ( (binary_expression "unaff_s7 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0011ce24;" goto statement_identifier ;)) })) (expression_statement "iVar18 = iVar3 + 1;" (assignment_expression "iVar18 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s7[iVar3] = (char *)uStack_d0._0_4_;" (assignment_expression "unaff_s7[iVar3] = (char *)uStack_d0._0_4_" (subscript_expression "unaff_s7[iVar3]" identifier [ identifier ]) = (cast_expression "(char *)uStack_d0._0_4_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "uStack_d0._0_4_" identifier . field_identifier))) ;) })) (expression_statement "uStack_d0._0_4_ = (int *)*uStack_d0._0_4_;" (assignment_expression "uStack_d0._0_4_ = (int *)*uStack_d0._0_4_" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (cast_expression "(int *)*uStack_d0._0_4_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*uStack_d0._0_4_" * (field_expression "uStack_d0._0_4_" identifier . field_identifier)))) ;) (expression_statement "iVar3 = iVar18;" (assignment_expression "iVar3 = iVar18" identifier = identifier) ;) (expression_statement "ppcVar11 = unaff_s7;" (assignment_expression "ppcVar11 = unaff_s7" identifier = identifier) ;) }) while (parenthesized_expression "(uStack_d0._0_4_ != (int *)0x0)" ( (binary_expression "uStack_d0._0_4_ != (int *)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (1 < iVar18) {\n          (**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }" if (parenthesized_expression "(1 < iVar18)" ( (binary_expression "1 < iVar18" number_literal < identifier) )) (compound_statement "{\n          (**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }" { (expression_statement "(**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0);" (call_expression "(**(code **)(puVar20 + 0x3ef48))(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ef48))" ( (pointer_expression "**(code **)(puVar20 + 0x3ef48)" * (pointer_expression "*(code **)(puVar20 + 0x3ef48)" * (cast_expression "(code **)(puVar20 + 0x3ef48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ef48)" ( (binary_expression "puVar20 + 0x3ef48" identifier + number_literal) ))))) )) (argument_list "(unaff_s7,iVar18,4,*(int *)(puVar20 + 0x3ec98) + -0x76d0)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar20 + 0x3ec98) + -0x76d0" (pointer_expression "*(int *)(puVar20 + 0x3ec98)" * (cast_expression "(int *)(puVar20 + 0x3ec98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x3ec98)" ( (binary_expression "puVar20 + 0x3ec98" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_0011cd08;" goto statement_identifier ;) })) (if_statement "if (iVar18 != 0) goto LAB_0011d154;" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011d154;" goto statement_identifier ;)) (expression_statement "(**(code **)(puVar20 + 0x3ebe0))(unaff_s7);" (call_expression "(**(code **)(puVar20 + 0x3ebe0))(unaff_s7)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ebe0))" ( (pointer_expression "**(code **)(puVar20 + 0x3ebe0)" * (pointer_expression "*(code **)(puVar20 + 0x3ebe0)" * (cast_expression "(code **)(puVar20 + 0x3ebe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ebe0)" ( (binary_expression "puVar20 + 0x3ebe0" identifier + number_literal) ))))) )) (argument_list "(unaff_s7)" ( identifier ))) ;) }))) }))) })) (if_statement "if (piVar14 != (int *)0xffffffff) {\n    iVar8 = *(int *)(puVar20 + 0x3ee40);\n    goto LAB_0011cc20;\n  }" if (parenthesized_expression "(piVar14 != (int *)0xffffffff)" ( (binary_expression "piVar14 != (int *)0xffffffff" identifier != (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar8 = *(int *)(puVar20 + 0x3ee40);\n    goto LAB_0011cc20;\n  }" { (expression_statement "iVar8 = *(int *)(puVar20 + 0x3ee40);" (assignment_expression "iVar8 = *(int *)(puVar20 + 0x3ee40)" identifier = (pointer_expression "*(int *)(puVar20 + 0x3ee40)" * (cast_expression "(int *)(puVar20 + 0x3ee40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x3ee40)" ( (binary_expression "puVar20 + 0x3ee40" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0011cc20;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar20 + 0x3ec08))(0);" (call_expression "(**(code **)(puVar20 + 0x3ec08))(0)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ec08))" ( (pointer_expression "**(code **)(puVar20 + 0x3ec08)" * (pointer_expression "*(code **)(puVar20 + 0x3ec08)" * (cast_expression "(code **)(puVar20 + 0x3ec08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ec08)" ( (binary_expression "puVar20 + 0x3ec08" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar6) {\n        return iVar3;\n      }\n      (**(code **)(puVar20 + 0x3efd0))();\nLAB_0011d154:\n      iVar18 = 1;\nLAB_0011cd08:\n      iVar8 = (iVar18 + 0x19) * 4;\n      iVar3 = (**(code **)(puVar20 + 0x3ed20))(0,iVar8);\n      ppcVar11 = unaff_s7;\n      if (iVar3 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar20 + 0x3ebe0))(ppcVar11);\n      (**(code **)(puVar20 + 0x3ec08))(0);\n      iVar3 = 7;\n      unaff_s7 = ppcVar11;\n    }\n    puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ef74))(iVar3,0,iVar8);\n    puVar7[0xe] = puVar7 + 0x18;\n    pcVar19 = *(code **)(puVar20 + 0x3eff0);\n    *puVar7 = 0x7fffffff;\n    (*pcVar19)(puVar7 + 0x18,unaff_s7,iVar8 + -100);\n    (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4))(&_gp,&DAT_001635b4,puVar7);\n    if ((piVar14 == (int *)0xffffffff) || (iVar8 = *(int *)(puVar20 + 0x3ee40), iVar3 != 0)) {\n      piVar13 = (int *)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (int *)0x0;\n      iVar3 = (*(code *)(iVar8 + 0x7f20))(iVar4,0xd,&uStack_d0,0);\n      piVar13 = uStack_d0._0_4_;\n      if (iVar3 == 0) {\n        lVar22 = ((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))\n                 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22);\n        lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n        uVar21 = (uint)lVar22;\n        uVar12 = uVar21 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10));\nLAB_0011ceb8:\n        piVar13 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar16 = *(int *)(puVar20 + 0x3ecc0);\n        unaff_s7 = (char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0);\n        iVar8 = *(int *)(puVar20 + 0x3ec94);\n        iVar18 = *(int *)(puVar20 + 0x3ecb8);\n        do {\n          iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);\n          if (iVar3 != 100) break;\n          uStack_dc = 0;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);\n          uStack_d8 = lVar22;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);\n          uStack_d0 = lVar22;\n          uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);\n          piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);\n          paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);\n          if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))\n          {\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }\n          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar22;\n          iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc);\n          uStack_d8 = lVar22;\n          if (iVar3 != 0) break;\n          iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);\n        } while (iVar3 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar8 = (**(code **)(puVar20 + 0x3ec08))(piVar13);\n    piVar14 = piVar13;\n    if (iVar3 == 0x65) {\n      iVar3 = iVar8;\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    while( true ) {\n      if (iStack_c4 == *piVar6) {\n        return iVar3;\n      }\n      (**(code **)(puVar20 + 0x3efd0))();\nLAB_0011d154:\n      iVar18 = 1;\nLAB_0011cd08:\n      iVar8 = (iVar18 + 0x19) * 4;\n      iVar3 = (**(code **)(puVar20 + 0x3ed20))(0,iVar8);\n      ppcVar11 = unaff_s7;\n      if (iVar3 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar20 + 0x3ebe0))(ppcVar11);\n      (**(code **)(puVar20 + 0x3ec08))(0);\n      iVar3 = 7;\n      unaff_s7 = ppcVar11;\n    }\n    puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ef74))(iVar3,0,iVar8);\n    puVar7[0xe] = puVar7 + 0x18;\n    pcVar19 = *(code **)(puVar20 + 0x3eff0);\n    *puVar7 = 0x7fffffff;\n    (*pcVar19)(puVar7 + 0x18,unaff_s7,iVar8 + -100);\n    (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4))(&_gp,&DAT_001635b4,puVar7);\n    if ((piVar14 == (int *)0xffffffff) || (iVar8 = *(int *)(puVar20 + 0x3ee40), iVar3 != 0)) {\n      piVar13 = (int *)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (int *)0x0;\n      iVar3 = (*(code *)(iVar8 + 0x7f20))(iVar4,0xd,&uStack_d0,0);\n      piVar13 = uStack_d0._0_4_;\n      if (iVar3 == 0) {\n        lVar22 = ((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))\n                 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22);\n        lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n        uVar21 = (uint)lVar22;\n        uVar12 = uVar21 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10));\nLAB_0011ceb8:\n        piVar13 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar16 = *(int *)(puVar20 + 0x3ecc0);\n        unaff_s7 = (char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0);\n        iVar8 = *(int *)(puVar20 + 0x3ec94);\n        iVar18 = *(int *)(puVar20 + 0x3ecb8);\n        do {\n          iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);\n          if (iVar3 != 100) break;\n          uStack_dc = 0;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);\n          uStack_d8 = lVar22;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);\n          uStack_d0 = lVar22;\n          uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);\n          piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);\n          paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);\n          if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))\n          {\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }\n          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar22;\n          iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc);\n          uStack_d8 = lVar22;\n          if (iVar3 != 0) break;\n          iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);\n        } while (iVar3 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar8 = (**(code **)(puVar20 + 0x3ec08))(piVar13);\n    piVar14 = piVar13;\n    if (iVar3 == 0x65) {\n      iVar3 = iVar8;\n    }\n  } while( true );" do (compound_statement "{\n    while( true ) {\n      if (iStack_c4 == *piVar6) {\n        return iVar3;\n      }\n      (**(code **)(puVar20 + 0x3efd0))();\nLAB_0011d154:\n      iVar18 = 1;\nLAB_0011cd08:\n      iVar8 = (iVar18 + 0x19) * 4;\n      iVar3 = (**(code **)(puVar20 + 0x3ed20))(0,iVar8);\n      ppcVar11 = unaff_s7;\n      if (iVar3 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar20 + 0x3ebe0))(ppcVar11);\n      (**(code **)(puVar20 + 0x3ec08))(0);\n      iVar3 = 7;\n      unaff_s7 = ppcVar11;\n    }\n    puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ef74))(iVar3,0,iVar8);\n    puVar7[0xe] = puVar7 + 0x18;\n    pcVar19 = *(code **)(puVar20 + 0x3eff0);\n    *puVar7 = 0x7fffffff;\n    (*pcVar19)(puVar7 + 0x18,unaff_s7,iVar8 + -100);\n    (**(code **)(puVar20 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4))(&_gp,&DAT_001635b4,puVar7);\n    if ((piVar14 == (int *)0xffffffff) || (iVar8 = *(int *)(puVar20 + 0x3ee40), iVar3 != 0)) {\n      piVar13 = (int *)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (int *)0x0;\n      iVar3 = (*(code *)(iVar8 + 0x7f20))(iVar4,0xd,&uStack_d0,0);\n      piVar13 = uStack_d0._0_4_;\n      if (iVar3 == 0) {\n        lVar22 = ((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))\n                 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22);\n        lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n        uVar21 = (uint)lVar22;\n        uVar12 = uVar21 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10));\nLAB_0011ceb8:\n        piVar13 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar16 = *(int *)(puVar20 + 0x3ecc0);\n        unaff_s7 = (char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0);\n        iVar8 = *(int *)(puVar20 + 0x3ec94);\n        iVar18 = *(int *)(puVar20 + 0x3ecb8);\n        do {\n          iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);\n          if (iVar3 != 100) break;\n          uStack_dc = 0;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);\n          uStack_d8 = lVar22;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);\n          uStack_d0 = lVar22;\n          uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);\n          piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);\n          paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);\n          if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))\n          {\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }\n          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar22;\n          iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc);\n          uStack_d8 = lVar22;\n          if (iVar3 != 0) break;\n          iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);\n        } while (iVar3 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar8 = (**(code **)(puVar20 + 0x3ec08))(piVar13);\n    piVar14 = piVar13;\n    if (iVar3 == 0x65) {\n      iVar3 = iVar8;\n    }\n  }" { (while_statement "while( true ) {\n      if (iStack_c4 == *piVar6) {\n        return iVar3;\n      }\n      (**(code **)(puVar20 + 0x3efd0))();\nLAB_0011d154:\n      iVar18 = 1;\nLAB_0011cd08:\n      iVar8 = (iVar18 + 0x19) * 4;\n      iVar3 = (**(code **)(puVar20 + 0x3ed20))(0,iVar8);\n      ppcVar11 = unaff_s7;\n      if (iVar3 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar20 + 0x3ebe0))(ppcVar11);\n      (**(code **)(puVar20 + 0x3ec08))(0);\n      iVar3 = 7;\n      unaff_s7 = ppcVar11;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (iStack_c4 == *piVar6) {\n        return iVar3;\n      }\n      (**(code **)(puVar20 + 0x3efd0))();\nLAB_0011d154:\n      iVar18 = 1;\nLAB_0011cd08:\n      iVar8 = (iVar18 + 0x19) * 4;\n      iVar3 = (**(code **)(puVar20 + 0x3ed20))(0,iVar8);\n      ppcVar11 = unaff_s7;\n      if (iVar3 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar20 + 0x3ebe0))(ppcVar11);\n      (**(code **)(puVar20 + 0x3ec08))(0);\n      iVar3 = 7;\n      unaff_s7 = ppcVar11;\n    }" { (if_statement "if (iStack_c4 == *piVar6) {\n        return iVar3;\n      }" if (parenthesized_expression "(iStack_c4 == *piVar6)" ( (binary_expression "iStack_c4 == *piVar6" identifier == (pointer_expression "*piVar6" * identifier)) )) (compound_statement "{\n        return iVar3;\n      }" { (return_statement "return iVar3;" return identifier ;) })) (expression_statement "(**(code **)(puVar20 + 0x3efd0))();" (call_expression "(**(code **)(puVar20 + 0x3efd0))()" (parenthesized_expression "(**(code **)(puVar20 + 0x3efd0))" ( (pointer_expression "**(code **)(puVar20 + 0x3efd0)" * (pointer_expression "*(code **)(puVar20 + 0x3efd0)" * (cast_expression "(code **)(puVar20 + 0x3efd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3efd0)" ( (binary_expression "puVar20 + 0x3efd0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0011d154:\n      iVar18 = 1;" statement_identifier : (expression_statement "iVar18 = 1;" (assignment_expression "iVar18 = 1" identifier = number_literal) ;)) (labeled_statement "LAB_0011cd08:\n      iVar8 = (iVar18 + 0x19) * 4;" statement_identifier : (expression_statement "iVar8 = (iVar18 + 0x19) * 4;" (assignment_expression "iVar8 = (iVar18 + 0x19) * 4" identifier = (binary_expression "(iVar18 + 0x19) * 4" (parenthesized_expression "(iVar18 + 0x19)" ( (binary_expression "iVar18 + 0x19" identifier + number_literal) )) * number_literal)) ;)) (expression_statement "iVar3 = (**(code **)(puVar20 + 0x3ed20))(0,iVar8);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x3ed20))(0,iVar8)" identifier = (call_expression "(**(code **)(puVar20 + 0x3ed20))(0,iVar8)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ed20))" ( (pointer_expression "**(code **)(puVar20 + 0x3ed20)" * (pointer_expression "*(code **)(puVar20 + 0x3ed20)" * (cast_expression "(code **)(puVar20 + 0x3ed20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ed20)" ( (binary_expression "puVar20 + 0x3ed20" identifier + number_literal) ))))) )) (argument_list "(0,iVar8)" ( number_literal , identifier )))) ;) (expression_statement "ppcVar11 = unaff_s7;" (assignment_expression "ppcVar11 = unaff_s7" identifier = identifier) ;) (if_statement "if (iVar3 != 0) break;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0011ce24:\n      (**(code **)(puVar20 + 0x3ebe0))(ppcVar11);" statement_identifier : (expression_statement "(**(code **)(puVar20 + 0x3ebe0))(ppcVar11);" (call_expression "(**(code **)(puVar20 + 0x3ebe0))(ppcVar11)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ebe0))" ( (pointer_expression "**(code **)(puVar20 + 0x3ebe0)" * (pointer_expression "*(code **)(puVar20 + 0x3ebe0)" * (cast_expression "(code **)(puVar20 + 0x3ebe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ebe0)" ( (binary_expression "puVar20 + 0x3ebe0" identifier + number_literal) ))))) )) (argument_list "(ppcVar11)" ( identifier ))) ;)) (expression_statement "(**(code **)(puVar20 + 0x3ec08))(0);" (call_expression "(**(code **)(puVar20 + 0x3ec08))(0)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ec08))" ( (pointer_expression "**(code **)(puVar20 + 0x3ec08)" * (pointer_expression "*(code **)(puVar20 + 0x3ec08)" * (cast_expression "(code **)(puVar20 + 0x3ec08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ec08)" ( (binary_expression "puVar20 + 0x3ec08" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;) (expression_statement "unaff_s7 = ppcVar11;" (assignment_expression "unaff_s7 = ppcVar11" identifier = identifier) ;) })) (expression_statement "puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ef74))(iVar3,0,iVar8);" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(puVar20 + 0x3ef74))(iVar3,0,iVar8)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar20 + 0x3ef74))(iVar3,0,iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar20 + 0x3ef74))(iVar3,0,iVar8)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ef74))" ( (pointer_expression "**(code **)(puVar20 + 0x3ef74)" * (pointer_expression "*(code **)(puVar20 + 0x3ef74)" * (cast_expression "(code **)(puVar20 + 0x3ef74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ef74)" ( (binary_expression "puVar20 + 0x3ef74" identifier + number_literal) ))))) )) (argument_list "(iVar3,0,iVar8)" ( identifier , number_literal , identifier ))))) ;) (expression_statement "puVar7[0xe] = puVar7 + 0x18;" (assignment_expression "puVar7[0xe] = puVar7 + 0x18" (subscript_expression "puVar7[0xe]" identifier [ number_literal ]) = (binary_expression "puVar7 + 0x18" identifier + number_literal)) ;) (expression_statement "pcVar19 = *(code **)(puVar20 + 0x3eff0);" (assignment_expression "pcVar19 = *(code **)(puVar20 + 0x3eff0)" identifier = (pointer_expression "*(code **)(puVar20 + 0x3eff0)" * (cast_expression "(code **)(puVar20 + 0x3eff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3eff0)" ( (binary_expression "puVar20 + 0x3eff0" identifier + number_literal) ))))) ;) (expression_statement "*puVar7 = 0x7fffffff;" (assignment_expression "*puVar7 = 0x7fffffff" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "(*pcVar19)(puVar7 + 0x18,unaff_s7,iVar8 + -100);" (call_expression "(*pcVar19)(puVar7 + 0x18,unaff_s7,iVar8 + -100)" (parenthesized_expression "(*pcVar19)" ( (pointer_expression "*pcVar19" * identifier) )) (argument_list "(puVar7 + 0x18,unaff_s7,iVar8 + -100)" ( (binary_expression "puVar7 + 0x18" identifier + number_literal) , identifier , (binary_expression "iVar8 + -100" identifier + number_literal) ))) ;) (expression_statement "(**(code **)(puVar20 + 0x3ebe0))(unaff_s7);" (call_expression "(**(code **)(puVar20 + 0x3ebe0))(unaff_s7)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ebe0))" ( (pointer_expression "**(code **)(puVar20 + 0x3ebe0)" * (pointer_expression "*(code **)(puVar20 + 0x3ebe0)" * (cast_expression "(code **)(puVar20 + 0x3ebe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ebe0)" ( (binary_expression "puVar20 + 0x3ebe0" identifier + number_literal) ))))) )) (argument_list "(unaff_s7)" ( identifier ))) ;) (labeled_statement "LAB_0011cd88:\n    iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4))(&_gp,&DAT_001635b4,puVar7);" statement_identifier : (expression_statement "iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4))(&_gp,&DAT_001635b4,puVar7);" (assignment_expression "iVar3 = (*(code *)(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4))(&_gp,&DAT_001635b4,puVar7)" identifier = (call_expression "(*(code *)(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4))(&_gp,&DAT_001635b4,puVar7)" (parenthesized_expression "(*(code *)(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4))" ( (pointer_expression "*(code *)(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4)" * (cast_expression "(code *)(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0x3ecb8) + 0x3dc4)" ( (binary_expression "*(int *)(puVar20 + 0x3ecb8) + 0x3dc4" (pointer_expression "*(int *)(puVar20 + 0x3ecb8)" * (cast_expression "(int *)(puVar20 + 0x3ecb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x3ecb8)" ( (binary_expression "puVar20 + 0x3ecb8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(&_gp,&DAT_001635b4,puVar7)" ( (pointer_expression "&_gp" & identifier) , (pointer_expression "&DAT_001635b4" & identifier) , identifier )))) ;)) (if_statement "if ((piVar14 == (int *)0xffffffff) || (iVar8 = *(int *)(puVar20 + 0x3ee40), iVar3 != 0)) {\n      piVar13 = (int *)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (int *)0x0;\n      iVar3 = (*(code *)(iVar8 + 0x7f20))(iVar4,0xd,&uStack_d0,0);\n      piVar13 = uStack_d0._0_4_;\n      if (iVar3 == 0) {\n        lVar22 = ((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))\n                 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22);\n        lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n        uVar21 = (uint)lVar22;\n        uVar12 = uVar21 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10));\nLAB_0011ceb8:\n        piVar13 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar16 = *(int *)(puVar20 + 0x3ecc0);\n        unaff_s7 = (char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0);\n        iVar8 = *(int *)(puVar20 + 0x3ec94);\n        iVar18 = *(int *)(puVar20 + 0x3ecb8);\n        do {\n          iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);\n          if (iVar3 != 100) break;\n          uStack_dc = 0;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);\n          uStack_d8 = lVar22;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);\n          uStack_d0 = lVar22;\n          uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);\n          piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);\n          paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);\n          if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))\n          {\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }\n          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar22;\n          iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc);\n          uStack_d8 = lVar22;\n          if (iVar3 != 0) break;\n          iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);\n        } while (iVar3 == 0);\n      }\n    }" if (parenthesized_expression "((piVar14 == (int *)0xffffffff) || (iVar8 = *(int *)(puVar20 + 0x3ee40), iVar3 != 0))" ( (binary_expression "(piVar14 == (int *)0xffffffff) || (iVar8 = *(int *)(puVar20 + 0x3ee40), iVar3 != 0)" (parenthesized_expression "(piVar14 == (int *)0xffffffff)" ( (binary_expression "piVar14 == (int *)0xffffffff" identifier == (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar8 = *(int *)(puVar20 + 0x3ee40), iVar3 != 0)" ( (comma_expression "iVar8 = *(int *)(puVar20 + 0x3ee40), iVar3 != 0" (assignment_expression "iVar8 = *(int *)(puVar20 + 0x3ee40)" identifier = (pointer_expression "*(int *)(puVar20 + 0x3ee40)" * (cast_expression "(int *)(puVar20 + 0x3ee40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x3ee40)" ( (binary_expression "puVar20 + 0x3ee40" identifier + number_literal) ))))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n      piVar13 = (int *)0x0;\n    }" { (expression_statement "piVar13 = (int *)0x0;" (assignment_expression "piVar13 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (int *)0x0;\n      iVar3 = (*(code *)(iVar8 + 0x7f20))(iVar4,0xd,&uStack_d0,0);\n      piVar13 = uStack_d0._0_4_;\n      if (iVar3 == 0) {\n        lVar22 = ((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))\n                 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22);\n        lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n        uVar21 = (uint)lVar22;\n        uVar12 = uVar21 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10));\nLAB_0011ceb8:\n        piVar13 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar16 = *(int *)(puVar20 + 0x3ecc0);\n        unaff_s7 = (char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0);\n        iVar8 = *(int *)(puVar20 + 0x3ec94);\n        iVar18 = *(int *)(puVar20 + 0x3ecb8);\n        do {\n          iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);\n          if (iVar3 != 100) break;\n          uStack_dc = 0;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);\n          uStack_d8 = lVar22;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);\n          uStack_d0 = lVar22;\n          uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);\n          piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);\n          paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);\n          if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))\n          {\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }\n          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar22;\n          iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc);\n          uStack_d8 = lVar22;\n          if (iVar3 != 0) break;\n          iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);\n        } while (iVar3 == 0);\n      }\n    }" else (compound_statement "{\nLAB_0011cc20:\n      uStack_d0._0_4_ = (int *)0x0;\n      iVar3 = (*(code *)(iVar8 + 0x7f20))(iVar4,0xd,&uStack_d0,0);\n      piVar13 = uStack_d0._0_4_;\n      if (iVar3 == 0) {\n        lVar22 = ((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))\n                 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22);\n        lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n        uVar21 = (uint)lVar22;\n        uVar12 = uVar21 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10));\nLAB_0011ceb8:\n        piVar13 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar16 = *(int *)(puVar20 + 0x3ecc0);\n        unaff_s7 = (char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0);\n        iVar8 = *(int *)(puVar20 + 0x3ec94);\n        iVar18 = *(int *)(puVar20 + 0x3ecb8);\n        do {\n          iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);\n          if (iVar3 != 100) break;\n          uStack_dc = 0;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);\n          uStack_d8 = lVar22;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);\n          uStack_d0 = lVar22;\n          uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);\n          piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);\n          paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);\n          if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))\n          {\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }\n          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar22;\n          iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc);\n          uStack_d8 = lVar22;\n          if (iVar3 != 0) break;\n          iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);\n        } while (iVar3 == 0);\n      }\n    }" { (labeled_statement "LAB_0011cc20:\n      uStack_d0._0_4_ = (int *)0x0;" statement_identifier : (expression_statement "uStack_d0._0_4_ = (int *)0x0;" (assignment_expression "uStack_d0._0_4_ = (int *)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "iVar3 = (*(code *)(iVar8 + 0x7f20))(iVar4,0xd,&uStack_d0,0);" (assignment_expression "iVar3 = (*(code *)(iVar8 + 0x7f20))(iVar4,0xd,&uStack_d0,0)" identifier = (call_expression "(*(code *)(iVar8 + 0x7f20))(iVar4,0xd,&uStack_d0,0)" (parenthesized_expression "(*(code *)(iVar8 + 0x7f20))" ( (pointer_expression "*(code *)(iVar8 + 0x7f20)" * (cast_expression "(code *)(iVar8 + 0x7f20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x7f20)" ( (binary_expression "iVar8 + 0x7f20" identifier + number_literal) )))) )) (argument_list "(iVar4,0xd,&uStack_d0,0)" ( identifier , number_literal , (pointer_expression "&uStack_d0" & identifier) , number_literal )))) ;) (expression_statement "piVar13 = uStack_d0._0_4_;" (assignment_expression "piVar13 = uStack_d0._0_4_" identifier = (field_expression "uStack_d0._0_4_" identifier . field_identifier)) ;) (if_statement "if (iVar3 == 0) {\n        lVar22 = ((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))\n                 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22);\n        lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n        uVar21 = (uint)lVar22;\n        uVar12 = uVar21 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10));\nLAB_0011ceb8:\n        piVar13 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar16 = *(int *)(puVar20 + 0x3ecc0);\n        unaff_s7 = (char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0);\n        iVar8 = *(int *)(puVar20 + 0x3ec94);\n        iVar18 = *(int *)(puVar20 + 0x3ecb8);\n        do {\n          iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);\n          if (iVar3 != 100) break;\n          uStack_dc = 0;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);\n          uStack_d8 = lVar22;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);\n          uStack_d0 = lVar22;\n          uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);\n          piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);\n          paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);\n          if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))\n          {\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }\n          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar22;\n          iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc);\n          uStack_d8 = lVar22;\n          if (iVar3 != 0) break;\n          iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);\n        } while (iVar3 == 0);\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        lVar22 = ((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))\n                 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22);\n        lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);\n        uVar21 = (uint)lVar22;\n        uVar12 = uVar21 * 0x400;\n        (**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10));\nLAB_0011ceb8:\n        piVar13 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar16 = *(int *)(puVar20 + 0x3ecc0);\n        unaff_s7 = (char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0);\n        iVar8 = *(int *)(puVar20 + 0x3ec94);\n        iVar18 = *(int *)(puVar20 + 0x3ecb8);\n        do {\n          iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);\n          if (iVar3 != 100) break;\n          uStack_dc = 0;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);\n          uStack_d8 = lVar22;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);\n          uStack_d0 = lVar22;\n          uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);\n          piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);\n          paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);\n          if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))\n          {\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }\n          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar22;\n          iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc);\n          uStack_d8 = lVar22;\n          if (iVar3 != 0) break;\n          iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);\n        } while (iVar3 == 0);\n      }" { (expression_statement "lVar22 = ((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))\n                 * 0x400;" (assignment_expression "lVar22 = ((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))\n                 * 0x400" identifier = (binary_expression "((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))\n                 * 0x400" (parenthesized_expression "((longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc))" ( (binary_expression "(longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc)" (cast_expression "(longlong)(int)piVar5" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc)" (binary_expression "(longlong)(int)paBlob * (longlong)" (cast_expression "(longlong)(int)paBlob" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)paBlob" ( (type_descriptor "int" primitive_type) ) identifier)) * (parenthesized_expression "(longlong)" ( identifier ))) * (cast_expression "(int *)(iVar4 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xfc)" ( (binary_expression "iVar4 + 0xfc" identifier + number_literal) ))))) )) * number_literal)) ;) (expression_statement "(**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22);" (call_expression "(**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22)" (parenthesized_expression "(**(code **)(puVar20 + 0x3edb8))" ( (pointer_expression "**(code **)(puVar20 + 0x3edb8)" * (pointer_expression "*(code **)(puVar20 + 0x3edb8)" * (cast_expression "(code **)(puVar20 + 0x3edb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3edb8)" ( (binary_expression "puVar20 + 0x3edb8" identifier + number_literal) ))))) )) (argument_list "(uStack_d0._0_4_,1,(int)((ulonglong)lVar22 >> 0x20),(int)lVar22)" ( (field_expression "uStack_d0._0_4_" identifier . field_identifier) , number_literal , (cast_expression "(int)((ulonglong)lVar22 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar22 >> 0x20)" ( (binary_expression "(ulonglong)lVar22 >> 0x20" (cast_expression "(ulonglong)lVar22" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)lVar22" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc);" (assignment_expression "lVar22 = (longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc)" identifier = (binary_expression "(longlong)(int)piVar5 + (longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc)" (cast_expression "(longlong)(int)piVar5" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(longlong)(int)paBlob * (longlong)*(int *)(iVar4 + 0xfc)" (binary_expression "(longlong)(int)paBlob * (longlong)" (cast_expression "(longlong)(int)paBlob" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)paBlob" ( (type_descriptor "int" primitive_type) ) identifier)) * (parenthesized_expression "(longlong)" ( identifier ))) * (cast_expression "(int *)(iVar4 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xfc)" ( (binary_expression "iVar4 + 0xfc" identifier + number_literal) )))))) ;) (expression_statement "uVar21 = (uint)lVar22;" (assignment_expression "uVar21 = (uint)lVar22" identifier = (cast_expression "(uint)lVar22" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar12 = uVar21 * 0x400;" (assignment_expression "uVar12 = uVar21 * 0x400" identifier = (binary_expression "uVar21 * 0x400" identifier * number_literal)) ;) (expression_statement "(**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10));" (call_expression "(**(code **)(puVar20 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10))" (parenthesized_expression "(**(code **)(puVar20 + 0x3edb8))" ( (pointer_expression "**(code **)(puVar20 + 0x3edb8)" * (pointer_expression "*(code **)(puVar20 + 0x3edb8)" * (cast_expression "(code **)(puVar20 + 0x3edb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3edb8)" ( (binary_expression "puVar20 + 0x3edb8" identifier + number_literal) ))))) )) (argument_list "(uStack_d0._0_4_,2,\n                   (uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10))" ( (field_expression "uStack_d0._0_4_" identifier . field_identifier) , number_literal , (binary_expression "(uint)(uVar12 + 0x3ff < uVar12) +\n                   (uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10)" (call_expression "(uint)(uVar12 + 0x3ff < uVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar12 + 0x3ff < uVar12)" ( (binary_expression "uVar12 + 0x3ff < uVar12" (binary_expression "uVar12 + 0x3ff" identifier + number_literal) < identifier) ))) + (parenthesized_expression "(uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10)" ( (binary_expression "uVar21 >> 0x16 | (int)((ulonglong)lVar22 >> 0x20) << 10" (binary_expression "uVar21 >> 0x16" identifier >> number_literal) | (binary_expression "(int)((ulonglong)lVar22 >> 0x20) << 10" (cast_expression "(int)((ulonglong)lVar22 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar22 >> 0x20)" ( (binary_expression "(ulonglong)lVar22 >> 0x20" (cast_expression "(ulonglong)lVar22" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) << number_literal)) ))) ))) ;) (labeled_statement "LAB_0011ceb8:\n        piVar13 = uStack_d0._0_4_;" statement_identifier : (expression_statement "piVar13 = uStack_d0._0_4_;" (assignment_expression "piVar13 = uStack_d0._0_4_" identifier = (field_expression "uStack_d0._0_4_" identifier . field_identifier)) ;)) (expression_statement "puStack_e4 = &uStack_d0;" (assignment_expression "puStack_e4 = &uStack_d0" identifier = (pointer_expression "&uStack_d0" & identifier)) ;) (expression_statement "iVar16 = *(int *)(puVar20 + 0x3ecc0);" (assignment_expression "iVar16 = *(int *)(puVar20 + 0x3ecc0)" identifier = (pointer_expression "*(int *)(puVar20 + 0x3ecc0)" * (cast_expression "(int *)(puVar20 + 0x3ecc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x3ecc0)" ( (binary_expression "puVar20 + 0x3ecc0" identifier + number_literal) ))))) ;) (expression_statement "unaff_s7 = (char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0);" (assignment_expression "unaff_s7 = (char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0)" identifier = (cast_expression "(char **)(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(uint)(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0)" ( (binary_expression "in_stack_ffffff80 == (sqlite3_int64 *)0x0 && iStack_7c == 0" (binary_expression "in_stack_ffffff80 == (sqlite3_int64 *)0x0" identifier == (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "iStack_7c == 0" identifier == number_literal)) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar20 + 0x3ec94);" (assignment_expression "iVar8 = *(int *)(puVar20 + 0x3ec94)" identifier = (pointer_expression "*(int *)(puVar20 + 0x3ec94)" * (cast_expression "(int *)(puVar20 + 0x3ec94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x3ec94)" ( (binary_expression "puVar20 + 0x3ec94" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = *(int *)(puVar20 + 0x3ecb8);" (assignment_expression "iVar18 = *(int *)(puVar20 + 0x3ecb8)" identifier = (pointer_expression "*(int *)(puVar20 + 0x3ecb8)" * (cast_expression "(int *)(puVar20 + 0x3ecb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x3ecb8)" ( (binary_expression "puVar20 + 0x3ecb8" identifier + number_literal) ))))) ;) (do_statement "do {\n          iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);\n          if (iVar3 != 100) break;\n          uStack_dc = 0;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);\n          uStack_d8 = lVar22;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);\n          uStack_d0 = lVar22;\n          uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);\n          piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);\n          paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);\n          if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))\n          {\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }\n          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar22;\n          iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc);\n          uStack_d8 = lVar22;\n          if (iVar3 != 0) break;\n          iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);\n        } while (iVar3 == 0);" do (compound_statement "{\n          iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);\n          if (iVar3 != 100) break;\n          uStack_dc = 0;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);\n          uStack_d8 = lVar22;\n          lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);\n          uStack_d0 = lVar22;\n          uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);\n          piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);\n          paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);\n          if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))\n          {\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }\n          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar22;\n          iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc);\n          uStack_d8 = lVar22;\n          if (iVar3 != 0) break;\n          iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);\n        }" { (expression_statement "iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13);" (assignment_expression "iVar3 = (**(code **)(puVar20 + 0x3ebf0))(piVar13)" identifier = (call_expression "(**(code **)(puVar20 + 0x3ebf0))(piVar13)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ebf0))" ( (pointer_expression "**(code **)(puVar20 + 0x3ebf0)" * (pointer_expression "*(code **)(puVar20 + 0x3ebf0)" * (cast_expression "(code **)(puVar20 + 0x3ebf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ebf0)" ( (binary_expression "puVar20 + 0x3ebf0" identifier + number_literal) ))))) )) (argument_list "(piVar13)" ( identifier )))) ;) (if_statement "if (iVar3 != 100) break;" if (parenthesized_expression "(iVar3 != 100)" ( (binary_expression "iVar3 != 100" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "uStack_dc = 0;" (assignment_expression "uStack_dc = 0" identifier = number_literal) ;) (expression_statement "lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1);" (assignment_expression "lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,1)" identifier = (call_expression "(**(code **)(puVar20 + 0x3ec10))(piVar13,1)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ec10))" ( (pointer_expression "**(code **)(puVar20 + 0x3ec10)" * (pointer_expression "*(code **)(puVar20 + 0x3ec10)" * (cast_expression "(code **)(puVar20 + 0x3ec10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ec10)" ( (binary_expression "puVar20 + 0x3ec10" identifier + number_literal) ))))) )) (argument_list "(piVar13,1)" ( identifier , number_literal )))) ;) (expression_statement "uStack_d8 = lVar22;" (assignment_expression "uStack_d8 = lVar22" identifier = identifier) ;) (expression_statement "lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2);" (assignment_expression "lVar22 = (**(code **)(puVar20 + 0x3ec10))(piVar13,2)" identifier = (call_expression "(**(code **)(puVar20 + 0x3ec10))(piVar13,2)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ec10))" ( (pointer_expression "**(code **)(puVar20 + 0x3ec10)" * (pointer_expression "*(code **)(puVar20 + 0x3ec10)" * (cast_expression "(code **)(puVar20 + 0x3ec10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ec10)" ( (binary_expression "puVar20 + 0x3ec10" identifier + number_literal) ))))) )) (argument_list "(piVar13,2)" ( identifier , number_literal )))) ;) (expression_statement "uStack_d0 = lVar22;" (assignment_expression "uStack_d0 = lVar22" identifier = identifier) ;) (expression_statement "uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3);" (assignment_expression "uVar23 = (**(code **)(puVar20 + 0x3ec10))(piVar13,3)" identifier = (call_expression "(**(code **)(puVar20 + 0x3ec10))(piVar13,3)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ec10))" ( (pointer_expression "**(code **)(puVar20 + 0x3ec10)" * (pointer_expression "*(code **)(puVar20 + 0x3ec10)" * (cast_expression "(code **)(puVar20 + 0x3ec10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ec10)" ( (binary_expression "puVar20 + 0x3ec10" identifier + number_literal) ))))) )) (argument_list "(piVar13,3)" ( identifier , number_literal )))) ;) (expression_statement "piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4);" (assignment_expression "piVar5 = (int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4)" identifier = (cast_expression "(int *)(**(code **)(puVar20 + 0x3ec24))(piVar13,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar20 + 0x3ec24))(piVar13,4)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ec24))" ( (pointer_expression "**(code **)(puVar20 + 0x3ec24)" * (pointer_expression "*(code **)(puVar20 + 0x3ec24)" * (cast_expression "(code **)(puVar20 + 0x3ec24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ec24)" ( (binary_expression "puVar20 + 0x3ec24" identifier + number_literal) ))))) )) (argument_list "(piVar13,4)" ( identifier , number_literal ))))) ;) (expression_statement "paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4);" (assignment_expression "paBlob = (char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4)" identifier = (cast_expression "(char **)(**(code **)(puVar20 + 0x3ec28))(piVar13,4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(puVar20 + 0x3ec28))(piVar13,4)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ec28))" ( (pointer_expression "**(code **)(puVar20 + 0x3ec28)" * (pointer_expression "*(code **)(puVar20 + 0x3ec28)" * (cast_expression "(code **)(puVar20 + 0x3ec28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ec28)" ( (binary_expression "puVar20 + 0x3ec28" identifier + number_literal) ))))) )) (argument_list "(piVar13,4)" ( identifier , number_literal ))))) ;) (if_statement "if (((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))\n          {\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }\n          else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }" if (parenthesized_expression "(((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0))" ( (binary_expression "((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)) || (paBlob == (char **)0x0)" (parenthesized_expression "((uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0))" ( (binary_expression "(uStack_d8 == 0) || (in_stack_ffffff78 == (char **)0x0)" (parenthesized_expression "(uStack_d8 == 0)" ( (binary_expression "uStack_d8 == 0" identifier == number_literal) )) || (parenthesized_expression "(in_stack_ffffff78 == (char **)0x0)" ( (binary_expression "in_stack_ffffff78 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) || (parenthesized_expression "(paBlob == (char **)0x0)" ( (binary_expression "paBlob == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) (compound_statement "{\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = unaff_s7;\n            lVar22 = uStack_d8;\n          }" { (expression_statement "iVar3 = _DAT_001635b4 + 1;" (assignment_expression "iVar3 = _DAT_001635b4 + 1" identifier = (binary_expression "_DAT_001635b4 + 1" identifier + number_literal)) ;) (expression_statement "ppcVar11 = unaff_s7;" (assignment_expression "ppcVar11 = unaff_s7" identifier = identifier) ;) (expression_statement "lVar22 = uStack_d8;" (assignment_expression "lVar22 = uStack_d8" identifier = identifier) ;) }) (else_clause "else if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }" else (if_statement "if (in_stack_ffffff80 == (sqlite3_int64 *)0x0) {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }\n          else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }" if (parenthesized_expression "(in_stack_ffffff80 == (sqlite3_int64 *)0x0)" ( (binary_expression "in_stack_ffffff80 == (sqlite3_int64 *)0x0" identifier == (cast_expression "(sqlite3_int64 *)0x0" ( (type_descriptor "sqlite3_int64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            lVar22 = uStack_d8;\n            if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }\n          }" { (expression_statement "iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)\n            ;" (assignment_expression "iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)" identifier = (call_expression "(*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)" (parenthesized_expression "(*(code *)(iVar8 + -0x3b54))" ( (pointer_expression "*(code *)(iVar8 + -0x3b54)" * (cast_expression "(code *)(iVar8 + -0x3b54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x3b54)" ( (binary_expression "iVar8 + -0x3b54" identifier + number_literal) )))) )) (argument_list "(iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,0)" ( identifier , identifier , identifier , identifier , identifier , (pointer_expression "&uStack_d8" & identifier) , number_literal )))) ;) (if_statement "if (iVar3 != 0) break;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = _DAT_001635b4 + 1;" (assignment_expression "iVar3 = _DAT_001635b4 + 1" identifier = (binary_expression "_DAT_001635b4 + 1" identifier + number_literal)) ;) (expression_statement "lVar22 = uStack_d8;" (assignment_expression "lVar22 = uStack_d8" identifier = identifier) ;) (if_statement "if (iStack_7c == 0) {\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              ppcVar11 = (char **)0x0;\n            }" if (parenthesized_expression "(iStack_7c == 0)" ( (binary_expression "iStack_7c == 0" identifier == number_literal) )) (compound_statement "{\n              ppcVar11 = (char **)0x1;\n              uStack_d0 = uStack_d8;\n            }" { (expression_statement "ppcVar11 = (char **)0x1;" (assignment_expression "ppcVar11 = (char **)0x1" identifier = (cast_expression "(char **)0x1" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "uStack_d0 = uStack_d8;" (assignment_expression "uStack_d0 = uStack_d8" identifier = identifier) ;) }) (else_clause "else {\n              ppcVar11 = (char **)0x0;\n            }" else (compound_statement "{\n              ppcVar11 = (char **)0x0;\n            }" { (expression_statement "ppcVar11 = (char **)0x0;" (assignment_expression "ppcVar11 = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) }) (else_clause "else {\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }" else (compound_statement "{\n            iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);\n            if (iVar3 != 0) break;\n            iVar3 = _DAT_001635b4 + 1;\n            ppcVar11 = (char **)0x0;\n            lVar22 = uStack_d8;\n          }" { (expression_statement "iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4);" (assignment_expression "iVar3 = (*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4)" identifier = (call_expression "(*(code *)(iVar8 + -0x3b54))\n                              (iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4)" (parenthesized_expression "(*(code *)(iVar8 + -0x3b54))" ( (pointer_expression "*(code *)(iVar8 + -0x3b54)" * (cast_expression "(code *)(iVar8 + -0x3b54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x3b54)" ( (binary_expression "iVar8 + -0x3b54" identifier + number_literal) )))) )) (argument_list "(iVar4,in_stack_ffffff78,in_stack_ffffff7c,paBlob,piVar5,&uStack_d8,\n                               puStack_e4)" ( identifier , identifier , identifier , identifier , identifier , (pointer_expression "&uStack_d8" & identifier) , identifier )))) ;) (if_statement "if (iVar3 != 0) break;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = _DAT_001635b4 + 1;" (assignment_expression "iVar3 = _DAT_001635b4 + 1" identifier = (binary_expression "_DAT_001635b4 + 1" identifier + number_literal)) ;) (expression_statement "ppcVar11 = (char **)0x0;" (assignment_expression "ppcVar11 = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "lVar22 = uStack_d8;" (assignment_expression "lVar22 = uStack_d8" identifier = identifier) ;) }))))) (expression_statement "uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20);" (assignment_expression "uStack_d8._0_4_ = (undefined4)((ulonglong)lVar22 >> 0x20)" (field_expression "uStack_d8._0_4_" identifier . field_identifier) = (call_expression "(undefined4)((ulonglong)lVar22 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)lVar22 >> 0x20)" ( (binary_expression "(ulonglong)lVar22 >> 0x20" (cast_expression "(ulonglong)lVar22" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_d8._4_4_ = (undefined4)lVar22;" (assignment_expression "uStack_d8._4_4_ = (undefined4)lVar22" (field_expression "uStack_d8._4_4_" identifier . field_identifier) = (cast_expression "(undefined4)lVar22" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc);" (assignment_expression "iVar3 = (*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc)" identifier = (call_expression "(*(code *)(iVar16 + 0x588))\n                            (iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc)" (parenthesized_expression "(*(code *)(iVar16 + 0x588))" ( (pointer_expression "*(code *)(iVar16 + 0x588)" * (cast_expression "(code *)(iVar16 + 0x588)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x588)" ( (binary_expression "iVar16 + 0x588" identifier + number_literal) )))) )) (argument_list "(iVar3,ppcVar11,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar23,paBlob,\n                             piVar5,&uStack_dc)" ( identifier , identifier , (field_expression "uStack_d8._0_4_" identifier . field_identifier) , (field_expression "uStack_d8._4_4_" identifier . field_identifier) , identifier , identifier , identifier , identifier , (pointer_expression "&uStack_dc" & identifier) )))) ;) (expression_statement "uStack_d8 = lVar22;" (assignment_expression "uStack_d8 = lVar22" identifier = identifier) ;) (if_statement "if (iVar3 != 0) break;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc);" (assignment_expression "iVar3 = (*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc)" identifier = (call_expression "(*(code *)(iVar18 + 0x3dc4))(&_gp,&DAT_001635b4,uStack_dc)" (parenthesized_expression "(*(code *)(iVar18 + 0x3dc4))" ( (pointer_expression "*(code *)(iVar18 + 0x3dc4)" * (cast_expression "(code *)(iVar18 + 0x3dc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x3dc4)" ( (binary_expression "iVar18 + 0x3dc4" identifier + number_literal) )))) )) (argument_list "(&_gp,&DAT_001635b4,uStack_dc)" ( (pointer_expression "&_gp" & identifier) , (pointer_expression "&DAT_001635b4" & identifier) , identifier )))) ;) }) while (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) ;) })) }))) (labeled_statement "LAB_0011cdbc:\n    iVar8 = (**(code **)(puVar20 + 0x3ec08))(piVar13);" statement_identifier : (expression_statement "iVar8 = (**(code **)(puVar20 + 0x3ec08))(piVar13);" (assignment_expression "iVar8 = (**(code **)(puVar20 + 0x3ec08))(piVar13)" identifier = (call_expression "(**(code **)(puVar20 + 0x3ec08))(piVar13)" (parenthesized_expression "(**(code **)(puVar20 + 0x3ec08))" ( (pointer_expression "**(code **)(puVar20 + 0x3ec08)" * (pointer_expression "*(code **)(puVar20 + 0x3ec08)" * (cast_expression "(code **)(puVar20 + 0x3ec08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x3ec08)" ( (binary_expression "puVar20 + 0x3ec08" identifier + number_literal) ))))) )) (argument_list "(piVar13)" ( identifier )))) ;)) (expression_statement "piVar14 = piVar13;" (assignment_expression "piVar14 = piVar13" identifier = identifier) ;) (if_statement "if (iVar3 == 0x65) {\n      iVar3 = iVar8;\n    }" if (parenthesized_expression "(iVar3 == 0x65)" ( (binary_expression "iVar3 == 0x65" identifier == number_literal) )) (compound_statement "{\n      iVar3 = iVar8;\n    }" { (expression_statement "iVar3 = iVar8;" (assignment_expression "iVar3 = iVar8" identifier = identifier) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "int FUN_0011c4ac(undefined4 param_1,byte *****param_2,byte *****param_3,byte *****param_4,\n                int param_5,byte *****param_6,int *param_7)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  byte ****ppppbVar3;\n  byte ****ppppbVar4;\n  int iVar5;\n  int iVar6;\n  byte bVar11;\n  byte *****pppppbVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  uint uVar14;\n  byte *****pppppbVar15;\n  byte *pbVar16;\n  byte *****unaff_s1;\n  int *unaff_s3;\n  int unaff_s4;\n  int iVar17;\n  byte *pbVar18;\n  int iVar19;\n  byte *****unaff_s6;\n  byte *****unaff_s7;\n  code *pcVar20;\n  undefined *puVar21;\n  byte *****unaff_s8;\n  uint uVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  undefined8 *puStack_e4;\n  undefined4 uStack_dc;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  int iStack_c4;\n  int iStack_c0;\n  byte ****ppppbStack_bc;\n  byte ****ppppbStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  byte *pbStack_ac;\n  byte ****ppppbStack_a8;\n  byte ****ppppbStack_a4;\n  byte ****ppppbStack_a0;\n  code *pcStack_9c;\n  byte ****local_88;\n  byte ****local_84;\n  int *local_80;\n  int iStack_7c;\n  byte ****local_6c;\n  byte ****local_64;\n  uint local_44;\n  byte ****local_40;\n  byte ****local_3c;\n  byte ****local_38;\n  byte ****local_34;\n  int local_2c;\n  \n  puVar21 = PTR___stack_chk_guard_0015ba2c;\n  local_64 = (byte ****)param_6;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  pppppbVar7 = param_3;\n  pppppbVar15 = param_4;\n  uVar14 = (uint)*(byte *)param_4;\n  if ((char)*(byte *)param_4 < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);\n    uVar14 = local_44;\n  }\n  local_44 = uVar14;\n  pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74);\n  pbVar16 = (byte *)((int)param_4 + param_5);\n  pppppbVar13 = &local_38;\n  iVar5 = (*pcVar20)(param_4,&local_38);\n  iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5));\n  pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6;\n  if (pbVar16 < pbVar18) {\n    iVar5 = 0x10b;\n  }\n  else {\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }\nLAB_0011c804:\n  if (local_2c == *(int *)puVar21) {\n    return iVar5;\n  }\n  pcVar20 = FUN_0011ca40;\n  iVar6 = local_2c;\n  puVar21 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  ppppbVar4 = local_84;\n  ppppbVar3 = local_88;\n  piVar8 = *(int **)(puVar21 + 0x3efec);\n  iStack_c4 = *piVar8;\n  iStack_c0 = iVar5;\n  ppppbStack_bc = (byte ****)unaff_s1;\n  ppppbStack_b8 = (byte ****)param_4;\n  piStack_b4 = unaff_s3;\n  iStack_b0 = unaff_s4;\n  pbStack_ac = pbVar18;\n  ppppbStack_a8 = (byte ****)unaff_s6;\n  ppppbStack_a4 = (byte ****)unaff_s7;\n  ppppbStack_a0 = (byte ****)unaff_s8;\n  pcStack_9c = pcVar20;\n  if (-1 < (int)pppppbVar15) {\n    uStack_d0._0_4_ = (byte *****)0x0;\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();\n    pppppbVar12 = uStack_d0._0_4_;\n    if (iVar5 != 0) goto LAB_0011cdbc;\n    lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n    uVar14 = (uint)lVar23;\n    (**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));\n    goto LAB_0011ceb8;\n  }\n  if (*(int *)(iVar6 + 0x100) != 0) {\n    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;\n    if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }\n  if (pppppbVar15 != (byte *****)0xffffffff) {\n    iVar10 = *(int *)(puVar21 + 0x3ee40);\n    goto LAB_0011cc20;\n  }\n  (**(code **)(puVar21 + 0x3ec08))(0);\n  iVar5 = 0;\nLAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  } while( true );\n}\n\n" (function_definition "int FUN_0011c4ac(undefined4 param_1,byte *****param_2,byte *****param_3,byte *****param_4,\n                int param_5,byte *****param_6,int *param_7)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  byte ****ppppbVar3;\n  byte ****ppppbVar4;\n  int iVar5;\n  int iVar6;\n  byte bVar11;\n  byte *****pppppbVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  uint uVar14;\n  byte *****pppppbVar15;\n  byte *pbVar16;\n  byte *****unaff_s1;\n  int *unaff_s3;\n  int unaff_s4;\n  int iVar17;\n  byte *pbVar18;\n  int iVar19;\n  byte *****unaff_s6;\n  byte *****unaff_s7;\n  code *pcVar20;\n  undefined *puVar21;\n  byte *****unaff_s8;\n  uint uVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  undefined8 *puStack_e4;\n  undefined4 uStack_dc;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  int iStack_c4;\n  int iStack_c0;\n  byte ****ppppbStack_bc;\n  byte ****ppppbStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  byte *pbStack_ac;\n  byte ****ppppbStack_a8;\n  byte ****ppppbStack_a4;\n  byte ****ppppbStack_a0;\n  code *pcStack_9c;\n  byte ****local_88;\n  byte ****local_84;\n  int *local_80;\n  int iStack_7c;\n  byte ****local_6c;\n  byte ****local_64;\n  uint local_44;\n  byte ****local_40;\n  byte ****local_3c;\n  byte ****local_38;\n  byte ****local_34;\n  int local_2c;\n  \n  puVar21 = PTR___stack_chk_guard_0015ba2c;\n  local_64 = (byte ****)param_6;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  pppppbVar7 = param_3;\n  pppppbVar15 = param_4;\n  uVar14 = (uint)*(byte *)param_4;\n  if ((char)*(byte *)param_4 < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);\n    uVar14 = local_44;\n  }\n  local_44 = uVar14;\n  pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74);\n  pbVar16 = (byte *)((int)param_4 + param_5);\n  pppppbVar13 = &local_38;\n  iVar5 = (*pcVar20)(param_4,&local_38);\n  iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5));\n  pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6;\n  if (pbVar16 < pbVar18) {\n    iVar5 = 0x10b;\n  }\n  else {\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }\nLAB_0011c804:\n  if (local_2c == *(int *)puVar21) {\n    return iVar5;\n  }\n  pcVar20 = FUN_0011ca40;\n  iVar6 = local_2c;\n  puVar21 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  ppppbVar4 = local_84;\n  ppppbVar3 = local_88;\n  piVar8 = *(int **)(puVar21 + 0x3efec);\n  iStack_c4 = *piVar8;\n  iStack_c0 = iVar5;\n  ppppbStack_bc = (byte ****)unaff_s1;\n  ppppbStack_b8 = (byte ****)param_4;\n  piStack_b4 = unaff_s3;\n  iStack_b0 = unaff_s4;\n  pbStack_ac = pbVar18;\n  ppppbStack_a8 = (byte ****)unaff_s6;\n  ppppbStack_a4 = (byte ****)unaff_s7;\n  ppppbStack_a0 = (byte ****)unaff_s8;\n  pcStack_9c = pcVar20;\n  if (-1 < (int)pppppbVar15) {\n    uStack_d0._0_4_ = (byte *****)0x0;\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();\n    pppppbVar12 = uStack_d0._0_4_;\n    if (iVar5 != 0) goto LAB_0011cdbc;\n    lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n    uVar14 = (uint)lVar23;\n    (**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));\n    goto LAB_0011ceb8;\n  }\n  if (*(int *)(iVar6 + 0x100) != 0) {\n    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;\n    if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }\n  if (pppppbVar15 != (byte *****)0xffffffff) {\n    iVar10 = *(int *)(puVar21 + 0x3ee40);\n    goto LAB_0011cc20;\n  }\n  (**(code **)(puVar21 + 0x3ec08))(0);\n  iVar5 = 0;\nLAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  } while( true );\n}" primitive_type (function_declarator "FUN_0011c4ac(undefined4 param_1,byte *****param_2,byte *****param_3,byte *****param_4,\n                int param_5,byte *****param_6,int *param_7)" identifier (parameter_list "(undefined4 param_1,byte *****param_2,byte *****param_3,byte *****param_4,\n                int param_5,byte *****param_6,int *param_7)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "byte *****param_2" type_identifier (pointer_declarator "*****param_2" * (pointer_declarator "****param_2" * (pointer_declarator "***param_2" * (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier)))))) , (parameter_declaration "byte *****param_3" type_identifier (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier)))))) , (parameter_declaration "byte *****param_4" type_identifier (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier)))))) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "byte *****param_6" type_identifier (pointer_declarator "*****param_6" * (pointer_declarator "****param_6" * (pointer_declarator "***param_6" * (pointer_declarator "**param_6" * (pointer_declarator "*param_6" * identifier)))))) , (parameter_declaration "int *param_7" primitive_type (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  undefined *puVar2;\n  byte ****ppppbVar3;\n  byte ****ppppbVar4;\n  int iVar5;\n  int iVar6;\n  byte bVar11;\n  byte *****pppppbVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  uint uVar14;\n  byte *****pppppbVar15;\n  byte *pbVar16;\n  byte *****unaff_s1;\n  int *unaff_s3;\n  int unaff_s4;\n  int iVar17;\n  byte *pbVar18;\n  int iVar19;\n  byte *****unaff_s6;\n  byte *****unaff_s7;\n  code *pcVar20;\n  undefined *puVar21;\n  byte *****unaff_s8;\n  uint uVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  undefined8 *puStack_e4;\n  undefined4 uStack_dc;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  int iStack_c4;\n  int iStack_c0;\n  byte ****ppppbStack_bc;\n  byte ****ppppbStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  byte *pbStack_ac;\n  byte ****ppppbStack_a8;\n  byte ****ppppbStack_a4;\n  byte ****ppppbStack_a0;\n  code *pcStack_9c;\n  byte ****local_88;\n  byte ****local_84;\n  int *local_80;\n  int iStack_7c;\n  byte ****local_6c;\n  byte ****local_64;\n  uint local_44;\n  byte ****local_40;\n  byte ****local_3c;\n  byte ****local_38;\n  byte ****local_34;\n  int local_2c;\n  \n  puVar21 = PTR___stack_chk_guard_0015ba2c;\n  local_64 = (byte ****)param_6;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  pppppbVar7 = param_3;\n  pppppbVar15 = param_4;\n  uVar14 = (uint)*(byte *)param_4;\n  if ((char)*(byte *)param_4 < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);\n    uVar14 = local_44;\n  }\n  local_44 = uVar14;\n  pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74);\n  pbVar16 = (byte *)((int)param_4 + param_5);\n  pppppbVar13 = &local_38;\n  iVar5 = (*pcVar20)(param_4,&local_38);\n  iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5));\n  pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6;\n  if (pbVar16 < pbVar18) {\n    iVar5 = 0x10b;\n  }\n  else {\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }\nLAB_0011c804:\n  if (local_2c == *(int *)puVar21) {\n    return iVar5;\n  }\n  pcVar20 = FUN_0011ca40;\n  iVar6 = local_2c;\n  puVar21 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  ppppbVar4 = local_84;\n  ppppbVar3 = local_88;\n  piVar8 = *(int **)(puVar21 + 0x3efec);\n  iStack_c4 = *piVar8;\n  iStack_c0 = iVar5;\n  ppppbStack_bc = (byte ****)unaff_s1;\n  ppppbStack_b8 = (byte ****)param_4;\n  piStack_b4 = unaff_s3;\n  iStack_b0 = unaff_s4;\n  pbStack_ac = pbVar18;\n  ppppbStack_a8 = (byte ****)unaff_s6;\n  ppppbStack_a4 = (byte ****)unaff_s7;\n  ppppbStack_a0 = (byte ****)unaff_s8;\n  pcStack_9c = pcVar20;\n  if (-1 < (int)pppppbVar15) {\n    uStack_d0._0_4_ = (byte *****)0x0;\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();\n    pppppbVar12 = uStack_d0._0_4_;\n    if (iVar5 != 0) goto LAB_0011cdbc;\n    lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n    uVar14 = (uint)lVar23;\n    (**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));\n    goto LAB_0011ceb8;\n  }\n  if (*(int *)(iVar6 + 0x100) != 0) {\n    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;\n    if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }\n  if (pppppbVar15 != (byte *****)0xffffffff) {\n    iVar10 = *(int *)(puVar21 + 0x3ee40);\n    goto LAB_0011cc20;\n  }\n  (**(code **)(puVar21 + 0x3ec08))(0);\n  iVar5 = 0;\nLAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  } while( true );\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "byte ****ppppbVar3;" type_identifier (pointer_declarator "****ppppbVar3" * (pointer_declarator "***ppppbVar3" * (pointer_declarator "**ppppbVar3" * (pointer_declarator "*ppppbVar3" * identifier)))) ;) (declaration "byte ****ppppbVar4;" type_identifier (pointer_declarator "****ppppbVar4" * (pointer_declarator "***ppppbVar4" * (pointer_declarator "**ppppbVar4" * (pointer_declarator "*ppppbVar4" * identifier)))) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "byte *****pppppbVar7;" type_identifier (pointer_declarator "*****pppppbVar7" * (pointer_declarator "****pppppbVar7" * (pointer_declarator "***pppppbVar7" * (pointer_declarator "**pppppbVar7" * (pointer_declarator "*pppppbVar7" * identifier))))) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "byte *****pppppbVar12;" type_identifier (pointer_declarator "*****pppppbVar12" * (pointer_declarator "****pppppbVar12" * (pointer_declarator "***pppppbVar12" * (pointer_declarator "**pppppbVar12" * (pointer_declarator "*pppppbVar12" * identifier))))) ;) (declaration "byte *****pppppbVar13;" type_identifier (pointer_declarator "*****pppppbVar13" * (pointer_declarator "****pppppbVar13" * (pointer_declarator "***pppppbVar13" * (pointer_declarator "**pppppbVar13" * (pointer_declarator "*pppppbVar13" * identifier))))) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "byte *****pppppbVar15;" type_identifier (pointer_declarator "*****pppppbVar15" * (pointer_declarator "****pppppbVar15" * (pointer_declarator "***pppppbVar15" * (pointer_declarator "**pppppbVar15" * (pointer_declarator "*pppppbVar15" * identifier))))) ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "byte *****unaff_s1;" type_identifier (pointer_declarator "*****unaff_s1" * (pointer_declarator "****unaff_s1" * (pointer_declarator "***unaff_s1" * (pointer_declarator "**unaff_s1" * (pointer_declarator "*unaff_s1" * identifier))))) ;) (declaration "int *unaff_s3;" primitive_type (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "int unaff_s4;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "byte *****unaff_s6;" type_identifier (pointer_declarator "*****unaff_s6" * (pointer_declarator "****unaff_s6" * (pointer_declarator "***unaff_s6" * (pointer_declarator "**unaff_s6" * (pointer_declarator "*unaff_s6" * identifier))))) ;) (declaration "byte *****unaff_s7;" type_identifier (pointer_declarator "*****unaff_s7" * (pointer_declarator "****unaff_s7" * (pointer_declarator "***unaff_s7" * (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier))))) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "byte *****unaff_s8;" type_identifier (pointer_declarator "*****unaff_s8" * (pointer_declarator "****unaff_s8" * (pointer_declarator "***unaff_s8" * (pointer_declarator "**unaff_s8" * (pointer_declarator "*unaff_s8" * identifier))))) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "longlong lVar23;" type_identifier identifier ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "undefined8 *puStack_e4;" type_identifier (pointer_declarator "*puStack_e4" * identifier) ;) (declaration "undefined4 uStack_dc;" type_identifier identifier ;) (declaration "undefined8 uStack_d8;" type_identifier identifier ;) (declaration "undefined8 uStack_d0;" type_identifier identifier ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "int iStack_c0;" primitive_type identifier ;) (declaration "byte ****ppppbStack_bc;" type_identifier (pointer_declarator "****ppppbStack_bc" * (pointer_declarator "***ppppbStack_bc" * (pointer_declarator "**ppppbStack_bc" * (pointer_declarator "*ppppbStack_bc" * identifier)))) ;) (declaration "byte ****ppppbStack_b8;" type_identifier (pointer_declarator "****ppppbStack_b8" * (pointer_declarator "***ppppbStack_b8" * (pointer_declarator "**ppppbStack_b8" * (pointer_declarator "*ppppbStack_b8" * identifier)))) ;) (declaration "int *piStack_b4;" primitive_type (pointer_declarator "*piStack_b4" * identifier) ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "byte *pbStack_ac;" type_identifier (pointer_declarator "*pbStack_ac" * identifier) ;) (declaration "byte ****ppppbStack_a8;" type_identifier (pointer_declarator "****ppppbStack_a8" * (pointer_declarator "***ppppbStack_a8" * (pointer_declarator "**ppppbStack_a8" * (pointer_declarator "*ppppbStack_a8" * identifier)))) ;) (declaration "byte ****ppppbStack_a4;" type_identifier (pointer_declarator "****ppppbStack_a4" * (pointer_declarator "***ppppbStack_a4" * (pointer_declarator "**ppppbStack_a4" * (pointer_declarator "*ppppbStack_a4" * identifier)))) ;) (declaration "byte ****ppppbStack_a0;" type_identifier (pointer_declarator "****ppppbStack_a0" * (pointer_declarator "***ppppbStack_a0" * (pointer_declarator "**ppppbStack_a0" * (pointer_declarator "*ppppbStack_a0" * identifier)))) ;) (declaration "code *pcStack_9c;" type_identifier (pointer_declarator "*pcStack_9c" * identifier) ;) (declaration "byte ****local_88;" type_identifier (pointer_declarator "****local_88" * (pointer_declarator "***local_88" * (pointer_declarator "**local_88" * (pointer_declarator "*local_88" * identifier)))) ;) (declaration "byte ****local_84;" type_identifier (pointer_declarator "****local_84" * (pointer_declarator "***local_84" * (pointer_declarator "**local_84" * (pointer_declarator "*local_84" * identifier)))) ;) (declaration "int *local_80;" primitive_type (pointer_declarator "*local_80" * identifier) ;) (declaration "int iStack_7c;" primitive_type identifier ;) (declaration "byte ****local_6c;" type_identifier (pointer_declarator "****local_6c" * (pointer_declarator "***local_6c" * (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier)))) ;) (declaration "byte ****local_64;" type_identifier (pointer_declarator "****local_64" * (pointer_declarator "***local_64" * (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)))) ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "byte ****local_40;" type_identifier (pointer_declarator "****local_40" * (pointer_declarator "***local_40" * (pointer_declarator "**local_40" * (pointer_declarator "*local_40" * identifier)))) ;) (declaration "byte ****local_3c;" type_identifier (pointer_declarator "****local_3c" * (pointer_declarator "***local_3c" * (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier)))) ;) (declaration "byte ****local_38;" type_identifier (pointer_declarator "****local_38" * (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier)))) ;) (declaration "byte ****local_34;" type_identifier (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier)))) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar21 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar21 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "local_64 = (byte ****)param_6;" (assignment_expression "local_64 = (byte ****)param_6" identifier = (cast_expression "(byte ****)param_6" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pppppbVar7 = param_3;" (assignment_expression "pppppbVar7 = param_3" identifier = identifier) ;) (expression_statement "pppppbVar15 = param_4;" (assignment_expression "pppppbVar15 = param_4" identifier = identifier) ;) (expression_statement "uVar14 = (uint)*(byte *)param_4;" (assignment_expression "uVar14 = (uint)*(byte *)param_4" identifier = (binary_expression "(uint)*(byte *)param_4" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)param_4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((char)*(byte *)param_4 < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);\n    uVar14 = local_44;\n  }" if (parenthesized_expression "((char)*(byte *)param_4 < '\0')" ( (binary_expression "(char)*(byte *)param_4 < '\0'" (cast_expression "(char)*(byte *)param_4" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)param_4" * (cast_expression "(byte *)param_4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);\n    uVar14 = local_44;\n  }" { (expression_statement "(*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);" (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) )) (argument_list "(param_4,&local_44)" ( identifier , (pointer_expression "&local_44" & identifier) ))) ;) (expression_statement "uVar14 = local_44;" (assignment_expression "uVar14 = local_44" identifier = identifier) ;) })) (expression_statement "local_44 = uVar14;" (assignment_expression "local_44 = uVar14" identifier = identifier) ;) (expression_statement "pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74)" identifier = (cast_expression "(code *)(PTR_LAB_0015b65c + 0xf74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0xf74)" ( (binary_expression "PTR_LAB_0015b65c + 0xf74" identifier + number_literal) )))) ;) (expression_statement "pbVar16 = (byte *)((int)param_4 + param_5);" (assignment_expression "pbVar16 = (byte *)((int)param_4 + param_5)" identifier = (cast_expression "(byte *)((int)param_4 + param_5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_4 + param_5)" ( (binary_expression "(int)param_4 + param_5" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pppppbVar13 = &local_38;" (assignment_expression "pppppbVar13 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "iVar5 = (*pcVar20)(param_4,&local_38);" (assignment_expression "iVar5 = (*pcVar20)(param_4,&local_38)" identifier = (call_expression "(*pcVar20)(param_4,&local_38)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(param_4,&local_38)" ( identifier , (pointer_expression "&local_38" & identifier) )))) ;) (expression_statement "iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5));" (assignment_expression "iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5))" identifier = (call_expression "(*pcVar20)((byte *)((int)param_4 + iVar5))" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "((byte *)((int)param_4 + iVar5))" ( (cast_expression "(byte *)((int)param_4 + iVar5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_4 + iVar5)" ( (binary_expression "(int)param_4 + iVar5" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) )))) ;) (expression_statement "pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6;" (assignment_expression "pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6" identifier = (binary_expression "(byte *)((int)param_4 + iVar5) + iVar6" (cast_expression "(byte *)((int)param_4 + iVar5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_4 + iVar5)" ( (binary_expression "(int)param_4 + iVar5" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) + identifier)) ;) (if_statement "if (pbVar16 < pbVar18) {\n    iVar5 = 0x10b;\n  }\n  else {\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }" if (parenthesized_expression "(pbVar16 < pbVar18)" ( (binary_expression "pbVar16 < pbVar18" identifier < identifier) )) (compound_statement "{\n    iVar5 = 0x10b;\n  }" { (expression_statement "iVar5 = 0x10b;" (assignment_expression "iVar5 = 0x10b" identifier = number_literal) ;) }) (else_clause "else {\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }" else (compound_statement "{\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "unaff_s3 = param_7;" (assignment_expression "unaff_s3 = param_7" identifier = identifier) ;) (expression_statement "unaff_s8 = param_6;" (assignment_expression "unaff_s8 = param_6" identifier = identifier) ;) (if_statement "if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }" if (parenthesized_expression "(pbVar18 < pbVar16)" ( (binary_expression "pbVar18 < pbVar16" identifier < identifier) )) (compound_statement "{\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }" { (expression_statement "unaff_s1 = (byte *****)0x0;" (assignment_expression "unaff_s1 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pppppbVar13 = (byte *****)0x1;" (assignment_expression "pppppbVar13 = (byte *****)0x1" identifier = (cast_expression "(byte *****)0x1" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "unaff_s6 = &local_3c;" (assignment_expression "unaff_s6 = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084)" identifier = (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) ;) (expression_statement "local_6c = (byte ****)0x0;" (assignment_expression "local_6c = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "unaff_s7 = &local_40;" (assignment_expression "unaff_s7 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "unaff_s4 = iVar5;" (assignment_expression "unaff_s4 = iVar5" identifier = identifier) ;) (labeled_statement "LAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);" statement_identifier : (do_statement "do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);" do (compound_statement "{\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      }" { (if_statement "if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;" if (parenthesized_expression "((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0))" ( (binary_expression "(unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)" (parenthesized_expression "(unaff_s8 == (byte *****)0x0)" ( (binary_expression "unaff_s8 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "(unaff_s3 == (int *)0x0)" ( (binary_expression "unaff_s3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_0011c878;" goto statement_identifier ;)) (expression_statement "bVar11 = *pbVar18;" (assignment_expression "bVar11 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pppppbVar12 = (byte *****)(uint)bVar11;" (assignment_expression "pppppbVar12 = (byte *****)(uint)bVar11" identifier = (cast_expression "(byte *****)(uint)bVar11" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (if_statement "if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }" if (parenthesized_expression "(pppppbVar13 == (byte *****)0x0)" ( (binary_expression "pppppbVar13 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }" { (if_statement "if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }" if (parenthesized_expression "((char)bVar11 < '\0')" ( (binary_expression "(char)bVar11 < '\0'" (cast_expression "(char)bVar11" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }" { (expression_statement "pppppbVar13 = unaff_s6;" (assignment_expression "pppppbVar13 = unaff_s6" identifier = identifier) ;) (expression_statement "iVar5 = (*pcVar20)(pbVar18,unaff_s6);" (assignment_expression "iVar5 = (*pcVar20)(pbVar18,unaff_s6)" identifier = (call_expression "(*pcVar20)(pbVar18,unaff_s6)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(pbVar18,unaff_s6)" ( identifier , identifier )))) ;) }) (else_clause "else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }" else (compound_statement "{\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "local_3c = (byte ****)pppppbVar12;" (assignment_expression "local_3c = (byte ****)pppppbVar12" identifier = (cast_expression "(byte ****)pppppbVar12" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) }))) (expression_statement "pbVar18 = pbVar18 + iVar5;" (assignment_expression "pbVar18 = pbVar18 + iVar5" identifier = (binary_expression "pbVar18 + iVar5" identifier + identifier)) ;) (expression_statement "bVar11 = *pbVar18;" (assignment_expression "bVar11 = *pbVar18" identifier = (pointer_expression "*pbVar18" * identifier)) ;) (expression_statement "pppppbVar12 = (byte *****)(uint)bVar11;" (assignment_expression "pppppbVar12 = (byte *****)(uint)bVar11" identifier = (cast_expression "(byte *****)(uint)bVar11" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (if_statement "if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }" if (parenthesized_expression "((char)bVar11 < '\0')" ( (binary_expression "(char)bVar11 < '\0'" (cast_expression "(char)bVar11" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }" { (expression_statement "pppppbVar13 = unaff_s7;" (assignment_expression "pppppbVar13 = unaff_s7" identifier = identifier) ;) (expression_statement "iVar5 = (*pcVar20)(pbVar18,unaff_s7);" (assignment_expression "iVar5 = (*pcVar20)(pbVar18,unaff_s7)" identifier = (call_expression "(*pcVar20)(pbVar18,unaff_s7)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(pbVar18,unaff_s7)" ( identifier , identifier )))) ;) (expression_statement "pbVar18 = pbVar18 + iVar5;" (assignment_expression "pbVar18 = pbVar18 + iVar5" identifier = (binary_expression "pbVar18 + iVar5" identifier + identifier)) ;) (if_statement "if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;" if (parenthesized_expression "((int)local_3c <= (int)pbVar18 - (int)param_4)" ( (binary_expression "(int)local_3c <= (int)pbVar18 - (int)param_4" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "(int)pbVar18 - (int)param_4" (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier))) )) (goto_statement "goto LAB_0011c5f8;" goto statement_identifier ;)) (labeled_statement "LAB_0011c7f0:\n          iVar5 = 0x10b;" statement_identifier : (expression_statement "iVar5 = 0x10b;" (assignment_expression "iVar5 = 0x10b" identifier = number_literal) ;)) (labeled_statement "LAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" statement_identifier : (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s4)" ( identifier ))) ;)) (goto_statement "goto LAB_0011c804;" goto statement_identifier ;) })) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (expression_statement "local_40 = (byte ****)pppppbVar12;" (assignment_expression "local_40 = (byte ****)pppppbVar12" identifier = (cast_expression "(byte ****)pppppbVar12" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;" if (parenthesized_expression "((int)pbVar18 - (int)param_4 < (int)local_3c)" ( (binary_expression "(int)pbVar18 - (int)param_4 < (int)local_3c" (binary_expression "(int)pbVar18 - (int)param_4" (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011c7f0;" goto statement_identifier ;)) (labeled_statement "LAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;" statement_identifier : (expression_statement "pppppbVar7 = (byte *****)local_40;" (assignment_expression "pppppbVar7 = (byte *****)local_40" identifier = (cast_expression "(byte *****)local_40" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;)) (if_statement "if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;" if (parenthesized_expression "((int)pbVar16 - (int)pbVar18 < (int)local_40)" ( (binary_expression "(int)pbVar16 - (int)pbVar18 < (int)local_40" (binary_expression "(int)pbVar16 - (int)pbVar18" (cast_expression "(int)pbVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011c7f0;" goto statement_identifier ;)) (expression_statement "pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);" (assignment_expression "pppppbVar15 = (byte *****)((int)local_3c + (int)local_40)" identifier = (cast_expression "(byte *****)((int)local_3c + (int)local_40)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)local_3c + (int)local_40)" ( (binary_expression "(int)local_3c + (int)local_40" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));" (assignment_expression "pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f))" identifier = (cast_expression "(byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f))" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f))" ( (binary_expression "(uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f)" (binary_expression "(uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f)" (call_expression "(uint)(pppppbVar15 < local_3c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppbVar15 < local_3c)" ( (binary_expression "pppppbVar15 < local_3c" identifier < identifier) ))) + (parenthesized_expression "((int)local_3c >> 0x1f)" ( (binary_expression "(int)local_3c >> 0x1f" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (parenthesized_expression "((int)local_40 >> 0x1f)" ( (binary_expression "(int)local_40 >> 0x1f" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (expression_statement "pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);" (assignment_expression "pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7)" identifier = (cast_expression "(byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(uint)((int)unaff_s1 < (int)pppppbVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s1 < (int)pppppbVar7)" ( (binary_expression "(int)unaff_s1 < (int)pppppbVar7" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppppbVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }" if (parenthesized_expression "((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0))))" ( (binary_expression "(pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))" (parenthesized_expression "(pppppbVar13 != (byte *****)0x0)" ( (binary_expression "pppppbVar13 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) || (parenthesized_expression "((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))" ( (parenthesized_expression "(iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0))" ( (comma_expression "iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)" (assignment_expression "iVar5 = unaff_s4" identifier = identifier) , (binary_expression "pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)" (binary_expression "pppppbVar7 == unaff_s1" identifier == identifier) && (parenthesized_expression "(pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)" ( (comma_expression "pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0" (assignment_expression "pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15)" identifier = (cast_expression "(byte *****)(uint)(local_6c < pppppbVar15)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(uint)(local_6c < pppppbVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_6c < pppppbVar15)" ( (binary_expression "local_6c < pppppbVar15" identifier < identifier) ))))) , (binary_expression "pppppbVar13 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal))) )))) )) ))) )) (compound_statement "{\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }" { (expression_statement "local_6c = (byte ****)((int)pppppbVar15 * 2);" (assignment_expression "local_6c = (byte ****)((int)pppppbVar15 * 2)" identifier = (cast_expression "(byte ****)((int)pppppbVar15 * 2)" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppppbVar15 * 2)" ( (binary_expression "(int)pppppbVar15 * 2" (cast_expression "(int)pppppbVar15" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);" (assignment_expression "unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2)" identifier = (cast_expression "(byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2)" ( (binary_expression "(uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2" (binary_expression "(uint)pppppbVar15 >> 0x1f" (cast_expression "(uint)pppppbVar15" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "(int)pppppbVar7 * 2" (cast_expression "(int)pppppbVar7" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pppppbVar7 = unaff_s1;" (assignment_expression "pppppbVar7 = unaff_s1" identifier = identifier) ;) (expression_statement "pppppbVar15 = (byte *****)local_6c;" (assignment_expression "pppppbVar15 = (byte *****)local_6c" identifier = (cast_expression "(byte *****)local_6c" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4)" identifier = (call_expression "(*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_realloc64_0015b764)" ( (pointer_expression "*(code *)PTR_sqlite3_realloc64_0015b764" * (cast_expression "(code *)PTR_sqlite3_realloc64_0015b764" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s4)" ( identifier )))) ;) (if_statement "if (iVar5 != 0) goto LAB_0011c684;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011c684;" goto statement_identifier ;)) (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_0011c7f4;" goto statement_identifier ;) })) (labeled_statement "LAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);" statement_identifier : (expression_statement "(*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);" (call_expression "(*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((byte *)((int)local_3c + iVar5),pbVar18,local_40)" ( (cast_expression "(byte *)((int)local_3c + iVar5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_3c + iVar5)" ( (binary_expression "(int)local_3c + iVar5" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier , identifier ))) ;)) (expression_statement "pbVar18 = pbVar18 + (int)local_40;" (assignment_expression "pbVar18 = pbVar18 + (int)local_40" identifier = (binary_expression "pbVar18 + (int)local_40" identifier + (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);" (assignment_expression "pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c)" identifier = (cast_expression "(byte *****)((int)local_40 + (int)local_3c)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)local_40 + (int)local_3c)" ( (binary_expression "(int)local_40 + (int)local_3c" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppbVar7 = param_3;" (assignment_expression "pppppbVar7 = param_3" identifier = identifier) ;) (if_statement "if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }" if (parenthesized_expression "((int)pppppbVar15 < (int)param_3)" ( (binary_expression "(int)pppppbVar15 < (int)param_3" (cast_expression "(int)pppppbVar15" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pppppbVar7 = pppppbVar15;\n        }" { (expression_statement "pppppbVar7 = pppppbVar15;" (assignment_expression "pppppbVar7 = pppppbVar15" identifier = identifier) ;) })) (expression_statement "iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);" (assignment_expression "iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7)" identifier = (call_expression "(*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7)" (parenthesized_expression "(*(code *)PTR_memcmp_0015ba1c)" ( (pointer_expression "*(code *)PTR_memcmp_0015ba1c" * (cast_expression "(code *)PTR_memcmp_0015ba1c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,iVar5,pppppbVar7)" ( identifier , identifier , identifier )))) ;) (expression_statement "unaff_s4 = iVar5;" (assignment_expression "unaff_s4 = iVar5" identifier = identifier) ;) (if_statement "if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }" if (parenthesized_expression "(unaff_s8 == (byte *****)0x0)" ( (binary_expression "unaff_s8 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }" { (labeled_statement "LAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);" statement_identifier : (expression_statement "pppppbVar7 = (byte *****)((int)local_34 + 1);" (assignment_expression "pppppbVar7 = (byte *****)((int)local_34 + 1)" identifier = (cast_expression "(byte *****)((int)local_34 + 1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)local_34 + 1)" ( (binary_expression "(int)local_34 + 1" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (if_statement "if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }" if (parenthesized_expression "((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6))" ( (binary_expression "(unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)" (parenthesized_expression "(unaff_s3 == (int *)0x0)" ( (binary_expression "unaff_s3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(unaff_s8 = (byte *****)0x0, -1 < iVar6)" ( (comma_expression "unaff_s8 = (byte *****)0x0, -1 < iVar6" (assignment_expression "unaff_s8 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) , (binary_expression "-1 < iVar6" number_literal < identifier)) ))) )) (compound_statement "{\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }" { (expression_statement "local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);" (assignment_expression "local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38)" identifier = (cast_expression "(byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38)" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)(pppppbVar7 < local_34) + (int)local_38)" ( (binary_expression "(uint)(pppppbVar7 < local_34) + (int)local_38" (call_expression "(uint)(pppppbVar7 < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppbVar7 < local_34)" ( (binary_expression "pppppbVar7 < local_34" identifier < identifier) ))) + (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "unaff_s8 = (byte *****)0x0;" (assignment_expression "unaff_s8 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pppppbVar13 = (byte *****)0x0;" (assignment_expression "pppppbVar13 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_34 = (byte ****)pppppbVar7;" (assignment_expression "local_34 = (byte ****)pppppbVar7" identifier = (cast_expression "(byte ****)pppppbVar7" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (pbVar16 <= pbVar18) break;" if (parenthesized_expression "(pbVar16 <= pbVar18)" ( (binary_expression "pbVar16 <= pbVar18" identifier <= identifier) )) (break_statement "break;" break ;)) (goto_statement "goto LAB_0011c5a0;" goto statement_identifier ;) })) (expression_statement "*unaff_s3 = (int)local_38;" (assignment_expression "*unaff_s3 = (int)local_38" (pointer_expression "*unaff_s3" * identifier) = (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "unaff_s3[1] = (int)local_34;" (assignment_expression "unaff_s3[1] = (int)local_34" (subscript_expression "unaff_s3[1]" identifier [ number_literal ]) = (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }" else (if_statement "if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }" if (parenthesized_expression "((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0))))" ( (binary_expression "(iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))" (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))" ( (parenthesized_expression "(iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0))" ( (binary_expression "iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)" (binary_expression "iVar6 == 0" identifier == number_literal) && (parenthesized_expression "(pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)" ( (comma_expression "pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0" (assignment_expression "pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15)" identifier = (cast_expression "(byte *****)(uint)((int)param_3 < (int)pppppbVar15)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(uint)((int)param_3 < (int)pppppbVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)param_3 < (int)pppppbVar15)" ( (binary_expression "(int)param_3 < (int)pppppbVar15" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppppbVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) , (binary_expression "pppppbVar15 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal))) ))) )) ))) )) (compound_statement "{\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }" { (expression_statement "*unaff_s8 = local_38;" (assignment_expression "*unaff_s8 = local_38" (pointer_expression "*unaff_s8" * identifier) = identifier) ;) (expression_statement "unaff_s8[1] = local_34;" (assignment_expression "unaff_s8[1] = local_34" (subscript_expression "unaff_s8[1]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_0011c700;" goto statement_identifier ;) })))) (expression_statement "pppppbVar7 = (byte *****)((int)local_34 + 1);" (assignment_expression "pppppbVar7 = (byte *****)((int)local_34 + 1)" identifier = (cast_expression "(byte *****)((int)local_34 + 1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)local_34 + 1)" ( (binary_expression "(int)local_34 + 1" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);" (assignment_expression "local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38)" identifier = (cast_expression "(byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38)" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)(pppppbVar7 < local_34) + (int)local_38)" ( (binary_expression "(uint)(pppppbVar7 < local_34) + (int)local_38" (call_expression "(uint)(pppppbVar7 < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppbVar7 < local_34)" ( (binary_expression "pppppbVar7 < local_34" identifier < identifier) ))) + (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppbVar13 = (byte *****)0x0;" (assignment_expression "pppppbVar13 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_34 = (byte ****)pppppbVar7;" (assignment_expression "local_34 = (byte ****)pppppbVar7" identifier = (cast_expression "(byte ****)pppppbVar7" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) }) while (parenthesized_expression "(pbVar18 < pbVar16)" ( (binary_expression "pbVar18 < pbVar16" identifier < identifier) )) ;)) })) (if_statement "if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }" if (parenthesized_expression "(unaff_s8 != (byte *****)0x0)" ( (binary_expression "unaff_s8 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }" { (expression_statement "unaff_s8[1] = local_34;" (assignment_expression "unaff_s8[1] = local_34" (subscript_expression "unaff_s8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*unaff_s8 = local_38;" (assignment_expression "*unaff_s8 = local_38" (pointer_expression "*unaff_s8" * identifier) = identifier) ;) })) (expression_statement "puVar2 = PTR_sqlite3_free_0015b620;" (assignment_expression "puVar2 = PTR_sqlite3_free_0015b620" identifier = identifier) ;) (expression_statement "unaff_s4 = iVar5;" (assignment_expression "unaff_s4 = iVar5" identifier = identifier) ;) (if_statement "if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }" if (parenthesized_expression "(unaff_s3 == (int *)0x0)" ( (binary_expression "unaff_s3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }" { (labeled_statement "LAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" statement_identifier : (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s4)" ( identifier ))) ;)) }) (else_clause "else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }" else (compound_statement "{\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }" { (expression_statement "unaff_s3[1] = (int)local_34;" (assignment_expression "unaff_s3[1] = (int)local_34" (subscript_expression "unaff_s3[1]" identifier [ number_literal ]) = (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*unaff_s3 = (int)local_38;" (assignment_expression "*unaff_s3 = (int)local_38" (pointer_expression "*unaff_s3" * identifier) = (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "(*(code *)puVar2)(iVar5);" (call_expression "(*(code *)puVar2)(iVar5)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier ))) ;) }))) (expression_statement "puVar2 = PTR_LAB_0015b6d4;" (assignment_expression "puVar2 = PTR_LAB_0015b6d4" identifier = identifier) ;) (if_statement "if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }" if (parenthesized_expression "((int)local_44 < 2)" ( (binary_expression "(int)local_44 < 2" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      iVar5 = 0;\n    }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }" else (compound_statement "{\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }" { (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "local_38 = (byte ****)0x0;" (assignment_expression "local_38 = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (if_statement "if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }" if (parenthesized_expression "(param_6 == (byte *****)0x0)" ( (binary_expression "param_6 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }" { (labeled_statement "LAB_0011c928:\n        local_64 = (byte ****)0x0;" statement_identifier : (expression_statement "local_64 = (byte ****)0x0;" (assignment_expression "local_64 = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;)) (expression_statement "pppppbVar7 = (byte *****)*param_7;" (assignment_expression "pppppbVar7 = (byte *****)*param_7" identifier = (cast_expression "(byte *****)*param_7" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*param_7" * identifier))) ;) (expression_statement "pppppbVar15 = (byte *****)param_7[1];" (assignment_expression "pppppbVar15 = (byte *****)param_7[1]" identifier = (cast_expression "(byte *****)param_7[1]" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "param_7[1]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_0011c938:\n        local_3c = (byte ****)0x0;" statement_identifier : (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;)) (expression_statement "local_88 = (byte ****)&local_3c;" (assignment_expression "local_88 = (byte ****)&local_3c" identifier = (cast_expression "(byte ****)&local_3c" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&local_3c" & identifier))) ;) (expression_statement "local_80 = (int *)0x0;" (assignment_expression "local_80 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_84 = (byte ****)&local_38;" (assignment_expression "local_84 = (byte ****)&local_38" identifier = (cast_expression "(byte ****)&local_38" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&local_38" & identifier))) ;) (expression_statement "iVar5 = FUN_0011c2d4(param_1);" (assignment_expression "iVar5 = FUN_0011c2d4(param_1)" identifier = (call_expression "FUN_0011c2d4(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }" { (expression_statement "local_80 = param_7;" (assignment_expression "local_80 = param_7" identifier = identifier) ;) (expression_statement "local_84 = local_64;" (assignment_expression "local_84 = local_64" identifier = identifier) ;) (expression_statement "local_88 = local_38;" (assignment_expression "local_88 = local_38" identifier = identifier) ;) (expression_statement "pppppbVar15 = (byte *****)local_3c;" (assignment_expression "pppppbVar15 = (byte *****)local_3c" identifier = (cast_expression "(byte *****)local_3c" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar5 = FUN_0011c4ac(param_1,param_2);" (assignment_expression "iVar5 = FUN_0011c4ac(param_1,param_2)" identifier = (call_expression "FUN_0011c4ac(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (expression_statement "pppppbVar13 = param_2;" (assignment_expression "pppppbVar13 = param_2" identifier = identifier) ;) (expression_statement "pppppbVar7 = param_3;" (assignment_expression "pppppbVar7 = param_3" identifier = identifier) ;) })) }) (else_clause "else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }" else (compound_statement "{\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }" { (expression_statement "pppppbVar7 = (byte *****)*param_6;" (assignment_expression "pppppbVar7 = (byte *****)*param_6" identifier = (cast_expression "(byte *****)*param_6" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*param_6" * identifier))) ;) (expression_statement "pppppbVar15 = (byte *****)param_6[1];" (assignment_expression "pppppbVar15 = (byte *****)param_6[1]" identifier = (cast_expression "(byte *****)param_6[1]" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "param_6[1]" identifier [ number_literal ]))) ;) (if_statement "if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;" if (parenthesized_expression "((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15))))" ( (binary_expression "(param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))" (parenthesized_expression "(param_7 == (int *)0x0)" ( (binary_expression "param_7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))" ( (parenthesized_expression "(local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15))" ( (comma_expression "local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)" (assignment_expression "local_88 = (byte ****)&local_3c" identifier = (cast_expression "(byte ****)&local_3c" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&local_3c" & identifier))) , (binary_expression "(byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)" (binary_expression "(byte *****)*param_7 == pppppbVar7" (cast_expression "(byte *****)*param_7" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*param_7" * identifier)) == identifier) && (parenthesized_expression "((byte *****)param_7[1] == pppppbVar15)" ( (binary_expression "(byte *****)param_7[1] == pppppbVar15" (cast_expression "(byte *****)param_7[1]" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "param_7[1]" identifier [ number_literal ])) == identifier) )))) )) ))) )) (goto_statement "goto LAB_0011c938;" goto statement_identifier ;)) (expression_statement "local_80 = (int *)0x0;" (assignment_expression "local_80 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_84 = (byte ****)&local_38;" (assignment_expression "local_84 = (byte ****)&local_38" identifier = (cast_expression "(byte ****)&local_38" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&local_38" & identifier))) ;) (expression_statement "iVar5 = FUN_0011c2d4(param_1);" (assignment_expression "iVar5 = FUN_0011c2d4(param_1)" identifier = (call_expression "FUN_0011c2d4(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }" { (expression_statement "local_84 = (byte ****)param_6;" (assignment_expression "local_84 = (byte ****)param_6" identifier = (cast_expression "(byte ****)param_6" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "local_80 = (int *)0x0;" (assignment_expression "local_80 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_88 = local_38;" (assignment_expression "local_88 = local_38" identifier = identifier) ;) (expression_statement "pppppbVar13 = param_2;" (assignment_expression "pppppbVar13 = param_2" identifier = identifier) ;) (expression_statement "pppppbVar7 = param_3;" (assignment_expression "pppppbVar7 = param_3" identifier = identifier) ;) (expression_statement "pppppbVar15 = (byte *****)local_3c;" (assignment_expression "pppppbVar15 = (byte *****)local_3c" identifier = (cast_expression "(byte *****)local_3c" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar5 = FUN_0011c4ac(param_1,param_2);" (assignment_expression "iVar5 = FUN_0011c4ac(param_1,param_2)" identifier = (call_expression "FUN_0011c4ac(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(local_3c);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(local_3c)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_3c)" ( identifier ))) ;) (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (if_statement "if (iVar5 == 0) goto LAB_0011c928;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0011c928;" goto statement_identifier ;)) }) (else_clause "else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }" else (compound_statement "{\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }" { (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(local_3c);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(local_3c)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_3c)" ( identifier ))) ;) (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" identifier = (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) }))) }))) (expression_statement "unaff_s1 = (byte *****)(puVar2 + -0x3d2c);" (assignment_expression "unaff_s1 = (byte *****)(puVar2 + -0x3d2c)" identifier = (cast_expression "(byte *****)(puVar2 + -0x3d2c)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar2 + -0x3d2c)" ( (binary_expression "puVar2 + -0x3d2c" identifier + number_literal) )))) ;) (expression_statement "param_4 = &local_3c;" (assignment_expression "param_4 = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(local_3c);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(local_3c)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_3c)" ( identifier ))) ;) }))) }))) (labeled_statement "LAB_0011c804:\n  if (local_2c == *(int *)puVar21) {\n    return iVar5;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar21) {\n    return iVar5;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar21)" ( (binary_expression "local_2c == *(int *)puVar21" identifier == (pointer_expression "*(int *)puVar21" * (cast_expression "(int *)puVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar5;\n  }" { (return_statement "return iVar5;" return identifier ;) }))) (expression_statement "pcVar20 = FUN_0011ca40;" (assignment_expression "pcVar20 = FUN_0011ca40" identifier = identifier) ;) (expression_statement "iVar6 = local_2c;" (assignment_expression "iVar6 = local_2c" identifier = identifier) ;) (expression_statement "puVar21 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar21 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "ppppbVar4 = local_84;" (assignment_expression "ppppbVar4 = local_84" identifier = identifier) ;) (expression_statement "ppppbVar3 = local_88;" (assignment_expression "ppppbVar3 = local_88" identifier = identifier) ;) (expression_statement "piVar8 = *(int **)(puVar21 + 0x3efec);" (assignment_expression "piVar8 = *(int **)(puVar21 + 0x3efec)" identifier = (pointer_expression "*(int **)(puVar21 + 0x3efec)" * (cast_expression "(int **)(puVar21 + 0x3efec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3efec)" ( (binary_expression "puVar21 + 0x3efec" identifier + number_literal) ))))) ;) (expression_statement "iStack_c4 = *piVar8;" (assignment_expression "iStack_c4 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "iStack_c0 = iVar5;" (assignment_expression "iStack_c0 = iVar5" identifier = identifier) ;) (expression_statement "ppppbStack_bc = (byte ****)unaff_s1;" (assignment_expression "ppppbStack_bc = (byte ****)unaff_s1" identifier = (cast_expression "(byte ****)unaff_s1" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_b8 = (byte ****)param_4;" (assignment_expression "ppppbStack_b8 = (byte ****)param_4" identifier = (cast_expression "(byte ****)param_4" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "piStack_b4 = unaff_s3;" (assignment_expression "piStack_b4 = unaff_s3" identifier = identifier) ;) (expression_statement "iStack_b0 = unaff_s4;" (assignment_expression "iStack_b0 = unaff_s4" identifier = identifier) ;) (expression_statement "pbStack_ac = pbVar18;" (assignment_expression "pbStack_ac = pbVar18" identifier = identifier) ;) (expression_statement "ppppbStack_a8 = (byte ****)unaff_s6;" (assignment_expression "ppppbStack_a8 = (byte ****)unaff_s6" identifier = (cast_expression "(byte ****)unaff_s6" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_a4 = (byte ****)unaff_s7;" (assignment_expression "ppppbStack_a4 = (byte ****)unaff_s7" identifier = (cast_expression "(byte ****)unaff_s7" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_a0 = (byte ****)unaff_s8;" (assignment_expression "ppppbStack_a0 = (byte ****)unaff_s8" identifier = (cast_expression "(byte ****)unaff_s8" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pcStack_9c = pcVar20;" (assignment_expression "pcStack_9c = pcVar20" identifier = identifier) ;) (if_statement "if (-1 < (int)pppppbVar15) {\n    uStack_d0._0_4_ = (byte *****)0x0;\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();\n    pppppbVar12 = uStack_d0._0_4_;\n    if (iVar5 != 0) goto LAB_0011cdbc;\n    lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n    uVar14 = (uint)lVar23;\n    (**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));\n    goto LAB_0011ceb8;\n  }" if (parenthesized_expression "(-1 < (int)pppppbVar15)" ( (binary_expression "-1 < (int)pppppbVar15" number_literal < (cast_expression "(int)pppppbVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    uStack_d0._0_4_ = (byte *****)0x0;\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();\n    pppppbVar12 = uStack_d0._0_4_;\n    if (iVar5 != 0) goto LAB_0011cdbc;\n    lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n    uVar14 = (uint)lVar23;\n    (**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));\n    goto LAB_0011ceb8;\n  }" { (expression_statement "uStack_d0._0_4_ = (byte *****)0x0;" (assignment_expression "uStack_d0._0_4_ = (byte *****)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();" (assignment_expression "iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))()" identifier = (call_expression "(*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))()" (parenthesized_expression "(*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))" ( (pointer_expression "*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20)" * (cast_expression "(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x3ee40) + 0x7f20)" ( (binary_expression "*(int *)(puVar21 + 0x3ee40) + 0x7f20" (pointer_expression "*(int *)(puVar21 + 0x3ee40)" * (cast_expression "(int *)(puVar21 + 0x3ee40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ee40)" ( (binary_expression "puVar21 + 0x3ee40" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (expression_statement "pppppbVar12 = uStack_d0._0_4_;" (assignment_expression "pppppbVar12 = uStack_d0._0_4_" identifier = (field_expression "uStack_d0._0_4_" identifier . field_identifier)) ;) (if_statement "if (iVar5 != 0) goto LAB_0011cdbc;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011cdbc;" goto statement_identifier ;)) (expression_statement "lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);" (assignment_expression "lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" identifier = (binary_expression "(longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (cast_expression "(longlong)(int)pppppbVar7" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)pppppbVar7" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (binary_expression "(longlong)(int)pppppbVar13 * (longlong)" (cast_expression "(longlong)(int)pppppbVar13" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)pppppbVar13" ( (type_descriptor "int" primitive_type) ) identifier)) * (parenthesized_expression "(longlong)" ( identifier ))) * (cast_expression "(int *)(iVar6 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xfc)" ( (binary_expression "iVar6 + 0xfc" identifier + number_literal) )))))) ;) (expression_statement "uVar14 = (uint)lVar23;" (assignment_expression "uVar14 = (uint)lVar23" identifier = (cast_expression "(uint)lVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));" (call_expression "(**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f))" (parenthesized_expression "(**(code **)(puVar21 + 0x3edb8))" ( (pointer_expression "**(code **)(puVar21 + 0x3edb8)" * (pointer_expression "*(code **)(puVar21 + 0x3edb8)" * (cast_expression "(code **)(puVar21 + 0x3edb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3edb8)" ( (binary_expression "puVar21 + 0x3edb8" identifier + number_literal) ))))) )) (argument_list "(uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f))" ( (field_expression "uStack_d0._0_4_" identifier . field_identifier) , number_literal , (binary_expression "(uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f)" (binary_expression "(uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10)" (call_expression "(uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400))" ( (binary_expression "pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)" (binary_expression "pppppbVar15 + uVar14 * 0x100" identifier + (binary_expression "uVar14 * 0x100" identifier * number_literal)) < (cast_expression "(byte *****)(uVar14 * 0x400)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(uVar14 * 0x400)" ( (binary_expression "uVar14 * 0x400" identifier * number_literal) )))) ))) + (parenthesized_expression "(uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10)" ( (binary_expression "uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10" (binary_expression "uVar14 >> 0x16" identifier >> number_literal) | (binary_expression "(int)((ulonglong)lVar23 >> 0x20) << 10" (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) << number_literal)) ))) + (parenthesized_expression "((int)pppppbVar15 >> 0x1f)" ( (binary_expression "(int)pppppbVar15 >> 0x1f" (cast_expression "(int)pppppbVar15" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) ))) ;) (goto_statement "goto LAB_0011ceb8;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar6 + 0x100) != 0) {\n    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;\n    if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(iVar6 + 0x100) != 0)" ( (binary_expression "*(int *)(iVar6 + 0x100) != 0" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;\n    if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }" { (expression_statement "iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;" (assignment_expression "iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18" identifier = (binary_expression "*(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18" (pointer_expression "*(int *)(iVar6 + 0x100)" * (cast_expression "(int *)(iVar6 + 0x100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x100)" ( (binary_expression "iVar6 + 0x100" identifier + number_literal) )))) + (binary_expression "(int)pppppbVar7 * 0x18" (cast_expression "(int)pppppbVar7" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (if_statement "if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }" if (parenthesized_expression "(local_80 == (int *)0x0 && iStack_7c == 0)" ( (binary_expression "local_80 == (int *)0x0 && iStack_7c == 0" (binary_expression "local_80 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "iStack_7c == 0" identifier == number_literal)) )) (compound_statement "{\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }" { (expression_statement "uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);" (assignment_expression "uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84)" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (cast_expression "(byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84)" (parenthesized_expression "(*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))" ( (pointer_expression "*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24)" * (cast_expression "(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x3ec80) + -0x2c24)" ( (binary_expression "*(int *)(puVar21 + 0x3ec80) + -0x2c24" (pointer_expression "*(int *)(puVar21 + 0x3ec80)" * (cast_expression "(int *)(puVar21 + 0x3ec80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ec80)" ( (binary_expression "puVar21 + 0x3ec80" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar5 + 4,local_88,local_84)" ( (binary_expression "iVar5 + 4" identifier + number_literal) , identifier , identifier ))))) ;) (if_statement "if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }" if (parenthesized_expression "(uStack_d0._0_4_ != (byte *****)0x0)" ( (binary_expression "uStack_d0._0_4_ != (byte *****)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }" { (expression_statement "puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);" (assignment_expression "puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar21 + 0x3ed20))(0,0x68)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ed20))" ( (pointer_expression "**(code **)(puVar21 + 0x3ed20)" * (pointer_expression "*(code **)(puVar21 + 0x3ed20)" * (cast_expression "(code **)(puVar21 + 0x3ed20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ed20)" ( (binary_expression "puVar21 + 0x3ed20" identifier + number_literal) ))))) )) (argument_list "(0,0x68)" ( number_literal , number_literal ))))) ;) (if_statement "if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }" if (parenthesized_expression "(puVar9 != (undefined4 *)0x0)" ( (binary_expression "puVar9 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }" { (expression_statement "(**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);" (call_expression "(**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ef74))" ( (pointer_expression "**(code **)(puVar21 + 0x3ef74)" * (pointer_expression "*(code **)(puVar21 + 0x3ef74)" * (cast_expression "(code **)(puVar21 + 0x3ef74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ef74)" ( (binary_expression "puVar21 + 0x3ef74" identifier + number_literal) ))))) )) (argument_list "(puVar9 + 1,0,100)" ( (binary_expression "puVar9 + 1" identifier + number_literal) , number_literal , number_literal ))) ;) (expression_statement "*puVar9 = 0x7fffffff;" (assignment_expression "*puVar9 = 0x7fffffff" (pointer_expression "*puVar9" * identifier) = number_literal) ;) (expression_statement "puVar9[0xe] = puVar9 + 0x18;" (assignment_expression "puVar9[0xe] = puVar9 + 0x18" (subscript_expression "puVar9[0xe]" identifier [ number_literal ]) = (binary_expression "puVar9 + 0x18" identifier + number_literal)) ;) (expression_statement "uVar14 = (uint)(puVar9 + 0x18) & 3;" (assignment_expression "uVar14 = (uint)(puVar9 + 0x18) & 3" identifier = (binary_expression "(uint)(puVar9 + 0x18) & 3" (call_expression "(uint)(puVar9 + 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar9 + 0x18)" ( (binary_expression "puVar9 + 0x18" identifier + number_literal) ))) & number_literal)) ;) (expression_statement "puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);" (assignment_expression "puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14)" identifier = (cast_expression "(uint *)((int)(puVar9 + 0x18) - uVar14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(puVar9 + 0x18) - uVar14)" ( (binary_expression "(int)(puVar9 + 0x18) - uVar14" (cast_expression "(int)(puVar9 + 0x18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar9 + 0x18)" ( (binary_expression "puVar9 + 0x18" identifier + number_literal) ))) - identifier) )))) ;) (expression_statement "*puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;" (assignment_expression "*puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8" (binary_expression "*puVar1 & -1 << (4 - uVar14) * 8" (pointer_expression "*puVar1" * identifier) & (binary_expression "-1 << (4 - uVar14) * 8" number_literal << (binary_expression "(4 - uVar14) * 8" (parenthesized_expression "(4 - uVar14)" ( (binary_expression "4 - uVar14" number_literal - identifier) )) * number_literal))) | (binary_expression "(uint)uStack_d0._0_4_ >> uVar14 * 8" (cast_expression "(uint)uStack_d0._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "uStack_d0._0_4_" identifier . field_identifier)) >> (binary_expression "uVar14 * 8" identifier * number_literal)))) ;) (expression_statement "uVar14 = (int)puVar9 + 99U & 3;" (assignment_expression "uVar14 = (int)puVar9 + 99U & 3" identifier = (binary_expression "(int)puVar9 + 99U & 3" (binary_expression "(int)puVar9 + 99U" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) & number_literal)) ;) (expression_statement "puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);" (assignment_expression "puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14)" identifier = (cast_expression "(uint *)(((int)puVar9 + 99U) - uVar14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)puVar9 + 99U) - uVar14)" ( (binary_expression "((int)puVar9 + 99U) - uVar14" (parenthesized_expression "((int)puVar9 + 99U)" ( (binary_expression "(int)puVar9 + 99U" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - identifier) )))) ;) (expression_statement "*puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;" (assignment_expression "*puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8" (binary_expression "*puVar1 & 0xffffffffU >> (uVar14 + 1) * 8" (pointer_expression "*puVar1" * identifier) & (binary_expression "0xffffffffU >> (uVar14 + 1) * 8" number_literal >> (binary_expression "(uVar14 + 1) * 8" (parenthesized_expression "(uVar14 + 1)" ( (binary_expression "uVar14 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "(int)uStack_d0._0_4_ << (3 - uVar14) * 8" (cast_expression "(int)uStack_d0._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "uStack_d0._0_4_" identifier . field_identifier)) << (binary_expression "(3 - uVar14) * 8" (parenthesized_expression "(3 - uVar14)" ( (binary_expression "3 - uVar14" number_literal - identifier) )) * number_literal)))) ;) (goto_statement "goto LAB_0011cd88;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar21 + 0x3ec08))(0);" (call_expression "(**(code **)(puVar21 + 0x3ec08))(0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec08))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec08)" * (pointer_expression "*(code **)(puVar21 + 0x3ec08)" * (cast_expression "(code **)(puVar21 + 0x3ec08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec08)" ( (binary_expression "puVar21 + 0x3ec08" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_0011cde0;" goto statement_identifier ;) })) }) (else_clause "else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }" else (compound_statement "{\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }" { (expression_statement "uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);" (assignment_expression "uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc)" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (pointer_expression "*(byte ******)(iVar5 + 0xc)" * (cast_expression "(byte ******)(iVar5 + 0xc)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }" if (parenthesized_expression "(uStack_d0._0_4_ == (byte *****)0x0)" ( (binary_expression "uStack_d0._0_4_ == (byte *****)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }" { (expression_statement "(**(code **)(puVar21 + 0x3ebe0))(0);" (call_expression "(**(code **)(puVar21 + 0x3ebe0))(0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebe0))" ( (pointer_expression "**(code **)(puVar21 + 0x3ebe0)" * (pointer_expression "*(code **)(puVar21 + 0x3ebe0)" * (cast_expression "(code **)(puVar21 + 0x3ebe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ebe0)" ( (binary_expression "puVar21 + 0x3ebe0" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) }) (else_clause "else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }" else (compound_statement "{\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "pppppbVar12 = (byte *****)0x0;" (assignment_expression "pppppbVar12 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (do_statement "do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);" do (compound_statement "{\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        }" { (expression_statement "unaff_s7 = pppppbVar12;" (assignment_expression "unaff_s7 = pppppbVar12" identifier = identifier) ;) (if_statement "if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }" if (parenthesized_expression "(((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              ))))" ( (binary_expression "((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))" (parenthesized_expression "((byte *****)ppppbVar4 == (byte *****)0x0)" ( (binary_expression "(byte *****)ppppbVar4 == (byte *****)0x0" (cast_expression "(byte *****)ppppbVar4" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) || (parenthesized_expression "((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))" ( (parenthesized_expression "(iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              ))" ( (comma_expression "iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )" (assignment_expression "iVar19 = iVar5" identifier = identifier) , (binary_expression "(int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )" (binary_expression "(int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4]" (cast_expression "(int)ppppbVar4" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)((byte ****)uStack_d0._0_4_)[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((byte ****)uStack_d0._0_4_)[4]" (parenthesized_expression "((byte ****)uStack_d0._0_4_)" ( (cast_expression "(byte ****)uStack_d0._0_4_" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (field_expression "uStack_d0._0_4_" identifier . field_identifier)) )) [ number_literal ]))) && (parenthesized_expression "(iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )" ( (comma_expression "iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4)" identifier = (call_expression "(**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4)" (parenthesized_expression "(**(code **)(puVar21 + 0x3efdc))" ( (pointer_expression "**(code **)(puVar21 + 0x3efdc)" * (pointer_expression "*(code **)(puVar21 + 0x3efdc)" * (cast_expression "(code **)(puVar21 + 0x3efdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3efdc)" ( (binary_expression "puVar21 + 0x3efdc" identifier + number_literal) ))))) )) (argument_list "(((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4)" ( (subscript_expression "((byte ****)uStack_d0._0_4_)[3]" (parenthesized_expression "((byte ****)uStack_d0._0_4_)" ( (cast_expression "(byte ****)uStack_d0._0_4_" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (field_expression "uStack_d0._0_4_" identifier . field_identifier)) )) [ number_literal ]) , identifier , identifier )))) , (binary_expression "iVar17 == 0" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }" { (if_statement "if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }" if (parenthesized_expression "(iVar10 == iVar5)" ( (binary_expression "iVar10 == iVar5" identifier == identifier) )) (compound_statement "{\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }" { (expression_statement "iVar10 = iVar10 + 0x10;" (assignment_expression "iVar10 = iVar10 + 0x10" identifier = (binary_expression "iVar10 + 0x10" identifier + number_literal)) ;) (expression_statement "unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);" (assignment_expression "unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4)" identifier = (cast_expression "(byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebb0))" ( (pointer_expression "**(code **)(puVar21 + 0x3ebb0)" * (pointer_expression "*(code **)(puVar21 + 0x3ebb0)" * (cast_expression "(code **)(puVar21 + 0x3ebb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ebb0)" ( (binary_expression "puVar21 + 0x3ebb0" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12,iVar10 * 4)" ( identifier , (binary_expression "iVar10 * 4" identifier * number_literal) ))))) ;) (if_statement "if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;" if (parenthesized_expression "(unaff_s7 == (byte *****)0x0)" ( (binary_expression "unaff_s7 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0011ce24;" goto statement_identifier ;)) })) (expression_statement "iVar19 = iVar5 + 1;" (assignment_expression "iVar19 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;" (assignment_expression "unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_" (subscript_expression "unaff_s7[iVar5]" identifier [ identifier ]) = (cast_expression "(byte ****)uStack_d0._0_4_" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (field_expression "uStack_d0._0_4_" identifier . field_identifier))) ;) })) (expression_statement "uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;" (assignment_expression "uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (cast_expression "(byte *****)*uStack_d0._0_4_" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*uStack_d0._0_4_" * (field_expression "uStack_d0._0_4_" identifier . field_identifier)))) ;) (expression_statement "iVar5 = iVar19;" (assignment_expression "iVar5 = iVar19" identifier = identifier) ;) (expression_statement "pppppbVar12 = unaff_s7;" (assignment_expression "pppppbVar12 = unaff_s7" identifier = identifier) ;) }) while (parenthesized_expression "(uStack_d0._0_4_ != (byte *****)0x0)" ( (binary_expression "uStack_d0._0_4_ != (byte *****)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) ;) (if_statement "if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }" if (parenthesized_expression "(1 < iVar19)" ( (binary_expression "1 < iVar19" number_literal < identifier) )) (compound_statement "{\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }" { (expression_statement "(**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);" (call_expression "(**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ef48))" ( (pointer_expression "**(code **)(puVar21 + 0x3ef48)" * (pointer_expression "*(code **)(puVar21 + 0x3ef48)" * (cast_expression "(code **)(puVar21 + 0x3ef48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ef48)" ( (binary_expression "puVar21 + 0x3ef48" identifier + number_literal) ))))) )) (argument_list "(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar21 + 0x3ec98) + -0x76d0" (pointer_expression "*(int *)(puVar21 + 0x3ec98)" * (cast_expression "(int *)(puVar21 + 0x3ec98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ec98)" ( (binary_expression "puVar21 + 0x3ec98" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_0011cd08;" goto statement_identifier ;) })) (if_statement "if (iVar19 != 0) goto LAB_0011d154;" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011d154;" goto statement_identifier ;)) (expression_statement "(**(code **)(puVar21 + 0x3ebe0))(unaff_s7);" (call_expression "(**(code **)(puVar21 + 0x3ebe0))(unaff_s7)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebe0))" ( (pointer_expression "**(code **)(puVar21 + 0x3ebe0)" * (pointer_expression "*(code **)(puVar21 + 0x3ebe0)" * (cast_expression "(code **)(puVar21 + 0x3ebe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ebe0)" ( (binary_expression "puVar21 + 0x3ebe0" identifier + number_literal) ))))) )) (argument_list "(unaff_s7)" ( identifier ))) ;) }))) }))) })) (if_statement "if (pppppbVar15 != (byte *****)0xffffffff) {\n    iVar10 = *(int *)(puVar21 + 0x3ee40);\n    goto LAB_0011cc20;\n  }" if (parenthesized_expression "(pppppbVar15 != (byte *****)0xffffffff)" ( (binary_expression "pppppbVar15 != (byte *****)0xffffffff" identifier != (cast_expression "(byte *****)0xffffffff" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n    iVar10 = *(int *)(puVar21 + 0x3ee40);\n    goto LAB_0011cc20;\n  }" { (expression_statement "iVar10 = *(int *)(puVar21 + 0x3ee40);" (assignment_expression "iVar10 = *(int *)(puVar21 + 0x3ee40)" identifier = (pointer_expression "*(int *)(puVar21 + 0x3ee40)" * (cast_expression "(int *)(puVar21 + 0x3ee40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ee40)" ( (binary_expression "puVar21 + 0x3ee40" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0011cc20;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar21 + 0x3ec08))(0);" (call_expression "(**(code **)(puVar21 + 0x3ec08))(0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec08))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec08)" * (pointer_expression "*(code **)(puVar21 + 0x3ec08)" * (cast_expression "(code **)(puVar21 + 0x3ec08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec08)" ( (binary_expression "puVar21 + 0x3ec08" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  } while( true );" statement_identifier : (do_statement "do {\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  } while( true );" do (compound_statement "{\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  }" { (while_statement "while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }" { (if_statement "if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }" if (parenthesized_expression "(iStack_c4 == *piVar8)" ( (binary_expression "iStack_c4 == *piVar8" identifier == (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n        return iVar5;\n      }" { (return_statement "return iVar5;" return identifier ;) })) (expression_statement "(**(code **)(puVar21 + 0x3efd0))();" (call_expression "(**(code **)(puVar21 + 0x3efd0))()" (parenthesized_expression "(**(code **)(puVar21 + 0x3efd0))" ( (pointer_expression "**(code **)(puVar21 + 0x3efd0)" * (pointer_expression "*(code **)(puVar21 + 0x3efd0)" * (cast_expression "(code **)(puVar21 + 0x3efd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3efd0)" ( (binary_expression "puVar21 + 0x3efd0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0011d154:\n      iVar19 = 1;" statement_identifier : (expression_statement "iVar19 = 1;" (assignment_expression "iVar19 = 1" identifier = number_literal) ;)) (labeled_statement "LAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;" statement_identifier : (expression_statement "iVar10 = (iVar19 + 0x19) * 4;" (assignment_expression "iVar10 = (iVar19 + 0x19) * 4" identifier = (binary_expression "(iVar19 + 0x19) * 4" (parenthesized_expression "(iVar19 + 0x19)" ( (binary_expression "iVar19 + 0x19" identifier + number_literal) )) * number_literal)) ;)) (expression_statement "iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);" (assignment_expression "iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10)" identifier = (call_expression "(**(code **)(puVar21 + 0x3ed20))(0,iVar10)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ed20))" ( (pointer_expression "**(code **)(puVar21 + 0x3ed20)" * (pointer_expression "*(code **)(puVar21 + 0x3ed20)" * (cast_expression "(code **)(puVar21 + 0x3ed20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ed20)" ( (binary_expression "puVar21 + 0x3ed20" identifier + number_literal) ))))) )) (argument_list "(0,iVar10)" ( number_literal , identifier )))) ;) (expression_statement "pppppbVar12 = unaff_s7;" (assignment_expression "pppppbVar12 = unaff_s7" identifier = identifier) ;) (if_statement "if (iVar5 != 0) break;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);" statement_identifier : (expression_statement "(**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);" (call_expression "(**(code **)(puVar21 + 0x3ebe0))(pppppbVar12)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebe0))" ( (pointer_expression "**(code **)(puVar21 + 0x3ebe0)" * (pointer_expression "*(code **)(puVar21 + 0x3ebe0)" * (cast_expression "(code **)(puVar21 + 0x3ebe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ebe0)" ( (binary_expression "puVar21 + 0x3ebe0" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12)" ( identifier ))) ;)) (expression_statement "(**(code **)(puVar21 + 0x3ec08))(0);" (call_expression "(**(code **)(puVar21 + 0x3ec08))(0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec08))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec08)" * (pointer_expression "*(code **)(puVar21 + 0x3ec08)" * (cast_expression "(code **)(puVar21 + 0x3ec08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec08)" ( (binary_expression "puVar21 + 0x3ec08" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))) ;) (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" identifier = number_literal) ;) (expression_statement "unaff_s7 = pppppbVar12;" (assignment_expression "unaff_s7 = pppppbVar12" identifier = identifier) ;) })) (expression_statement "puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);" (assignment_expression "puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ef74))" ( (pointer_expression "**(code **)(puVar21 + 0x3ef74)" * (pointer_expression "*(code **)(puVar21 + 0x3ef74)" * (cast_expression "(code **)(puVar21 + 0x3ef74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ef74)" ( (binary_expression "puVar21 + 0x3ef74" identifier + number_literal) ))))) )) (argument_list "(iVar5,0,iVar10)" ( identifier , number_literal , identifier ))))) ;) (expression_statement "puVar9[0xe] = puVar9 + 0x18;" (assignment_expression "puVar9[0xe] = puVar9 + 0x18" (subscript_expression "puVar9[0xe]" identifier [ number_literal ]) = (binary_expression "puVar9 + 0x18" identifier + number_literal)) ;) (expression_statement "pcVar20 = *(code **)(puVar21 + 0x3eff0);" (assignment_expression "pcVar20 = *(code **)(puVar21 + 0x3eff0)" identifier = (pointer_expression "*(code **)(puVar21 + 0x3eff0)" * (cast_expression "(code **)(puVar21 + 0x3eff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3eff0)" ( (binary_expression "puVar21 + 0x3eff0" identifier + number_literal) ))))) ;) (expression_statement "*puVar9 = 0x7fffffff;" (assignment_expression "*puVar9 = 0x7fffffff" (pointer_expression "*puVar9" * identifier) = number_literal) ;) (expression_statement "(*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);" (call_expression "(*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(puVar9 + 0x18,unaff_s7,iVar10 + -100)" ( (binary_expression "puVar9 + 0x18" identifier + number_literal) , identifier , (binary_expression "iVar10 + -100" identifier + number_literal) ))) ;) (expression_statement "(**(code **)(puVar21 + 0x3ebe0))(unaff_s7);" (call_expression "(**(code **)(puVar21 + 0x3ebe0))(unaff_s7)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebe0))" ( (pointer_expression "**(code **)(puVar21 + 0x3ebe0)" * (pointer_expression "*(code **)(puVar21 + 0x3ebe0)" * (cast_expression "(code **)(puVar21 + 0x3ebe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ebe0)" ( (binary_expression "puVar21 + 0x3ebe0" identifier + number_literal) ))))) )) (argument_list "(unaff_s7)" ( identifier ))) ;) (labeled_statement "LAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);" statement_identifier : (expression_statement "iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);" (assignment_expression "iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9)" identifier = (call_expression "(*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9)" (parenthesized_expression "(*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))" ( (pointer_expression "*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4)" * (cast_expression "(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4)" ( (binary_expression "*(int *)(puVar21 + 0x3ecb8) + 0x3dc4" (pointer_expression "*(int *)(puVar21 + 0x3ecb8)" * (cast_expression "(int *)(puVar21 + 0x3ecb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ecb8)" ( (binary_expression "puVar21 + 0x3ecb8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(&_gp_1,&DAT_001635b4,puVar9)" ( (pointer_expression "&_gp_1" & identifier) , (pointer_expression "&DAT_001635b4" & identifier) , identifier )))) ;)) (if_statement "if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }" if (parenthesized_expression "((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0))" ( (binary_expression "(pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)" (parenthesized_expression "(pppppbVar15 == (byte *****)0xffffffff)" ( (binary_expression "pppppbVar15 == (byte *****)0xffffffff" identifier == (cast_expression "(byte *****)0xffffffff" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) || (parenthesized_expression "(iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)" ( (comma_expression "iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0" (assignment_expression "iVar10 = *(int *)(puVar21 + 0x3ee40)" identifier = (pointer_expression "*(int *)(puVar21 + 0x3ee40)" * (cast_expression "(int *)(puVar21 + 0x3ee40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ee40)" ( (binary_expression "puVar21 + 0x3ee40" identifier + number_literal) ))))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n      pppppbVar12 = (byte *****)0x0;\n    }" { (expression_statement "pppppbVar12 = (byte *****)0x0;" (assignment_expression "pppppbVar12 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }" else (compound_statement "{\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }" { (labeled_statement "LAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;" statement_identifier : (expression_statement "uStack_d0._0_4_ = (byte *****)0x0;" (assignment_expression "uStack_d0._0_4_ = (byte *****)0x0" (field_expression "uStack_d0._0_4_" identifier . field_identifier) = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;)) (expression_statement "iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);" (assignment_expression "iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0)" identifier = (call_expression "(*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0)" (parenthesized_expression "(*(code *)(iVar10 + 0x7f20))" ( (pointer_expression "*(code *)(iVar10 + 0x7f20)" * (cast_expression "(code *)(iVar10 + 0x7f20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x7f20)" ( (binary_expression "iVar10 + 0x7f20" identifier + number_literal) )))) )) (argument_list "(iVar6,0xd,&uStack_d0,0)" ( identifier , number_literal , (pointer_expression "&uStack_d0" & identifier) , number_literal )))) ;) (expression_statement "pppppbVar12 = uStack_d0._0_4_;" (assignment_expression "pppppbVar12 = uStack_d0._0_4_" identifier = (field_expression "uStack_d0._0_4_" identifier . field_identifier)) ;) (if_statement "if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }" { (expression_statement "lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;" (assignment_expression "lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400" identifier = (binary_expression "((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400" (parenthesized_expression "((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc))" ( (binary_expression "(longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (cast_expression "(longlong)(int)pppppbVar7" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)pppppbVar7" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (binary_expression "(longlong)(int)pppppbVar13 * (longlong)" (cast_expression "(longlong)(int)pppppbVar13" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)pppppbVar13" ( (type_descriptor "int" primitive_type) ) identifier)) * (parenthesized_expression "(longlong)" ( identifier ))) * (cast_expression "(int *)(iVar6 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xfc)" ( (binary_expression "iVar6 + 0xfc" identifier + number_literal) ))))) )) * number_literal)) ;) (expression_statement "(**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);" (call_expression "(**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23)" (parenthesized_expression "(**(code **)(puVar21 + 0x3edb8))" ( (pointer_expression "**(code **)(puVar21 + 0x3edb8)" * (pointer_expression "*(code **)(puVar21 + 0x3edb8)" * (cast_expression "(code **)(puVar21 + 0x3edb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3edb8)" ( (binary_expression "puVar21 + 0x3edb8" identifier + number_literal) ))))) )) (argument_list "(uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23)" ( (field_expression "uStack_d0._0_4_" identifier . field_identifier) , number_literal , (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)lVar23" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);" (assignment_expression "lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" identifier = (binary_expression "(longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (cast_expression "(longlong)(int)pppppbVar7" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)pppppbVar7" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (binary_expression "(longlong)(int)pppppbVar13 * (longlong)" (cast_expression "(longlong)(int)pppppbVar13" ( (type_descriptor "longlong" type_identifier) ) (cast_expression "(int)pppppbVar13" ( (type_descriptor "int" primitive_type) ) identifier)) * (parenthesized_expression "(longlong)" ( identifier ))) * (cast_expression "(int *)(iVar6 + 0xfc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xfc)" ( (binary_expression "iVar6 + 0xfc" identifier + number_literal) )))))) ;) (expression_statement "uVar22 = (uint)lVar23;" (assignment_expression "uVar22 = (uint)lVar23" identifier = (cast_expression "(uint)lVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar14 = uVar22 * 0x400;" (assignment_expression "uVar14 = uVar22 * 0x400" identifier = (binary_expression "uVar22 * 0x400" identifier * number_literal)) ;) (expression_statement "(**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));" (call_expression "(**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10))" (parenthesized_expression "(**(code **)(puVar21 + 0x3edb8))" ( (pointer_expression "**(code **)(puVar21 + 0x3edb8)" * (pointer_expression "*(code **)(puVar21 + 0x3edb8)" * (cast_expression "(code **)(puVar21 + 0x3edb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3edb8)" ( (binary_expression "puVar21 + 0x3edb8" identifier + number_literal) ))))) )) (argument_list "(uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10))" ( (field_expression "uStack_d0._0_4_" identifier . field_identifier) , number_literal , (binary_expression "(uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10)" (call_expression "(uint)(uVar14 + 0x3ff < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 + 0x3ff < uVar14)" ( (binary_expression "uVar14 + 0x3ff < uVar14" (binary_expression "uVar14 + 0x3ff" identifier + number_literal) < identifier) ))) + (parenthesized_expression "(uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10)" ( (binary_expression "uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10" (binary_expression "uVar22 >> 0x16" identifier >> number_literal) | (binary_expression "(int)((ulonglong)lVar23 >> 0x20) << 10" (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) << number_literal)) ))) ))) ;) (labeled_statement "LAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;" statement_identifier : (expression_statement "pppppbVar12 = uStack_d0._0_4_;" (assignment_expression "pppppbVar12 = uStack_d0._0_4_" identifier = (field_expression "uStack_d0._0_4_" identifier . field_identifier)) ;)) (expression_statement "puStack_e4 = &uStack_d0;" (assignment_expression "puStack_e4 = &uStack_d0" identifier = (pointer_expression "&uStack_d0" & identifier)) ;) (expression_statement "iVar17 = *(int *)(puVar21 + 0x3ecc0);" (assignment_expression "iVar17 = *(int *)(puVar21 + 0x3ecc0)" identifier = (pointer_expression "*(int *)(puVar21 + 0x3ecc0)" * (cast_expression "(int *)(puVar21 + 0x3ecc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ecc0)" ( (binary_expression "puVar21 + 0x3ecc0" identifier + number_literal) ))))) ;) (expression_statement "unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);" (assignment_expression "unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0)" identifier = (cast_expression "(byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(uint)(local_80 == (int *)0x0 && iStack_7c == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_80 == (int *)0x0 && iStack_7c == 0)" ( (binary_expression "local_80 == (int *)0x0 && iStack_7c == 0" (binary_expression "local_80 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "iStack_7c == 0" identifier == number_literal)) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar21 + 0x3ec94);" (assignment_expression "iVar10 = *(int *)(puVar21 + 0x3ec94)" identifier = (pointer_expression "*(int *)(puVar21 + 0x3ec94)" * (cast_expression "(int *)(puVar21 + 0x3ec94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ec94)" ( (binary_expression "puVar21 + 0x3ec94" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(puVar21 + 0x3ecb8);" (assignment_expression "iVar19 = *(int *)(puVar21 + 0x3ecb8)" identifier = (pointer_expression "*(int *)(puVar21 + 0x3ecb8)" * (cast_expression "(int *)(puVar21 + 0x3ecb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3ecb8)" ( (binary_expression "puVar21 + 0x3ecb8" identifier + number_literal) ))))) ;) (do_statement "do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);" do (compound_statement "{\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        }" { (expression_statement "iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);" (assignment_expression "iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12)" identifier = (call_expression "(**(code **)(puVar21 + 0x3ebf0))(pppppbVar12)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebf0))" ( (pointer_expression "**(code **)(puVar21 + 0x3ebf0)" * (pointer_expression "*(code **)(puVar21 + 0x3ebf0)" * (cast_expression "(code **)(puVar21 + 0x3ebf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ebf0)" ( (binary_expression "puVar21 + 0x3ebf0" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12)" ( identifier )))) ;) (if_statement "if (iVar5 != 100) break;" if (parenthesized_expression "(iVar5 != 100)" ( (binary_expression "iVar5 != 100" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "uStack_dc = 0;" (assignment_expression "uStack_dc = 0" identifier = number_literal) ;) (expression_statement "lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);" (assignment_expression "lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1)" identifier = (call_expression "(**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec10))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec10)" * (pointer_expression "*(code **)(puVar21 + 0x3ec10)" * (cast_expression "(code **)(puVar21 + 0x3ec10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec10)" ( (binary_expression "puVar21 + 0x3ec10" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12,1)" ( identifier , number_literal )))) ;) (expression_statement "uStack_d8 = lVar23;" (assignment_expression "uStack_d8 = lVar23" identifier = identifier) ;) (expression_statement "lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);" (assignment_expression "lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2)" identifier = (call_expression "(**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec10))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec10)" * (pointer_expression "*(code **)(puVar21 + 0x3ec10)" * (cast_expression "(code **)(puVar21 + 0x3ec10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec10)" ( (binary_expression "puVar21 + 0x3ec10" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12,2)" ( identifier , number_literal )))) ;) (expression_statement "uStack_d0 = lVar23;" (assignment_expression "uStack_d0 = lVar23" identifier = identifier) ;) (expression_statement "uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);" (assignment_expression "uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3)" identifier = (call_expression "(**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec10))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec10)" * (pointer_expression "*(code **)(puVar21 + 0x3ec10)" * (cast_expression "(code **)(puVar21 + 0x3ec10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec10)" ( (binary_expression "puVar21 + 0x3ec10" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12,3)" ( identifier , number_literal )))) ;) (expression_statement "pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);" (assignment_expression "pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4)" identifier = (cast_expression "(byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec24))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec24)" * (pointer_expression "*(code **)(puVar21 + 0x3ec24)" * (cast_expression "(code **)(puVar21 + 0x3ec24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec24)" ( (binary_expression "puVar21 + 0x3ec24" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12,4)" ( identifier , number_literal ))))) ;) (expression_statement "pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);" (assignment_expression "pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4)" identifier = (cast_expression "(byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec28))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec28)" * (pointer_expression "*(code **)(puVar21 + 0x3ec28)" * (cast_expression "(code **)(puVar21 + 0x3ec28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec28)" ( (binary_expression "puVar21 + 0x3ec28" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12,4)" ( identifier , number_literal ))))) ;) (if_statement "if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" if (parenthesized_expression "(((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0))" ( (binary_expression "((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)" (parenthesized_expression "((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0))" ( (binary_expression "(uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)" (parenthesized_expression "(uStack_d8 == 0)" ( (binary_expression "uStack_d8 == 0" identifier == number_literal) )) || (parenthesized_expression "((byte *****)ppppbVar3 == (byte *****)0x0)" ( (binary_expression "(byte *****)ppppbVar3 == (byte *****)0x0" (cast_expression "(byte *****)ppppbVar3" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ))) )) || (parenthesized_expression "(pppppbVar13 == (byte *****)0x0)" ( (binary_expression "pppppbVar13 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ))) )) (compound_statement "{\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }" { (expression_statement "iVar5 = _DAT_001635b4 + 1;" (assignment_expression "iVar5 = _DAT_001635b4 + 1" identifier = (binary_expression "_DAT_001635b4 + 1" identifier + number_literal)) ;) (expression_statement "pppppbVar15 = unaff_s7;" (assignment_expression "pppppbVar15 = unaff_s7" identifier = identifier) ;) (expression_statement "lVar23 = uStack_d8;" (assignment_expression "lVar23 = uStack_d8" identifier = identifier) ;) }) (else_clause "else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" else (if_statement "if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" if (parenthesized_expression "(local_80 == (int *)0x0)" ( (binary_expression "local_80 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }" { (expression_statement "iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);" (assignment_expression "iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0)" identifier = (call_expression "(*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0)" (parenthesized_expression "(*(code *)(iVar10 + -0x3b54))" ( (pointer_expression "*(code *)(iVar10 + -0x3b54)" * (cast_expression "(code *)(iVar10 + -0x3b54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x3b54)" ( (binary_expression "iVar10 + -0x3b54" identifier + number_literal) )))) )) (argument_list "(iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0)" ( identifier , identifier , identifier , identifier , identifier , (pointer_expression "&uStack_d8" & identifier) , number_literal )))) ;) (if_statement "if (iVar5 != 0) break;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = _DAT_001635b4 + 1;" (assignment_expression "iVar5 = _DAT_001635b4 + 1" identifier = (binary_expression "_DAT_001635b4 + 1" identifier + number_literal)) ;) (expression_statement "lVar23 = uStack_d8;" (assignment_expression "lVar23 = uStack_d8" identifier = identifier) ;) (if_statement "if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }" if (parenthesized_expression "(iStack_7c == 0)" ( (binary_expression "iStack_7c == 0" identifier == number_literal) )) (compound_statement "{\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }" { (expression_statement "pppppbVar15 = (byte *****)0x1;" (assignment_expression "pppppbVar15 = (byte *****)0x1" identifier = (cast_expression "(byte *****)0x1" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "uStack_d0 = uStack_d8;" (assignment_expression "uStack_d0 = uStack_d8" identifier = identifier) ;) }) (else_clause "else {\n              pppppbVar15 = (byte *****)0x0;\n            }" else (compound_statement "{\n              pppppbVar15 = (byte *****)0x0;\n            }" { (expression_statement "pppppbVar15 = (byte *****)0x0;" (assignment_expression "pppppbVar15 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }))) }) (else_clause "else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" else (compound_statement "{\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" { (expression_statement "iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);" (assignment_expression "iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4)" identifier = (call_expression "(*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4)" (parenthesized_expression "(*(code *)(iVar10 + -0x3b54))" ( (pointer_expression "*(code *)(iVar10 + -0x3b54)" * (cast_expression "(code *)(iVar10 + -0x3b54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x3b54)" ( (binary_expression "iVar10 + -0x3b54" identifier + number_literal) )))) )) (argument_list "(iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4)" ( identifier , identifier , identifier , identifier , identifier , (pointer_expression "&uStack_d8" & identifier) , identifier )))) ;) (if_statement "if (iVar5 != 0) break;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = _DAT_001635b4 + 1;" (assignment_expression "iVar5 = _DAT_001635b4 + 1" identifier = (binary_expression "_DAT_001635b4 + 1" identifier + number_literal)) ;) (expression_statement "pppppbVar15 = (byte *****)0x0;" (assignment_expression "pppppbVar15 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "lVar23 = uStack_d8;" (assignment_expression "lVar23 = uStack_d8" identifier = identifier) ;) }))))) (expression_statement "uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);" (assignment_expression "uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20)" (field_expression "uStack_d8._0_4_" identifier . field_identifier) = (call_expression "(undefined4)((ulonglong)lVar23 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_d8._4_4_ = (undefined4)lVar23;" (assignment_expression "uStack_d8._4_4_ = (undefined4)lVar23" (field_expression "uStack_d8._4_4_" identifier . field_identifier) = (cast_expression "(undefined4)lVar23" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);" (assignment_expression "iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc)" identifier = (call_expression "(*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc)" (parenthesized_expression "(*(code *)(iVar17 + 0x588))" ( (pointer_expression "*(code *)(iVar17 + 0x588)" * (cast_expression "(code *)(iVar17 + 0x588)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x588)" ( (binary_expression "iVar17 + 0x588" identifier + number_literal) )))) )) (argument_list "(iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc)" ( identifier , identifier , (field_expression "uStack_d8._0_4_" identifier . field_identifier) , (field_expression "uStack_d8._4_4_" identifier . field_identifier) , identifier , identifier , identifier , identifier , (pointer_expression "&uStack_dc" & identifier) )))) ;) (expression_statement "uStack_d8 = lVar23;" (assignment_expression "uStack_d8 = lVar23" identifier = identifier) ;) (if_statement "if (iVar5 != 0) break;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);" (assignment_expression "iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc)" identifier = (call_expression "(*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc)" (parenthesized_expression "(*(code *)(iVar19 + 0x3dc4))" ( (pointer_expression "*(code *)(iVar19 + 0x3dc4)" * (cast_expression "(code *)(iVar19 + 0x3dc4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x3dc4)" ( (binary_expression "iVar19 + 0x3dc4" identifier + number_literal) )))) )) (argument_list "(&_gp_1,&DAT_001635b4,uStack_dc)" ( (pointer_expression "&_gp_1" & identifier) , (pointer_expression "&DAT_001635b4" & identifier) , identifier )))) ;) }) while (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) ;) })) }))) (labeled_statement "LAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);" statement_identifier : (expression_statement "iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);" (assignment_expression "iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12)" identifier = (call_expression "(**(code **)(puVar21 + 0x3ec08))(pppppbVar12)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec08))" ( (pointer_expression "**(code **)(puVar21 + 0x3ec08)" * (pointer_expression "*(code **)(puVar21 + 0x3ec08)" * (cast_expression "(code **)(puVar21 + 0x3ec08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x3ec08)" ( (binary_expression "puVar21 + 0x3ec08" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12)" ( identifier )))) ;)) (expression_statement "pppppbVar15 = pppppbVar12;" (assignment_expression "pppppbVar15 = pppppbVar12" identifier = identifier) ;) (if_statement "if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }" if (parenthesized_expression "(iVar5 == 0x65)" ( (binary_expression "iVar5 == 0x65" identifier == number_literal) )) (compound_statement "{\n      iVar5 = iVar10;\n    }" { (expression_statement "iVar5 = iVar10;" (assignment_expression "iVar5 = iVar10" identifier = identifier) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT))) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) , (binary_expression LIT < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression & IDENT))) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression * IDENT)) == IDENT) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ])) == IDENT) )))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) }))) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (field_expression IDENT . field_identifier) , LIT , (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) ))) + (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) << LIT)) ))) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) - IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (pointer_expression * IDENT) & (binary_expression LIT << (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) >> (binary_expression IDENT * LIT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )) - IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (pointer_expression * IDENT) & (binary_expression LIT >> (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) << (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (field_expression IDENT . field_identifier)) )) [ LIT ]))) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (field_expression IDENT . field_identifier)) )) [ LIT ]) , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT * LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (field_expression IDENT . field_identifier))) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression * (field_expression IDENT . field_identifier)))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }))) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_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) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT , (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) * LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (field_expression IDENT . field_identifier) , LIT , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (field_expression IDENT . field_identifier) , LIT , (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + LIT) < IDENT) ))) + (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) << LIT)) ))) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression IDENT == LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ))) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) , IDENT , IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) while (parenthesized_expression ( BOOL )) ;)) })))
(function_definition "int FUN_0011c4ac(undefined4 param_1,byte *****param_2,byte *****param_3,byte *****param_4,\n                int param_5,byte *****param_6,int *param_7)\n\n{\n  uint *puVar1;\n  undefined *puVar2;\n  byte ****ppppbVar3;\n  byte ****ppppbVar4;\n  int iVar5;\n  int iVar6;\n  byte bVar11;\n  byte *****pppppbVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  uint uVar14;\n  byte *****pppppbVar15;\n  byte *pbVar16;\n  byte *****unaff_s1;\n  int *unaff_s3;\n  int unaff_s4;\n  int iVar17;\n  byte *pbVar18;\n  int iVar19;\n  byte *****unaff_s6;\n  byte *****unaff_s7;\n  code *pcVar20;\n  undefined *puVar21;\n  byte *****unaff_s8;\n  uint uVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  undefined8 *puStack_e4;\n  undefined4 uStack_dc;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  int iStack_c4;\n  int iStack_c0;\n  byte ****ppppbStack_bc;\n  byte ****ppppbStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  byte *pbStack_ac;\n  byte ****ppppbStack_a8;\n  byte ****ppppbStack_a4;\n  byte ****ppppbStack_a0;\n  code *pcStack_9c;\n  byte ****local_88;\n  byte ****local_84;\n  int *local_80;\n  int iStack_7c;\n  byte ****local_6c;\n  byte ****local_64;\n  uint local_44;\n  byte ****local_40;\n  byte ****local_3c;\n  byte ****local_38;\n  byte ****local_34;\n  int local_2c;\n  \n  puVar21 = PTR___stack_chk_guard_0015ba2c;\n  local_64 = (byte ****)param_6;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  pppppbVar7 = param_3;\n  pppppbVar15 = param_4;\n  uVar14 = (uint)*(byte *)param_4;\n  if ((char)*(byte *)param_4 < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);\n    uVar14 = local_44;\n  }\n  local_44 = uVar14;\n  pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74);\n  pbVar16 = (byte *)((int)param_4 + param_5);\n  pppppbVar13 = &local_38;\n  iVar5 = (*pcVar20)(param_4,&local_38);\n  iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5));\n  pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6;\n  if (pbVar16 < pbVar18) {\n    iVar5 = 0x10b;\n  }\n  else {\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }\nLAB_0011c804:\n  if (local_2c == *(int *)puVar21) {\n    return iVar5;\n  }\n  pcVar20 = FUN_0011ca40;\n  iVar6 = local_2c;\n  puVar21 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  ppppbVar4 = local_84;\n  ppppbVar3 = local_88;\n  piVar8 = *(int **)(puVar21 + 0x3efec);\n  iStack_c4 = *piVar8;\n  iStack_c0 = iVar5;\n  ppppbStack_bc = (byte ****)unaff_s1;\n  ppppbStack_b8 = (byte ****)param_4;\n  piStack_b4 = unaff_s3;\n  iStack_b0 = unaff_s4;\n  pbStack_ac = pbVar18;\n  ppppbStack_a8 = (byte ****)unaff_s6;\n  ppppbStack_a4 = (byte ****)unaff_s7;\n  ppppbStack_a0 = (byte ****)unaff_s8;\n  pcStack_9c = pcVar20;\n  if (-1 < (int)pppppbVar15) {\n    uStack_d0._0_4_ = (byte *****)0x0;\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();\n    pppppbVar12 = uStack_d0._0_4_;\n    if (iVar5 != 0) goto LAB_0011cdbc;\n    lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n    uVar14 = (uint)lVar23;\n    (**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));\n    goto LAB_0011ceb8;\n  }\n  if (*(int *)(iVar6 + 0x100) != 0) {\n    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;\n    if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }\n  if (pppppbVar15 != (byte *****)0xffffffff) {\n    iVar10 = *(int *)(puVar21 + 0x3ee40);\n    goto LAB_0011cc20;\n  }\n  (**(code **)(puVar21 + 0x3ec08))(0);\n  iVar5 = 0;\nLAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  } while( true );\n}" (primitive_type "int") (function_declarator "FUN_0011c4ac(undefined4 param_1,byte *****param_2,byte *****param_3,byte *****param_4,\n                int param_5,byte *****param_6,int *param_7)" (identifier "FUN_0011c4ac") (parameter_list "(undefined4 param_1,byte *****param_2,byte *****param_3,byte *****param_4,\n                int param_5,byte *****param_6,int *param_7)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "byte *****param_2" (type_identifier "byte") (pointer_declarator "*****param_2" (* "*") (pointer_declarator "****param_2" (* "*") (pointer_declarator "***param_2" (* "*") (pointer_declarator "**param_2" (* "*") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))))))) (, ",") (parameter_declaration "byte *****param_3" (type_identifier "byte") (pointer_declarator "*****param_3" (* "*") (pointer_declarator "****param_3" (* "*") (pointer_declarator "***param_3" (* "*") (pointer_declarator "**param_3" (* "*") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))))))) (, ",") (parameter_declaration "byte *****param_4" (type_identifier "byte") (pointer_declarator "*****param_4" (* "*") (pointer_declarator "****param_4" (* "*") (pointer_declarator "***param_4" (* "*") (pointer_declarator "**param_4" (* "*") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))))))) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) (, ",") (parameter_declaration "byte *****param_6" (type_identifier "byte") (pointer_declarator "*****param_6" (* "*") (pointer_declarator "****param_6" (* "*") (pointer_declarator "***param_6" (* "*") (pointer_declarator "**param_6" (* "*") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))))))) (, ",") (parameter_declaration "int *param_7" (primitive_type "int") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) () ")"))) (compound_statement "{\n  uint *puVar1;\n  undefined *puVar2;\n  byte ****ppppbVar3;\n  byte ****ppppbVar4;\n  int iVar5;\n  int iVar6;\n  byte bVar11;\n  byte *****pppppbVar7;\n  int *piVar8;\n  undefined4 *puVar9;\n  int iVar10;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  uint uVar14;\n  byte *****pppppbVar15;\n  byte *pbVar16;\n  byte *****unaff_s1;\n  int *unaff_s3;\n  int unaff_s4;\n  int iVar17;\n  byte *pbVar18;\n  int iVar19;\n  byte *****unaff_s6;\n  byte *****unaff_s7;\n  code *pcVar20;\n  undefined *puVar21;\n  byte *****unaff_s8;\n  uint uVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  undefined8 *puStack_e4;\n  undefined4 uStack_dc;\n  undefined8 uStack_d8;\n  undefined8 uStack_d0;\n  int iStack_c4;\n  int iStack_c0;\n  byte ****ppppbStack_bc;\n  byte ****ppppbStack_b8;\n  int *piStack_b4;\n  int iStack_b0;\n  byte *pbStack_ac;\n  byte ****ppppbStack_a8;\n  byte ****ppppbStack_a4;\n  byte ****ppppbStack_a0;\n  code *pcStack_9c;\n  byte ****local_88;\n  byte ****local_84;\n  int *local_80;\n  int iStack_7c;\n  byte ****local_6c;\n  byte ****local_64;\n  uint local_44;\n  byte ****local_40;\n  byte ****local_3c;\n  byte ****local_38;\n  byte ****local_34;\n  int local_2c;\n  \n  puVar21 = PTR___stack_chk_guard_0015ba2c;\n  local_64 = (byte ****)param_6;\n  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;\n  pppppbVar7 = param_3;\n  pppppbVar15 = param_4;\n  uVar14 = (uint)*(byte *)param_4;\n  if ((char)*(byte *)param_4 < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);\n    uVar14 = local_44;\n  }\n  local_44 = uVar14;\n  pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74);\n  pbVar16 = (byte *)((int)param_4 + param_5);\n  pppppbVar13 = &local_38;\n  iVar5 = (*pcVar20)(param_4,&local_38);\n  iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5));\n  pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6;\n  if (pbVar16 < pbVar18) {\n    iVar5 = 0x10b;\n  }\n  else {\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }\nLAB_0011c804:\n  if (local_2c == *(int *)puVar21) {\n    return iVar5;\n  }\n  pcVar20 = FUN_0011ca40;\n  iVar6 = local_2c;\n  puVar21 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  ppppbVar4 = local_84;\n  ppppbVar3 = local_88;\n  piVar8 = *(int **)(puVar21 + 0x3efec);\n  iStack_c4 = *piVar8;\n  iStack_c0 = iVar5;\n  ppppbStack_bc = (byte ****)unaff_s1;\n  ppppbStack_b8 = (byte ****)param_4;\n  piStack_b4 = unaff_s3;\n  iStack_b0 = unaff_s4;\n  pbStack_ac = pbVar18;\n  ppppbStack_a8 = (byte ****)unaff_s6;\n  ppppbStack_a4 = (byte ****)unaff_s7;\n  ppppbStack_a0 = (byte ****)unaff_s8;\n  pcStack_9c = pcVar20;\n  if (-1 < (int)pppppbVar15) {\n    uStack_d0._0_4_ = (byte *****)0x0;\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();\n    pppppbVar12 = uStack_d0._0_4_;\n    if (iVar5 != 0) goto LAB_0011cdbc;\n    lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n    uVar14 = (uint)lVar23;\n    (**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));\n    goto LAB_0011ceb8;\n  }\n  if (*(int *)(iVar6 + 0x100) != 0) {\n    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;\n    if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }\n  if (pppppbVar15 != (byte *****)0xffffffff) {\n    iVar10 = *(int *)(puVar21 + 0x3ee40);\n    goto LAB_0011cc20;\n  }\n  (**(code **)(puVar21 + 0x3ec08))(0);\n  iVar5 = 0;\nLAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  } while( true );\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "byte ****ppppbVar3;" (type_identifier "byte") (pointer_declarator "****ppppbVar3" (* "*") (pointer_declarator "***ppppbVar3" (* "*") (pointer_declarator "**ppppbVar3" (* "*") (pointer_declarator "*ppppbVar3" (* "*") (identifier "ppppbVar3"))))) (; ";")) (declaration "byte ****ppppbVar4;" (type_identifier "byte") (pointer_declarator "****ppppbVar4" (* "*") (pointer_declarator "***ppppbVar4" (* "*") (pointer_declarator "**ppppbVar4" (* "*") (pointer_declarator "*ppppbVar4" (* "*") (identifier "ppppbVar4"))))) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "byte bVar11;" (type_identifier "byte") (identifier "bVar11") (; ";")) (declaration "byte *****pppppbVar7;" (type_identifier "byte") (pointer_declarator "*****pppppbVar7" (* "*") (pointer_declarator "****pppppbVar7" (* "*") (pointer_declarator "***pppppbVar7" (* "*") (pointer_declarator "**pppppbVar7" (* "*") (pointer_declarator "*pppppbVar7" (* "*") (identifier "pppppbVar7")))))) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "byte *****pppppbVar12;" (type_identifier "byte") (pointer_declarator "*****pppppbVar12" (* "*") (pointer_declarator "****pppppbVar12" (* "*") (pointer_declarator "***pppppbVar12" (* "*") (pointer_declarator "**pppppbVar12" (* "*") (pointer_declarator "*pppppbVar12" (* "*") (identifier "pppppbVar12")))))) (; ";")) (declaration "byte *****pppppbVar13;" (type_identifier "byte") (pointer_declarator "*****pppppbVar13" (* "*") (pointer_declarator "****pppppbVar13" (* "*") (pointer_declarator "***pppppbVar13" (* "*") (pointer_declarator "**pppppbVar13" (* "*") (pointer_declarator "*pppppbVar13" (* "*") (identifier "pppppbVar13")))))) (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "byte *****pppppbVar15;" (type_identifier "byte") (pointer_declarator "*****pppppbVar15" (* "*") (pointer_declarator "****pppppbVar15" (* "*") (pointer_declarator "***pppppbVar15" (* "*") (pointer_declarator "**pppppbVar15" (* "*") (pointer_declarator "*pppppbVar15" (* "*") (identifier "pppppbVar15")))))) (; ";")) (declaration "byte *pbVar16;" (type_identifier "byte") (pointer_declarator "*pbVar16" (* "*") (identifier "pbVar16")) (; ";")) (declaration "byte *****unaff_s1;" (type_identifier "byte") (pointer_declarator "*****unaff_s1" (* "*") (pointer_declarator "****unaff_s1" (* "*") (pointer_declarator "***unaff_s1" (* "*") (pointer_declarator "**unaff_s1" (* "*") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")))))) (; ";")) (declaration "int *unaff_s3;" (primitive_type "int") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")) (; ";")) (declaration "int unaff_s4;" (primitive_type "int") (identifier "unaff_s4") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "byte *****unaff_s6;" (type_identifier "byte") (pointer_declarator "*****unaff_s6" (* "*") (pointer_declarator "****unaff_s6" (* "*") (pointer_declarator "***unaff_s6" (* "*") (pointer_declarator "**unaff_s6" (* "*") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")))))) (; ";")) (declaration "byte *****unaff_s7;" (type_identifier "byte") (pointer_declarator "*****unaff_s7" (* "*") (pointer_declarator "****unaff_s7" (* "*") (pointer_declarator "***unaff_s7" (* "*") (pointer_declarator "**unaff_s7" (* "*") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")))))) (; ";")) (declaration "code *pcVar20;" (type_identifier "code") (pointer_declarator "*pcVar20" (* "*") (identifier "pcVar20")) (; ";")) (declaration "undefined *puVar21;" (type_identifier "undefined") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "byte *****unaff_s8;" (type_identifier "byte") (pointer_declarator "*****unaff_s8" (* "*") (pointer_declarator "****unaff_s8" (* "*") (pointer_declarator "***unaff_s8" (* "*") (pointer_declarator "**unaff_s8" (* "*") (pointer_declarator "*unaff_s8" (* "*") (identifier "unaff_s8")))))) (; ";")) (declaration "uint uVar22;" (type_identifier "uint") (identifier "uVar22") (; ";")) (declaration "longlong lVar23;" (type_identifier "longlong") (identifier "lVar23") (; ";")) (declaration "undefined8 uVar24;" (type_identifier "undefined8") (identifier "uVar24") (; ";")) (declaration "undefined8 *puStack_e4;" (type_identifier "undefined8") (pointer_declarator "*puStack_e4" (* "*") (identifier "puStack_e4")) (; ";")) (declaration "undefined4 uStack_dc;" (type_identifier "undefined4") (identifier "uStack_dc") (; ";")) (declaration "undefined8 uStack_d8;" (type_identifier "undefined8") (identifier "uStack_d8") (; ";")) (declaration "undefined8 uStack_d0;" (type_identifier "undefined8") (identifier "uStack_d0") (; ";")) (declaration "int iStack_c4;" (primitive_type "int") (identifier "iStack_c4") (; ";")) (declaration "int iStack_c0;" (primitive_type "int") (identifier "iStack_c0") (; ";")) (declaration "byte ****ppppbStack_bc;" (type_identifier "byte") (pointer_declarator "****ppppbStack_bc" (* "*") (pointer_declarator "***ppppbStack_bc" (* "*") (pointer_declarator "**ppppbStack_bc" (* "*") (pointer_declarator "*ppppbStack_bc" (* "*") (identifier "ppppbStack_bc"))))) (; ";")) (declaration "byte ****ppppbStack_b8;" (type_identifier "byte") (pointer_declarator "****ppppbStack_b8" (* "*") (pointer_declarator "***ppppbStack_b8" (* "*") (pointer_declarator "**ppppbStack_b8" (* "*") (pointer_declarator "*ppppbStack_b8" (* "*") (identifier "ppppbStack_b8"))))) (; ";")) (declaration "int *piStack_b4;" (primitive_type "int") (pointer_declarator "*piStack_b4" (* "*") (identifier "piStack_b4")) (; ";")) (declaration "int iStack_b0;" (primitive_type "int") (identifier "iStack_b0") (; ";")) (declaration "byte *pbStack_ac;" (type_identifier "byte") (pointer_declarator "*pbStack_ac" (* "*") (identifier "pbStack_ac")) (; ";")) (declaration "byte ****ppppbStack_a8;" (type_identifier "byte") (pointer_declarator "****ppppbStack_a8" (* "*") (pointer_declarator "***ppppbStack_a8" (* "*") (pointer_declarator "**ppppbStack_a8" (* "*") (pointer_declarator "*ppppbStack_a8" (* "*") (identifier "ppppbStack_a8"))))) (; ";")) (declaration "byte ****ppppbStack_a4;" (type_identifier "byte") (pointer_declarator "****ppppbStack_a4" (* "*") (pointer_declarator "***ppppbStack_a4" (* "*") (pointer_declarator "**ppppbStack_a4" (* "*") (pointer_declarator "*ppppbStack_a4" (* "*") (identifier "ppppbStack_a4"))))) (; ";")) (declaration "byte ****ppppbStack_a0;" (type_identifier "byte") (pointer_declarator "****ppppbStack_a0" (* "*") (pointer_declarator "***ppppbStack_a0" (* "*") (pointer_declarator "**ppppbStack_a0" (* "*") (pointer_declarator "*ppppbStack_a0" (* "*") (identifier "ppppbStack_a0"))))) (; ";")) (declaration "code *pcStack_9c;" (type_identifier "code") (pointer_declarator "*pcStack_9c" (* "*") (identifier "pcStack_9c")) (; ";")) (declaration "byte ****local_88;" (type_identifier "byte") (pointer_declarator "****local_88" (* "*") (pointer_declarator "***local_88" (* "*") (pointer_declarator "**local_88" (* "*") (pointer_declarator "*local_88" (* "*") (identifier "local_88"))))) (; ";")) (declaration "byte ****local_84;" (type_identifier "byte") (pointer_declarator "****local_84" (* "*") (pointer_declarator "***local_84" (* "*") (pointer_declarator "**local_84" (* "*") (pointer_declarator "*local_84" (* "*") (identifier "local_84"))))) (; ";")) (declaration "int *local_80;" (primitive_type "int") (pointer_declarator "*local_80" (* "*") (identifier "local_80")) (; ";")) (declaration "int iStack_7c;" (primitive_type "int") (identifier "iStack_7c") (; ";")) (declaration "byte ****local_6c;" (type_identifier "byte") (pointer_declarator "****local_6c" (* "*") (pointer_declarator "***local_6c" (* "*") (pointer_declarator "**local_6c" (* "*") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c"))))) (; ";")) (declaration "byte ****local_64;" (type_identifier "byte") (pointer_declarator "****local_64" (* "*") (pointer_declarator "***local_64" (* "*") (pointer_declarator "**local_64" (* "*") (pointer_declarator "*local_64" (* "*") (identifier "local_64"))))) (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "byte ****local_40;" (type_identifier "byte") (pointer_declarator "****local_40" (* "*") (pointer_declarator "***local_40" (* "*") (pointer_declarator "**local_40" (* "*") (pointer_declarator "*local_40" (* "*") (identifier "local_40"))))) (; ";")) (declaration "byte ****local_3c;" (type_identifier "byte") (pointer_declarator "****local_3c" (* "*") (pointer_declarator "***local_3c" (* "*") (pointer_declarator "**local_3c" (* "*") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c"))))) (; ";")) (declaration "byte ****local_38;" (type_identifier "byte") (pointer_declarator "****local_38" (* "*") (pointer_declarator "***local_38" (* "*") (pointer_declarator "**local_38" (* "*") (pointer_declarator "*local_38" (* "*") (identifier "local_38"))))) (; ";")) (declaration "byte ****local_34;" (type_identifier "byte") (pointer_declarator "****local_34" (* "*") (pointer_declarator "***local_34" (* "*") (pointer_declarator "**local_34" (* "*") (pointer_declarator "*local_34" (* "*") (identifier "local_34"))))) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar21 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar21 = PTR___stack_chk_guard_0015ba2c" (identifier "puVar21") (= "=") (identifier "PTR___stack_chk_guard_0015ba2c")) (; ";")) (expression_statement "local_64 = (byte ****)param_6;" (assignment_expression "local_64 = (byte ****)param_6" (identifier "local_64") (= "=") (cast_expression "(byte ****)param_6" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "param_6"))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0015ba2c" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0015ba2c" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0015ba2c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0015ba2c")))) (; ";")) (expression_statement "pppppbVar7 = param_3;" (assignment_expression "pppppbVar7 = param_3" (identifier "pppppbVar7") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pppppbVar15 = param_4;" (assignment_expression "pppppbVar15 = param_4" (identifier "pppppbVar15") (= "=") (identifier "param_4")) (; ";")) (expression_statement "uVar14 = (uint)*(byte *)param_4;" (assignment_expression "uVar14 = (uint)*(byte *)param_4" (identifier "uVar14") (= "=") (binary_expression "(uint)*(byte *)param_4" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)param_4" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_4")))) (; ";")) (if_statement "if ((char)*(byte *)param_4 < '\0') {\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);\n    uVar14 = local_44;\n  }" (if "if") (parenthesized_expression "((char)*(byte *)param_4 < '\0')" (( "(") (binary_expression "(char)*(byte *)param_4 < '\0'" (cast_expression "(char)*(byte *)param_4" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)param_4" (* "*") (cast_expression "(byte *)param_4" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_4")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);\n    uVar14 = local_44;\n  }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);" (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" (( "(") (binary_expression "PTR_LAB_0015b65c + 0x1084" (identifier "PTR_LAB_0015b65c") (+ "+") (number_literal "0x1084")) () ")")))) () ")")) (argument_list "(param_4,&local_44)" (( "(") (identifier "param_4") (, ",") (pointer_expression "&local_44" (& "&") (identifier "local_44")) () ")"))) (; ";")) (expression_statement "uVar14 = local_44;" (assignment_expression "uVar14 = local_44" (identifier "uVar14") (= "=") (identifier "local_44")) (; ";")) (} "}"))) (expression_statement "local_44 = uVar14;" (assignment_expression "local_44 = uVar14" (identifier "local_44") (= "=") (identifier "uVar14")) (; ";")) (expression_statement "pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74)" (identifier "pcVar20") (= "=") (cast_expression "(code *)(PTR_LAB_0015b65c + 0xf74)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b65c + 0xf74)" (( "(") (binary_expression "PTR_LAB_0015b65c + 0xf74" (identifier "PTR_LAB_0015b65c") (+ "+") (number_literal "0xf74")) () ")")))) (; ";")) (expression_statement "pbVar16 = (byte *)((int)param_4 + param_5);" (assignment_expression "pbVar16 = (byte *)((int)param_4 + param_5)" (identifier "pbVar16") (= "=") (cast_expression "(byte *)((int)param_4 + param_5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_4 + param_5)" (( "(") (binary_expression "(int)param_4 + param_5" (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")) (+ "+") (identifier "param_5")) () ")")))) (; ";")) (expression_statement "pppppbVar13 = &local_38;" (assignment_expression "pppppbVar13 = &local_38" (identifier "pppppbVar13") (= "=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (; ";")) (expression_statement "iVar5 = (*pcVar20)(param_4,&local_38);" (assignment_expression "iVar5 = (*pcVar20)(param_4,&local_38)" (identifier "iVar5") (= "=") (call_expression "(*pcVar20)(param_4,&local_38)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(param_4,&local_38)" (( "(") (identifier "param_4") (, ",") (pointer_expression "&local_38" (& "&") (identifier "local_38")) () ")")))) (; ";")) (expression_statement "iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5));" (assignment_expression "iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5))" (identifier "iVar6") (= "=") (call_expression "(*pcVar20)((byte *)((int)param_4 + iVar5))" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "((byte *)((int)param_4 + iVar5))" (( "(") (cast_expression "(byte *)((int)param_4 + iVar5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_4 + iVar5)" (( "(") (binary_expression "(int)param_4 + iVar5" (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")) (+ "+") (identifier "iVar5")) () ")"))) () ")")))) (; ";")) (expression_statement "pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6;" (assignment_expression "pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6" (identifier "pbVar18") (= "=") (binary_expression "(byte *)((int)param_4 + iVar5) + iVar6" (cast_expression "(byte *)((int)param_4 + iVar5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_4 + iVar5)" (( "(") (binary_expression "(int)param_4 + iVar5" (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")) (+ "+") (identifier "iVar5")) () ")"))) (+ "+") (identifier "iVar6"))) (; ";")) (if_statement "if (pbVar16 < pbVar18) {\n    iVar5 = 0x10b;\n  }\n  else {\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }" (if "if") (parenthesized_expression "(pbVar16 < pbVar18)" (( "(") (binary_expression "pbVar16 < pbVar18" (identifier "pbVar16") (< "<") (identifier "pbVar18")) () ")")) (compound_statement "{\n    iVar5 = 0x10b;\n  }" ({ "{") (expression_statement "iVar5 = 0x10b;" (assignment_expression "iVar5 = 0x10b" (identifier "iVar5") (= "=") (number_literal "0x10b")) (; ";")) (} "}")) (else_clause "else {\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }" (else "else") (compound_statement "{\n    iVar5 = 0;\n    unaff_s3 = param_7;\n    unaff_s8 = param_6;\n    if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }\n    if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }\n    puVar2 = PTR_sqlite3_free_0015b620;\n    unaff_s4 = iVar5;\n    if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }\n    puVar2 = PTR_LAB_0015b6d4;\n    if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }\n  }" ({ "{") (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s3 = param_7;" (assignment_expression "unaff_s3 = param_7" (identifier "unaff_s3") (= "=") (identifier "param_7")) (; ";")) (expression_statement "unaff_s8 = param_6;" (assignment_expression "unaff_s8 = param_6" (identifier "unaff_s8") (= "=") (identifier "param_6")) (; ";")) (if_statement "if (pbVar18 < pbVar16) {\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }" (if "if") (parenthesized_expression "(pbVar18 < pbVar16)" (( "(") (binary_expression "pbVar18 < pbVar16" (identifier "pbVar18") (< "<") (identifier "pbVar16")) () ")")) (compound_statement "{\n      unaff_s1 = (byte *****)0x0;\n      pppppbVar13 = (byte *****)0x1;\n      unaff_s6 = &local_3c;\n      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);\n      local_6c = (byte ****)0x0;\n      unaff_s7 = &local_40;\n      unaff_s4 = iVar5;\nLAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);\n    }" ({ "{") (expression_statement "unaff_s1 = (byte *****)0x0;" (assignment_expression "unaff_s1 = (byte *****)0x0" (identifier "unaff_s1") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppbVar13 = (byte *****)0x1;" (assignment_expression "pppppbVar13 = (byte *****)0x1" (identifier "pppppbVar13") (= "=") (cast_expression "(byte *****)0x1" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "unaff_s6 = &local_3c;" (assignment_expression "unaff_s6 = &local_3c" (identifier "unaff_s6") (= "=") (pointer_expression "&local_3c" (& "&") (identifier "local_3c"))) (; ";")) (expression_statement "pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);" (assignment_expression "pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084)" (identifier "pcVar20") (= "=") (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" (( "(") (binary_expression "PTR_LAB_0015b65c + 0x1084" (identifier "PTR_LAB_0015b65c") (+ "+") (number_literal "0x1084")) () ")")))) (; ";")) (expression_statement "local_6c = (byte ****)0x0;" (assignment_expression "local_6c = (byte ****)0x0" (identifier "local_6c") (= "=") (cast_expression "(byte ****)0x0" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_s7 = &local_40;" (assignment_expression "unaff_s7 = &local_40" (identifier "unaff_s7") (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "unaff_s4 = iVar5;" (assignment_expression "unaff_s4 = iVar5" (identifier "unaff_s4") (= "=") (identifier "iVar5")) (; ";")) (labeled_statement "LAB_0011c5a0:\n      do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);" (statement_identifier "LAB_0011c5a0") (: ":") (do_statement "do {\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      } while (pbVar18 < pbVar16);" (do "do") (compound_statement "{\n        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;\n        bVar11 = *pbVar18;\n        pppppbVar12 = (byte *****)(uint)bVar11;\n        local_3c = (byte ****)0x0;\n        if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }\n        if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }\n        pbVar18 = pbVar18 + 1;\n        local_40 = (byte ****)pppppbVar12;\n        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;\nLAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;\n        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;\n        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);\n        pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));\n        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);\n        if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }\nLAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);\n        pbVar18 = pbVar18 + (int)local_40;\n        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);\n        pppppbVar7 = param_3;\n        if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }\n        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);\n        unaff_s4 = iVar5;\n        if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }\n        pppppbVar7 = (byte *****)((int)local_34 + 1);\n        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n        pppppbVar13 = (byte *****)0x0;\n        local_34 = (byte ****)pppppbVar7;\n      }" ({ "{") (if_statement "if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;" (if "if") (parenthesized_expression "((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0))" (( "(") (binary_expression "(unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)" (parenthesized_expression "(unaff_s8 == (byte *****)0x0)" (( "(") (binary_expression "unaff_s8 == (byte *****)0x0" (identifier "unaff_s8") (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(unaff_s3 == (int *)0x0)" (( "(") (binary_expression "unaff_s3 == (int *)0x0" (identifier "unaff_s3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (goto_statement "goto LAB_0011c878;" (goto "goto") (statement_identifier "LAB_0011c878") (; ";"))) (expression_statement "bVar11 = *pbVar18;" (assignment_expression "bVar11 = *pbVar18" (identifier "bVar11") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (; ";")) (expression_statement "pppppbVar12 = (byte *****)(uint)bVar11;" (assignment_expression "pppppbVar12 = (byte *****)(uint)bVar11" (identifier "pppppbVar12") (= "=") (cast_expression "(byte *****)(uint)bVar11" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (cast_expression "(uint)bVar11" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar11")))) (; ";")) (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" (identifier "local_3c") (= "=") (cast_expression "(byte ****)0x0" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (pppppbVar13 == (byte *****)0x0) {\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }" (if "if") (parenthesized_expression "(pppppbVar13 == (byte *****)0x0)" (( "(") (binary_expression "pppppbVar13 == (byte *****)0x0" (identifier "pppppbVar13") (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }\n          pbVar18 = pbVar18 + iVar5;\n          bVar11 = *pbVar18;\n          pppppbVar12 = (byte *****)(uint)bVar11;\n        }" ({ "{") (if_statement "if ((char)bVar11 < '\0') {\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }\n          else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }" (if "if") (parenthesized_expression "((char)bVar11 < '\0')" (( "(") (binary_expression "(char)bVar11 < '\0'" (cast_expression "(char)bVar11" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar11")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            pppppbVar13 = unaff_s6;\n            iVar5 = (*pcVar20)(pbVar18,unaff_s6);\n          }" ({ "{") (expression_statement "pppppbVar13 = unaff_s6;" (assignment_expression "pppppbVar13 = unaff_s6" (identifier "pppppbVar13") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "iVar5 = (*pcVar20)(pbVar18,unaff_s6);" (assignment_expression "iVar5 = (*pcVar20)(pbVar18,unaff_s6)" (identifier "iVar5") (= "=") (call_expression "(*pcVar20)(pbVar18,unaff_s6)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(pbVar18,unaff_s6)" (( "(") (identifier "pbVar18") (, ",") (identifier "unaff_s6") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }" (else "else") (compound_statement "{\n            iVar5 = 1;\n            local_3c = (byte ****)pppppbVar12;\n          }" ({ "{") (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_3c = (byte ****)pppppbVar12;" (assignment_expression "local_3c = (byte ****)pppppbVar12" (identifier "local_3c") (= "=") (cast_expression "(byte ****)pppppbVar12" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppbVar12"))) (; ";")) (} "}")))) (expression_statement "pbVar18 = pbVar18 + iVar5;" (assignment_expression "pbVar18 = pbVar18 + iVar5" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + iVar5" (identifier "pbVar18") (+ "+") (identifier "iVar5"))) (; ";")) (expression_statement "bVar11 = *pbVar18;" (assignment_expression "bVar11 = *pbVar18" (identifier "bVar11") (= "=") (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18"))) (; ";")) (expression_statement "pppppbVar12 = (byte *****)(uint)bVar11;" (assignment_expression "pppppbVar12 = (byte *****)(uint)bVar11" (identifier "pppppbVar12") (= "=") (cast_expression "(byte *****)(uint)bVar11" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (cast_expression "(uint)bVar11" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar11")))) (; ";")) (} "}"))) (if_statement "if ((char)bVar11 < '\0') {\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }" (if "if") (parenthesized_expression "((char)bVar11 < '\0')" (( "(") (binary_expression "(char)bVar11 < '\0'" (cast_expression "(char)bVar11" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar11")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          pppppbVar13 = unaff_s7;\n          iVar5 = (*pcVar20)(pbVar18,unaff_s7);\n          pbVar18 = pbVar18 + iVar5;\n          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;\nLAB_0011c7f0:\n          iVar5 = 0x10b;\nLAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n          goto LAB_0011c804;\n        }" ({ "{") (expression_statement "pppppbVar13 = unaff_s7;" (assignment_expression "pppppbVar13 = unaff_s7" (identifier "pppppbVar13") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "iVar5 = (*pcVar20)(pbVar18,unaff_s7);" (assignment_expression "iVar5 = (*pcVar20)(pbVar18,unaff_s7)" (identifier "iVar5") (= "=") (call_expression "(*pcVar20)(pbVar18,unaff_s7)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(pbVar18,unaff_s7)" (( "(") (identifier "pbVar18") (, ",") (identifier "unaff_s7") () ")")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + iVar5;" (assignment_expression "pbVar18 = pbVar18 + iVar5" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + iVar5" (identifier "pbVar18") (+ "+") (identifier "iVar5"))) (; ";")) (if_statement "if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;" (if "if") (parenthesized_expression "((int)local_3c <= (int)pbVar18 - (int)param_4)" (( "(") (binary_expression "(int)local_3c <= (int)pbVar18 - (int)param_4" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (<= "<=") (binary_expression "(int)pbVar18 - (int)param_4" (cast_expression "(int)pbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar18")) (- "-") (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")))) () ")")) (goto_statement "goto LAB_0011c5f8;" (goto "goto") (statement_identifier "LAB_0011c5f8") (; ";"))) (labeled_statement "LAB_0011c7f0:\n          iVar5 = 0x10b;" (statement_identifier "LAB_0011c7f0") (: ":") (expression_statement "iVar5 = 0x10b;" (assignment_expression "iVar5 = 0x10b" (identifier "iVar5") (= "=") (number_literal "0x10b")) (; ";"))) (labeled_statement "LAB_0011c7f4:\n          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" (statement_identifier "LAB_0011c7f4") (: ":") (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" (* "*") (cast_expression "(code *)PTR_sqlite3_free_0015b620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_free_0015b620"))) () ")")) (argument_list "(unaff_s4)" (( "(") (identifier "unaff_s4") () ")"))) (; ";"))) (goto_statement "goto LAB_0011c804;" (goto "goto") (statement_identifier "LAB_0011c804") (; ";")) (} "}"))) (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_40 = (byte ****)pppppbVar12;" (assignment_expression "local_40 = (byte ****)pppppbVar12" (identifier "local_40") (= "=") (cast_expression "(byte ****)pppppbVar12" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppbVar12"))) (; ";")) (if_statement "if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;" (if "if") (parenthesized_expression "((int)pbVar18 - (int)param_4 < (int)local_3c)" (( "(") (binary_expression "(int)pbVar18 - (int)param_4 < (int)local_3c" (binary_expression "(int)pbVar18 - (int)param_4" (cast_expression "(int)pbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar18")) (- "-") (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4"))) (< "<") (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c"))) () ")")) (goto_statement "goto LAB_0011c7f0;" (goto "goto") (statement_identifier "LAB_0011c7f0") (; ";"))) (labeled_statement "LAB_0011c5f8:\n        pppppbVar7 = (byte *****)local_40;" (statement_identifier "LAB_0011c5f8") (: ":") (expression_statement "pppppbVar7 = (byte *****)local_40;" (assignment_expression "pppppbVar7 = (byte *****)local_40" (identifier "pppppbVar7") (= "=") (cast_expression "(byte *****)local_40" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_40"))) (; ";"))) (if_statement "if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;" (if "if") (parenthesized_expression "((int)pbVar16 - (int)pbVar18 < (int)local_40)" (( "(") (binary_expression "(int)pbVar16 - (int)pbVar18 < (int)local_40" (binary_expression "(int)pbVar16 - (int)pbVar18" (cast_expression "(int)pbVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar16")) (- "-") (cast_expression "(int)pbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar18"))) (< "<") (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40"))) () ")")) (goto_statement "goto LAB_0011c7f0;" (goto "goto") (statement_identifier "LAB_0011c7f0") (; ";"))) (expression_statement "pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);" (assignment_expression "pppppbVar15 = (byte *****)((int)local_3c + (int)local_40)" (identifier "pppppbVar15") (= "=") (cast_expression "(byte *****)((int)local_3c + (int)local_40)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)local_3c + (int)local_40)" (( "(") (binary_expression "(int)local_3c + (int)local_40" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (+ "+") (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40"))) () ")")))) (; ";")) (expression_statement "pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));" (assignment_expression "pppppbVar7 = (byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f))" (identifier "pppppbVar7") (= "=") (cast_expression "(byte *****)\n                     ((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f))" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f))" (( "(") (binary_expression "(uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f)" (binary_expression "(uint)(pppppbVar15 < local_3c) +\n                     ((int)local_3c >> 0x1f)" (call_expression "(uint)(pppppbVar15 < local_3c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pppppbVar15 < local_3c)" (( "(") (binary_expression "pppppbVar15 < local_3c" (identifier "pppppbVar15") (< "<") (identifier "local_3c")) () ")"))) (+ "+") (parenthesized_expression "((int)local_3c >> 0x1f)" (( "(") (binary_expression "(int)local_3c >> 0x1f" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (>> ">>") (number_literal "0x1f")) () ")"))) (+ "+") (parenthesized_expression "((int)local_40 >> 0x1f)" (( "(") (binary_expression "(int)local_40 >> 0x1f" (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (expression_statement "pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);" (assignment_expression "pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7)" (identifier "pppppbVar13") (= "=") (cast_expression "(byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(uint)((int)unaff_s1 < (int)pppppbVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)unaff_s1 < (int)pppppbVar7)" (( "(") (binary_expression "(int)unaff_s1 < (int)pppppbVar7" (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1")) (< "<") (cast_expression "(int)pppppbVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar7"))) () ")"))))) (; ";")) (if_statement "if ((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))) {\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }" (if "if") (parenthesized_expression "((pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0))))" (( "(") (binary_expression "(pppppbVar13 != (byte *****)0x0) ||\n           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))" (parenthesized_expression "(pppppbVar13 != (byte *****)0x0)" (( "(") (binary_expression "pppppbVar13 != (byte *****)0x0" (identifier "pppppbVar13") (!= "!=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)))" (( "(") (parenthesized_expression "(iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0))" (( "(") (comma_expression "iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)" (assignment_expression "iVar5 = unaff_s4" (identifier "iVar5") (= "=") (identifier "unaff_s4")) (, ",") (binary_expression "pppppbVar7 == unaff_s1 &&\n            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)" (binary_expression "pppppbVar7 == unaff_s1" (identifier "pppppbVar7") (== "==") (identifier "unaff_s1")) (&& "&&") (parenthesized_expression "(pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0)" (( "(") (comma_expression "pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),\n            pppppbVar13 != (byte *****)0x0" (assignment_expression "pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15)" (identifier "pppppbVar13") (= "=") (cast_expression "(byte *****)(uint)(local_6c < pppppbVar15)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(uint)(local_6c < pppppbVar15)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_6c < pppppbVar15)" (( "(") (binary_expression "local_6c < pppppbVar15" (identifier "local_6c") (< "<") (identifier "pppppbVar15")) () ")"))))) (, ",") (binary_expression "pppppbVar13 != (byte *****)0x0" (identifier "pppppbVar13") (!= "!=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0")))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n          local_6c = (byte ****)((int)pppppbVar15 * 2);\n          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);\n          pppppbVar7 = unaff_s1;\n          pppppbVar15 = (byte *****)local_6c;\n          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);\n          if (iVar5 != 0) goto LAB_0011c684;\n          iVar5 = 7;\n          goto LAB_0011c7f4;\n        }" ({ "{") (expression_statement "local_6c = (byte ****)((int)pppppbVar15 * 2);" (assignment_expression "local_6c = (byte ****)((int)pppppbVar15 * 2)" (identifier "local_6c") (= "=") (cast_expression "(byte ****)((int)pppppbVar15 * 2)" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)pppppbVar15 * 2)" (( "(") (binary_expression "(int)pppppbVar15 * 2" (cast_expression "(int)pppppbVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar15")) (* "*") (number_literal "2")) () ")")))) (; ";")) (expression_statement "unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);" (assignment_expression "unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2)" (identifier "unaff_s1") (= "=") (cast_expression "(byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2)" (( "(") (binary_expression "(uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2" (binary_expression "(uint)pppppbVar15 >> 0x1f" (cast_expression "(uint)pppppbVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppbVar15")) (>> ">>") (number_literal "0x1f")) (| "|") (binary_expression "(int)pppppbVar7 * 2" (cast_expression "(int)pppppbVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar7")) (* "*") (number_literal "2"))) () ")")))) (; ";")) (expression_statement "pppppbVar7 = unaff_s1;" (assignment_expression "pppppbVar7 = unaff_s1" (identifier "pppppbVar7") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "pppppbVar15 = (byte *****)local_6c;" (assignment_expression "pppppbVar15 = (byte *****)local_6c" (identifier "pppppbVar15") (= "=") (cast_expression "(byte *****)local_6c" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_6c"))) (; ";")) (expression_statement "iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);" (assignment_expression "iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_realloc64_0015b764)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_realloc64_0015b764" (* "*") (cast_expression "(code *)PTR_sqlite3_realloc64_0015b764" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_realloc64_0015b764"))) () ")")) (argument_list "(unaff_s4)" (( "(") (identifier "unaff_s4") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) goto LAB_0011c684;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011c684;" (goto "goto") (statement_identifier "LAB_0011c684") (; ";"))) (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" (identifier "iVar5") (= "=") (number_literal "7")) (; ";")) (goto_statement "goto LAB_0011c7f4;" (goto "goto") (statement_identifier "LAB_0011c7f4") (; ";")) (} "}"))) (labeled_statement "LAB_0011c684:\n        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);" (statement_identifier "LAB_0011c684") (: ":") (expression_statement "(*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);" (call_expression "(*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" (( "(") (pointer_expression "*(code *)PTR_memcpy_0015ba30" (* "*") (cast_expression "(code *)PTR_memcpy_0015ba30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_0015ba30"))) () ")")) (argument_list "((byte *)((int)local_3c + iVar5),pbVar18,local_40)" (( "(") (cast_expression "(byte *)((int)local_3c + iVar5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_3c + iVar5)" (( "(") (binary_expression "(int)local_3c + iVar5" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (+ "+") (identifier "iVar5")) () ")"))) (, ",") (identifier "pbVar18") (, ",") (identifier "local_40") () ")"))) (; ";"))) (expression_statement "pbVar18 = pbVar18 + (int)local_40;" (assignment_expression "pbVar18 = pbVar18 + (int)local_40" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (int)local_40" (identifier "pbVar18") (+ "+") (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40")))) (; ";")) (expression_statement "pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);" (assignment_expression "pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c)" (identifier "pppppbVar15") (= "=") (cast_expression "(byte *****)((int)local_40 + (int)local_3c)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)local_40 + (int)local_3c)" (( "(") (binary_expression "(int)local_40 + (int)local_3c" (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40")) (+ "+") (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c"))) () ")")))) (; ";")) (expression_statement "pppppbVar7 = param_3;" (assignment_expression "pppppbVar7 = param_3" (identifier "pppppbVar7") (= "=") (identifier "param_3")) (; ";")) (if_statement "if ((int)pppppbVar15 < (int)param_3) {\n          pppppbVar7 = pppppbVar15;\n        }" (if "if") (parenthesized_expression "((int)pppppbVar15 < (int)param_3)" (( "(") (binary_expression "(int)pppppbVar15 < (int)param_3" (cast_expression "(int)pppppbVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar15")) (< "<") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3"))) () ")")) (compound_statement "{\n          pppppbVar7 = pppppbVar15;\n        }" ({ "{") (expression_statement "pppppbVar7 = pppppbVar15;" (assignment_expression "pppppbVar7 = pppppbVar15" (identifier "pppppbVar7") (= "=") (identifier "pppppbVar15")) (; ";")) (} "}"))) (expression_statement "iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);" (assignment_expression "iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7)" (parenthesized_expression "(*(code *)PTR_memcmp_0015ba1c)" (( "(") (pointer_expression "*(code *)PTR_memcmp_0015ba1c" (* "*") (cast_expression "(code *)PTR_memcmp_0015ba1c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcmp_0015ba1c"))) () ")")) (argument_list "(param_2,iVar5,pppppbVar7)" (( "(") (identifier "param_2") (, ",") (identifier "iVar5") (, ",") (identifier "pppppbVar7") () ")")))) (; ";")) (expression_statement "unaff_s4 = iVar5;" (assignment_expression "unaff_s4 = iVar5" (identifier "unaff_s4") (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (unaff_s8 == (byte *****)0x0) {\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }\n        else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }" (if "if") (parenthesized_expression "(unaff_s8 == (byte *****)0x0)" (( "(") (binary_expression "unaff_s8 == (byte *****)0x0" (identifier "unaff_s8") (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);\n          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }\n          *unaff_s3 = (int)local_38;\n          unaff_s3[1] = (int)local_34;\n          unaff_s3 = (int *)0x0;\n        }" ({ "{") (labeled_statement "LAB_0011c700:\n          pppppbVar7 = (byte *****)((int)local_34 + 1);" (statement_identifier "LAB_0011c700") (: ":") (expression_statement "pppppbVar7 = (byte *****)((int)local_34 + 1);" (assignment_expression "pppppbVar7 = (byte *****)((int)local_34 + 1)" (identifier "pppppbVar7") (= "=") (cast_expression "(byte *****)((int)local_34 + 1)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)local_34 + 1)" (( "(") (binary_expression "(int)local_34 + 1" (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (if_statement "if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }" (if "if") (parenthesized_expression "((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6))" (( "(") (binary_expression "(unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)" (parenthesized_expression "(unaff_s3 == (int *)0x0)" (( "(") (binary_expression "unaff_s3 == (int *)0x0" (identifier "unaff_s3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(unaff_s8 = (byte *****)0x0, -1 < iVar6)" (( "(") (comma_expression "unaff_s8 = (byte *****)0x0, -1 < iVar6" (assignment_expression "unaff_s8 = (byte *****)0x0" (identifier "unaff_s8") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (, ",") (binary_expression "-1 < iVar6" (number_literal "-1") (< "<") (identifier "iVar6"))) () ")"))) () ")")) (compound_statement "{\n            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);\n            unaff_s8 = (byte *****)0x0;\n            pppppbVar13 = (byte *****)0x0;\n            local_34 = (byte ****)pppppbVar7;\n            if (pbVar16 <= pbVar18) break;\n            goto LAB_0011c5a0;\n          }" ({ "{") (expression_statement "local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);" (assignment_expression "local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38)" (identifier "local_38") (= "=") (cast_expression "(byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38)" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((uint)(pppppbVar7 < local_34) + (int)local_38)" (( "(") (binary_expression "(uint)(pppppbVar7 < local_34) + (int)local_38" (call_expression "(uint)(pppppbVar7 < local_34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pppppbVar7 < local_34)" (( "(") (binary_expression "pppppbVar7 < local_34" (identifier "pppppbVar7") (< "<") (identifier "local_34")) () ")"))) (+ "+") (cast_expression "(int)local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_38"))) () ")")))) (; ";")) (expression_statement "unaff_s8 = (byte *****)0x0;" (assignment_expression "unaff_s8 = (byte *****)0x0" (identifier "unaff_s8") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppbVar13 = (byte *****)0x0;" (assignment_expression "pppppbVar13 = (byte *****)0x0" (identifier "pppppbVar13") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_34 = (byte ****)pppppbVar7;" (assignment_expression "local_34 = (byte ****)pppppbVar7" (identifier "local_34") (= "=") (cast_expression "(byte ****)pppppbVar7" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppbVar7"))) (; ";")) (if_statement "if (pbVar16 <= pbVar18) break;" (if "if") (parenthesized_expression "(pbVar16 <= pbVar18)" (( "(") (binary_expression "pbVar16 <= pbVar18" (identifier "pbVar16") (<= "<=") (identifier "pbVar18")) () ")")) (break_statement "break;" (break "break") (; ";"))) (goto_statement "goto LAB_0011c5a0;" (goto "goto") (statement_identifier "LAB_0011c5a0") (; ";")) (} "}"))) (expression_statement "*unaff_s3 = (int)local_38;" (assignment_expression "*unaff_s3 = (int)local_38" (pointer_expression "*unaff_s3" (* "*") (identifier "unaff_s3")) (= "=") (cast_expression "(int)local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_38"))) (; ";")) (expression_statement "unaff_s3[1] = (int)local_34;" (assignment_expression "unaff_s3[1] = (int)local_34" (subscript_expression "unaff_s3[1]" (identifier "unaff_s3") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34"))) (; ";")) (expression_statement "unaff_s3 = (int *)0x0;" (assignment_expression "unaff_s3 = (int *)0x0" (identifier "unaff_s3") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }" (else "else") (if_statement "if ((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))) {\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }" (if "if") (parenthesized_expression "((iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0))))" (( "(") (binary_expression "(iVar6 < 0) ||\n                ((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))" (parenthesized_expression "(iVar6 < 0)" (( "(") (binary_expression "iVar6 < 0" (identifier "iVar6") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)))" (( "(") (parenthesized_expression "(iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0))" (( "(") (binary_expression "iVar6 == 0 &&\n                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)" (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0)" (( "(") (comma_expression "pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),\n                 pppppbVar15 != (byte *****)0x0" (assignment_expression "pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15)" (identifier "pppppbVar15") (= "=") (cast_expression "(byte *****)(uint)((int)param_3 < (int)pppppbVar15)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(uint)((int)param_3 < (int)pppppbVar15)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)param_3 < (int)pppppbVar15)" (( "(") (binary_expression "(int)param_3 < (int)pppppbVar15" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (< "<") (cast_expression "(int)pppppbVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar15"))) () ")"))))) (, ",") (binary_expression "pppppbVar15 != (byte *****)0x0" (identifier "pppppbVar15") (!= "!=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          *unaff_s8 = local_38;\n          unaff_s8[1] = local_34;\n          goto LAB_0011c700;\n        }" ({ "{") (expression_statement "*unaff_s8 = local_38;" (assignment_expression "*unaff_s8 = local_38" (pointer_expression "*unaff_s8" (* "*") (identifier "unaff_s8")) (= "=") (identifier "local_38")) (; ";")) (expression_statement "unaff_s8[1] = local_34;" (assignment_expression "unaff_s8[1] = local_34" (subscript_expression "unaff_s8[1]" (identifier "unaff_s8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_34")) (; ";")) (goto_statement "goto LAB_0011c700;" (goto "goto") (statement_identifier "LAB_0011c700") (; ";")) (} "}"))))) (expression_statement "pppppbVar7 = (byte *****)((int)local_34 + 1);" (assignment_expression "pppppbVar7 = (byte *****)((int)local_34 + 1)" (identifier "pppppbVar7") (= "=") (cast_expression "(byte *****)((int)local_34 + 1)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)local_34 + 1)" (( "(") (binary_expression "(int)local_34 + 1" (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);" (assignment_expression "local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38)" (identifier "local_38") (= "=") (cast_expression "(byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38)" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((uint)(pppppbVar7 < local_34) + (int)local_38)" (( "(") (binary_expression "(uint)(pppppbVar7 < local_34) + (int)local_38" (call_expression "(uint)(pppppbVar7 < local_34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pppppbVar7 < local_34)" (( "(") (binary_expression "pppppbVar7 < local_34" (identifier "pppppbVar7") (< "<") (identifier "local_34")) () ")"))) (+ "+") (cast_expression "(int)local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_38"))) () ")")))) (; ";")) (expression_statement "pppppbVar13 = (byte *****)0x0;" (assignment_expression "pppppbVar13 = (byte *****)0x0" (identifier "pppppbVar13") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_34 = (byte ****)pppppbVar7;" (assignment_expression "local_34 = (byte ****)pppppbVar7" (identifier "local_34") (= "=") (cast_expression "(byte ****)pppppbVar7" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppbVar7"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar18 < pbVar16)" (( "(") (binary_expression "pbVar18 < pbVar16" (identifier "pbVar18") (< "<") (identifier "pbVar16")) () ")")) (; ";"))) (} "}"))) (if_statement "if (unaff_s8 != (byte *****)0x0) {\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }" (if "if") (parenthesized_expression "(unaff_s8 != (byte *****)0x0)" (( "(") (binary_expression "unaff_s8 != (byte *****)0x0" (identifier "unaff_s8") (!= "!=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      unaff_s8[1] = local_34;\n      *unaff_s8 = local_38;\n    }" ({ "{") (expression_statement "unaff_s8[1] = local_34;" (assignment_expression "unaff_s8[1] = local_34" (subscript_expression "unaff_s8[1]" (identifier "unaff_s8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*unaff_s8 = local_38;" (assignment_expression "*unaff_s8 = local_38" (pointer_expression "*unaff_s8" (* "*") (identifier "unaff_s8")) (= "=") (identifier "local_38")) (; ";")) (} "}"))) (expression_statement "puVar2 = PTR_sqlite3_free_0015b620;" (assignment_expression "puVar2 = PTR_sqlite3_free_0015b620" (identifier "puVar2") (= "=") (identifier "PTR_sqlite3_free_0015b620")) (; ";")) (expression_statement "unaff_s4 = iVar5;" (assignment_expression "unaff_s4 = iVar5" (identifier "unaff_s4") (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (unaff_s3 == (int *)0x0) {\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }\n    else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }" (if "if") (parenthesized_expression "(unaff_s3 == (int *)0x0)" (( "(") (binary_expression "unaff_s3 == (int *)0x0" (identifier "unaff_s3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);\n    }" ({ "{") (labeled_statement "LAB_0011c878:\n      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" (statement_identifier "LAB_0011c878") (: ":") (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" (* "*") (cast_expression "(code *)PTR_sqlite3_free_0015b620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_free_0015b620"))) () ")")) (argument_list "(unaff_s4)" (( "(") (identifier "unaff_s4") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }" (else "else") (compound_statement "{\n      unaff_s3[1] = (int)local_34;\n      *unaff_s3 = (int)local_38;\n      (*(code *)puVar2)(iVar5);\n    }" ({ "{") (expression_statement "unaff_s3[1] = (int)local_34;" (assignment_expression "unaff_s3[1] = (int)local_34" (subscript_expression "unaff_s3[1]" (identifier "unaff_s3") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34"))) (; ";")) (expression_statement "*unaff_s3 = (int)local_38;" (assignment_expression "*unaff_s3 = (int)local_38" (pointer_expression "*unaff_s3" (* "*") (identifier "unaff_s3")) (= "=") (cast_expression "(int)local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_38"))) (; ";")) (expression_statement "(*(code *)puVar2)(iVar5);" (call_expression "(*(code *)puVar2)(iVar5)" (parenthesized_expression "(*(code *)puVar2)" (( "(") (pointer_expression "*(code *)puVar2" (* "*") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar2 = PTR_LAB_0015b6d4;" (assignment_expression "puVar2 = PTR_LAB_0015b6d4" (identifier "puVar2") (= "=") (identifier "PTR_LAB_0015b6d4")) (; ";")) (if_statement "if ((int)local_44 < 2) {\n      iVar5 = 0;\n    }\n    else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }" (if "if") (parenthesized_expression "((int)local_44 < 2)" (( "(") (binary_expression "(int)local_44 < 2" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      iVar5 = 0;\n    }" ({ "{") (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }" (else "else") (compound_statement "{\n      local_3c = (byte ****)0x0;\n      local_38 = (byte ****)0x0;\n      if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }\n      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);\n      param_4 = &local_3c;\n      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n    }" ({ "{") (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" (identifier "local_3c") (= "=") (cast_expression "(byte ****)0x0" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_38 = (byte ****)0x0;" (assignment_expression "local_38 = (byte ****)0x0" (identifier "local_38") (= "=") (cast_expression "(byte ****)0x0" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (param_6 == (byte *****)0x0) {\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }\n      else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }" (if "if") (parenthesized_expression "(param_6 == (byte *****)0x0)" (( "(") (binary_expression "param_6 == (byte *****)0x0" (identifier "param_6") (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0011c928:\n        local_64 = (byte ****)0x0;\n        pppppbVar7 = (byte *****)*param_7;\n        pppppbVar15 = (byte *****)param_7[1];\nLAB_0011c938:\n        local_3c = (byte ****)0x0;\n        local_88 = (byte ****)&local_3c;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }\n      }" ({ "{") (labeled_statement "LAB_0011c928:\n        local_64 = (byte ****)0x0;" (statement_identifier "LAB_0011c928") (: ":") (expression_statement "local_64 = (byte ****)0x0;" (assignment_expression "local_64 = (byte ****)0x0" (identifier "local_64") (= "=") (cast_expression "(byte ****)0x0" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "pppppbVar7 = (byte *****)*param_7;" (assignment_expression "pppppbVar7 = (byte *****)*param_7" (identifier "pppppbVar7") (= "=") (cast_expression "(byte *****)*param_7" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "*param_7" (* "*") (identifier "param_7")))) (; ";")) (expression_statement "pppppbVar15 = (byte *****)param_7[1];" (assignment_expression "pppppbVar15 = (byte *****)param_7[1]" (identifier "pppppbVar15") (= "=") (cast_expression "(byte *****)param_7[1]" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]")))) (; ";")) (labeled_statement "LAB_0011c938:\n        local_3c = (byte ****)0x0;" (statement_identifier "LAB_0011c938") (: ":") (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" (identifier "local_3c") (= "=") (cast_expression "(byte ****)0x0" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "local_88 = (byte ****)&local_3c;" (assignment_expression "local_88 = (byte ****)&local_3c" (identifier "local_88") (= "=") (cast_expression "(byte ****)&local_3c" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")))) (; ";")) (expression_statement "local_80 = (int *)0x0;" (assignment_expression "local_80 = (int *)0x0" (identifier "local_80") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_84 = (byte ****)&local_38;" (assignment_expression "local_84 = (byte ****)&local_38" (identifier "local_84") (= "=") (cast_expression "(byte ****)&local_38" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "&local_38" (& "&") (identifier "local_38")))) (; ";")) (expression_statement "iVar5 = FUN_0011c2d4(param_1);" (assignment_expression "iVar5 = FUN_0011c2d4(param_1)" (identifier "iVar5") (= "=") (call_expression "FUN_0011c2d4(param_1)" (identifier "FUN_0011c2d4") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_80 = param_7;\n          local_84 = local_64;\n          local_88 = local_38;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n        }" ({ "{") (expression_statement "local_80 = param_7;" (assignment_expression "local_80 = param_7" (identifier "local_80") (= "=") (identifier "param_7")) (; ";")) (expression_statement "local_84 = local_64;" (assignment_expression "local_84 = local_64" (identifier "local_84") (= "=") (identifier "local_64")) (; ";")) (expression_statement "local_88 = local_38;" (assignment_expression "local_88 = local_38" (identifier "local_88") (= "=") (identifier "local_38")) (; ";")) (expression_statement "pppppbVar15 = (byte *****)local_3c;" (assignment_expression "pppppbVar15 = (byte *****)local_3c" (identifier "pppppbVar15") (= "=") (cast_expression "(byte *****)local_3c" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_3c"))) (; ";")) (expression_statement "iVar5 = FUN_0011c4ac(param_1,param_2);" (assignment_expression "iVar5 = FUN_0011c4ac(param_1,param_2)" (identifier "iVar5") (= "=") (call_expression "FUN_0011c4ac(param_1,param_2)" (identifier "FUN_0011c4ac") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "pppppbVar13 = param_2;" (assignment_expression "pppppbVar13 = param_2" (identifier "pppppbVar13") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pppppbVar7 = param_3;" (assignment_expression "pppppbVar7 = param_3" (identifier "pppppbVar7") (= "=") (identifier "param_3")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }" (else "else") (compound_statement "{\n        pppppbVar7 = (byte *****)*param_6;\n        pppppbVar15 = (byte *****)param_6[1];\n        if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;\n        local_80 = (int *)0x0;\n        local_84 = (byte ****)&local_38;\n        iVar5 = FUN_0011c2d4(param_1);\n        if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }\n      }" ({ "{") (expression_statement "pppppbVar7 = (byte *****)*param_6;" (assignment_expression "pppppbVar7 = (byte *****)*param_6" (identifier "pppppbVar7") (= "=") (cast_expression "(byte *****)*param_6" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "*param_6" (* "*") (identifier "param_6")))) (; ";")) (expression_statement "pppppbVar15 = (byte *****)param_6[1];" (assignment_expression "pppppbVar15 = (byte *****)param_6[1]" (identifier "pppppbVar15") (= "=") (cast_expression "(byte *****)param_6[1]" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "param_6[1]" (identifier "param_6") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;" (if "if") (parenthesized_expression "((param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15))))" (( "(") (binary_expression "(param_7 == (int *)0x0) ||\n           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))" (parenthesized_expression "(param_7 == (int *)0x0)" (( "(") (binary_expression "param_7 == (int *)0x0" (identifier "param_7") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)))" (( "(") (parenthesized_expression "(local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15))" (( "(") (comma_expression "local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)" (assignment_expression "local_88 = (byte ****)&local_3c" (identifier "local_88") (= "=") (cast_expression "(byte ****)&local_3c" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")))) (, ",") (binary_expression "(byte *****)*param_7 == pppppbVar7 &&\n            ((byte *****)param_7[1] == pppppbVar15)" (binary_expression "(byte *****)*param_7 == pppppbVar7" (cast_expression "(byte *****)*param_7" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "*param_7" (* "*") (identifier "param_7"))) (== "==") (identifier "pppppbVar7")) (&& "&&") (parenthesized_expression "((byte *****)param_7[1] == pppppbVar15)" (( "(") (binary_expression "(byte *****)param_7[1] == pppppbVar15" (cast_expression "(byte *****)param_7[1]" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]"))) (== "==") (identifier "pppppbVar15")) () ")")))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0011c938;" (goto "goto") (statement_identifier "LAB_0011c938") (; ";"))) (expression_statement "local_80 = (int *)0x0;" (assignment_expression "local_80 = (int *)0x0" (identifier "local_80") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_84 = (byte ****)&local_38;" (assignment_expression "local_84 = (byte ****)&local_38" (identifier "local_84") (= "=") (cast_expression "(byte ****)&local_38" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "&local_38" (& "&") (identifier "local_38")))) (; ";")) (expression_statement "iVar5 = FUN_0011c2d4(param_1);" (assignment_expression "iVar5 = FUN_0011c2d4(param_1)" (identifier "iVar5") (= "=") (call_expression "FUN_0011c2d4(param_1)" (identifier "FUN_0011c2d4") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }\n        else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_84 = (byte ****)param_6;\n          local_80 = (int *)0x0;\n          local_88 = local_38;\n          pppppbVar13 = param_2;\n          pppppbVar7 = param_3;\n          pppppbVar15 = (byte *****)local_3c;\n          iVar5 = FUN_0011c4ac(param_1,param_2);\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n          if (iVar5 == 0) goto LAB_0011c928;\n        }" ({ "{") (expression_statement "local_84 = (byte ****)param_6;" (assignment_expression "local_84 = (byte ****)param_6" (identifier "local_84") (= "=") (cast_expression "(byte ****)param_6" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "param_6"))) (; ";")) (expression_statement "local_80 = (int *)0x0;" (assignment_expression "local_80 = (int *)0x0" (identifier "local_80") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_88 = local_38;" (assignment_expression "local_88 = local_38" (identifier "local_88") (= "=") (identifier "local_38")) (; ";")) (expression_statement "pppppbVar13 = param_2;" (assignment_expression "pppppbVar13 = param_2" (identifier "pppppbVar13") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pppppbVar7 = param_3;" (assignment_expression "pppppbVar7 = param_3" (identifier "pppppbVar7") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pppppbVar15 = (byte *****)local_3c;" (assignment_expression "pppppbVar15 = (byte *****)local_3c" (identifier "pppppbVar15") (= "=") (cast_expression "(byte *****)local_3c" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_3c"))) (; ";")) (expression_statement "iVar5 = FUN_0011c4ac(param_1,param_2);" (assignment_expression "iVar5 = FUN_0011c4ac(param_1,param_2)" (identifier "iVar5") (= "=") (call_expression "FUN_0011c4ac(param_1,param_2)" (identifier "FUN_0011c4ac") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(local_3c);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(local_3c)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" (* "*") (cast_expression "(code *)PTR_sqlite3_free_0015b620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_free_0015b620"))) () ")")) (argument_list "(local_3c)" (( "(") (identifier "local_3c") () ")"))) (; ";")) (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" (identifier "local_3c") (= "=") (cast_expression "(byte ****)0x0" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (iVar5 == 0) goto LAB_0011c928;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011c928;" (goto "goto") (statement_identifier "LAB_0011c928") (; ";"))) (} "}")) (else_clause "else {\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }" (else "else") (compound_statement "{\n          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);\n          local_3c = (byte ****)0x0;\n        }" ({ "{") (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(local_3c);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(local_3c)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" (* "*") (cast_expression "(code *)PTR_sqlite3_free_0015b620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_free_0015b620"))) () ")")) (argument_list "(local_3c)" (( "(") (identifier "local_3c") () ")"))) (; ";")) (expression_statement "local_3c = (byte ****)0x0;" (assignment_expression "local_3c = (byte ****)0x0" (identifier "local_3c") (= "=") (cast_expression "(byte ****)0x0" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "unaff_s1 = (byte *****)(puVar2 + -0x3d2c);" (assignment_expression "unaff_s1 = (byte *****)(puVar2 + -0x3d2c)" (identifier "unaff_s1") (= "=") (cast_expression "(byte *****)(puVar2 + -0x3d2c)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(puVar2 + -0x3d2c)" (( "(") (binary_expression "puVar2 + -0x3d2c" (identifier "puVar2") (+ "+") (number_literal "-0x3d2c")) () ")")))) (; ";")) (expression_statement "param_4 = &local_3c;" (assignment_expression "param_4 = &local_3c" (identifier "param_4") (= "=") (pointer_expression "&local_3c" (& "&") (identifier "local_3c"))) (; ";")) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(local_3c);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(local_3c)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" (* "*") (cast_expression "(code *)PTR_sqlite3_free_0015b620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_free_0015b620"))) () ")")) (argument_list "(local_3c)" (( "(") (identifier "local_3c") () ")"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_0011c804:\n  if (local_2c == *(int *)puVar21) {\n    return iVar5;\n  }" (statement_identifier "LAB_0011c804") (: ":") (if_statement "if (local_2c == *(int *)puVar21) {\n    return iVar5;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar21)" (( "(") (binary_expression "local_2c == *(int *)puVar21" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar21" (* "*") (cast_expression "(int *)puVar21" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar21")))) () ")")) (compound_statement "{\n    return iVar5;\n  }" ({ "{") (return_statement "return iVar5;" (return "return") (identifier "iVar5") (; ";")) (} "}")))) (expression_statement "pcVar20 = FUN_0011ca40;" (assignment_expression "pcVar20 = FUN_0011ca40" (identifier "pcVar20") (= "=") (identifier "FUN_0011ca40")) (; ";")) (expression_statement "iVar6 = local_2c;" (assignment_expression "iVar6 = local_2c" (identifier "iVar6") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar21 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar21 = PTR___stack_chk_fail_0015ba10" (identifier "puVar21") (= "=") (identifier "PTR___stack_chk_fail_0015ba10")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0015ba10"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppbVar4 = local_84;" (assignment_expression "ppppbVar4 = local_84" (identifier "ppppbVar4") (= "=") (identifier "local_84")) (; ";")) (expression_statement "ppppbVar3 = local_88;" (assignment_expression "ppppbVar3 = local_88" (identifier "ppppbVar3") (= "=") (identifier "local_88")) (; ";")) (expression_statement "piVar8 = *(int **)(puVar21 + 0x3efec);" (assignment_expression "piVar8 = *(int **)(puVar21 + 0x3efec)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(puVar21 + 0x3efec)" (* "*") (cast_expression "(int **)(puVar21 + 0x3efec)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3efec)" (( "(") (binary_expression "puVar21 + 0x3efec" (identifier "puVar21") (+ "+") (number_literal "0x3efec")) () ")"))))) (; ";")) (expression_statement "iStack_c4 = *piVar8;" (assignment_expression "iStack_c4 = *piVar8" (identifier "iStack_c4") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "iStack_c0 = iVar5;" (assignment_expression "iStack_c0 = iVar5" (identifier "iStack_c0") (= "=") (identifier "iVar5")) (; ";")) (expression_statement "ppppbStack_bc = (byte ****)unaff_s1;" (assignment_expression "ppppbStack_bc = (byte ****)unaff_s1" (identifier "ppppbStack_bc") (= "=") (cast_expression "(byte ****)unaff_s1" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "unaff_s1"))) (; ";")) (expression_statement "ppppbStack_b8 = (byte ****)param_4;" (assignment_expression "ppppbStack_b8 = (byte ****)param_4" (identifier "ppppbStack_b8") (= "=") (cast_expression "(byte ****)param_4" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "param_4"))) (; ";")) (expression_statement "piStack_b4 = unaff_s3;" (assignment_expression "piStack_b4 = unaff_s3" (identifier "piStack_b4") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "iStack_b0 = unaff_s4;" (assignment_expression "iStack_b0 = unaff_s4" (identifier "iStack_b0") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "pbStack_ac = pbVar18;" (assignment_expression "pbStack_ac = pbVar18" (identifier "pbStack_ac") (= "=") (identifier "pbVar18")) (; ";")) (expression_statement "ppppbStack_a8 = (byte ****)unaff_s6;" (assignment_expression "ppppbStack_a8 = (byte ****)unaff_s6" (identifier "ppppbStack_a8") (= "=") (cast_expression "(byte ****)unaff_s6" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "unaff_s6"))) (; ";")) (expression_statement "ppppbStack_a4 = (byte ****)unaff_s7;" (assignment_expression "ppppbStack_a4 = (byte ****)unaff_s7" (identifier "ppppbStack_a4") (= "=") (cast_expression "(byte ****)unaff_s7" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "unaff_s7"))) (; ";")) (expression_statement "ppppbStack_a0 = (byte ****)unaff_s8;" (assignment_expression "ppppbStack_a0 = (byte ****)unaff_s8" (identifier "ppppbStack_a0") (= "=") (cast_expression "(byte ****)unaff_s8" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "unaff_s8"))) (; ";")) (expression_statement "pcStack_9c = pcVar20;" (assignment_expression "pcStack_9c = pcVar20" (identifier "pcStack_9c") (= "=") (identifier "pcVar20")) (; ";")) (if_statement "if (-1 < (int)pppppbVar15) {\n    uStack_d0._0_4_ = (byte *****)0x0;\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();\n    pppppbVar12 = uStack_d0._0_4_;\n    if (iVar5 != 0) goto LAB_0011cdbc;\n    lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n    uVar14 = (uint)lVar23;\n    (**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));\n    goto LAB_0011ceb8;\n  }" (if "if") (parenthesized_expression "(-1 < (int)pppppbVar15)" (( "(") (binary_expression "-1 < (int)pppppbVar15" (number_literal "-1") (< "<") (cast_expression "(int)pppppbVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar15"))) () ")")) (compound_statement "{\n    uStack_d0._0_4_ = (byte *****)0x0;\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();\n    pppppbVar12 = uStack_d0._0_4_;\n    if (iVar5 != 0) goto LAB_0011cdbc;\n    lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n    uVar14 = (uint)lVar23;\n    (**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));\n    goto LAB_0011ceb8;\n  }" ({ "{") (expression_statement "uStack_d0._0_4_ = (byte *****)0x0;" (assignment_expression "uStack_d0._0_4_ = (byte *****)0x0" (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();" (assignment_expression "iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))()" (identifier "iVar5") (= "=") (call_expression "(*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))()" (parenthesized_expression "(*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20)" (* "*") (cast_expression "(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + 0x3ee40) + 0x7f20)" (( "(") (binary_expression "*(int *)(puVar21 + 0x3ee40) + 0x7f20" (pointer_expression "*(int *)(puVar21 + 0x3ee40)" (* "*") (cast_expression "(int *)(puVar21 + 0x3ee40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x3ee40)" (( "(") (binary_expression "puVar21 + 0x3ee40" (identifier "puVar21") (+ "+") (number_literal "0x3ee40")) () ")")))) (+ "+") (number_literal "0x7f20")) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pppppbVar12 = uStack_d0._0_4_;" (assignment_expression "pppppbVar12 = uStack_d0._0_4_" (identifier "pppppbVar12") (= "=") (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_"))) (; ";")) (if_statement "if (iVar5 != 0) goto LAB_0011cdbc;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011cdbc;" (goto "goto") (statement_identifier "LAB_0011cdbc") (; ";"))) (expression_statement "lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);" (assignment_expression "lVar23 = (longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (identifier "lVar23") (= "=") (binary_expression "(longlong)(int)pppppbVar7 +\n             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (cast_expression "(longlong)(int)pppppbVar7" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (cast_expression "(int)pppppbVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar7"))) (+ "+") (binary_expression "(longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (binary_expression "(longlong)(int)pppppbVar13 * (longlong)" (cast_expression "(longlong)(int)pppppbVar13" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (cast_expression "(int)pppppbVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar13"))) (* "*") (parenthesized_expression "(longlong)" (( "(") (identifier "longlong") () ")"))) (* "*") (cast_expression "(int *)(iVar6 + 0xfc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xfc)" (( "(") (binary_expression "iVar6 + 0xfc" (identifier "iVar6") (+ "+") (number_literal "0xfc")) () ")")))))) (; ";")) (expression_statement "uVar14 = (uint)lVar23;" (assignment_expression "uVar14 = (uint)lVar23" (identifier "uVar14") (= "=") (cast_expression "(uint)lVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar23"))) (; ";")) (expression_statement "(**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f));" (call_expression "(**(code **)(puVar21 + 0x3edb8))\n              (uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f))" (parenthesized_expression "(**(code **)(puVar21 + 0x3edb8))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3edb8)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3edb8)" (* "*") (cast_expression "(code **)(puVar21 + 0x3edb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3edb8)" (( "(") (binary_expression "puVar21 + 0x3edb8" (identifier "puVar21") (+ "+") (number_literal "0x3edb8")) () ")"))))) () ")")) (argument_list "(uStack_d0._0_4_,1,\n               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f))" (( "(") (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_")) (, ",") (number_literal "1") (, ",") (binary_expression "(uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +\n               ((int)pppppbVar15 >> 0x1f)" (binary_expression "(uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +\n               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10)" (call_expression "(uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400))" (( "(") (binary_expression "pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)" (binary_expression "pppppbVar15 + uVar14 * 0x100" (identifier "pppppbVar15") (+ "+") (binary_expression "uVar14 * 0x100" (identifier "uVar14") (* "*") (number_literal "0x100"))) (< "<") (cast_expression "(byte *****)(uVar14 * 0x400)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(uVar14 * 0x400)" (( "(") (binary_expression "uVar14 * 0x400" (identifier "uVar14") (* "*") (number_literal "0x400")) () ")")))) () ")"))) (+ "+") (parenthesized_expression "(uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10)" (( "(") (binary_expression "uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10" (binary_expression "uVar14 >> 0x16" (identifier "uVar14") (>> ">>") (number_literal "0x16")) (| "|") (binary_expression "(int)((ulonglong)lVar23 >> 0x20) << 10" (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar23")) (>> ">>") (number_literal "0x20")) () ")"))) (<< "<<") (number_literal "10"))) () ")"))) (+ "+") (parenthesized_expression "((int)pppppbVar15 >> 0x1f)" (( "(") (binary_expression "(int)pppppbVar15 >> 0x1f" (cast_expression "(int)pppppbVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar15")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")"))) (; ";")) (goto_statement "goto LAB_0011ceb8;" (goto "goto") (statement_identifier "LAB_0011ceb8") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar6 + 0x100) != 0) {\n    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;\n    if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0x100) != 0)" (( "(") (binary_expression "*(int *)(iVar6 + 0x100) != 0" (pointer_expression "*(int *)(iVar6 + 0x100)" (* "*") (cast_expression "(int *)(iVar6 + 0x100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x100)" (( "(") (binary_expression "iVar6 + 0x100" (identifier "iVar6") (+ "+") (number_literal "0x100")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;\n    if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }\n  }" ({ "{") (expression_statement "iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;" (assignment_expression "iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18" (identifier "iVar5") (= "=") (binary_expression "*(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18" (pointer_expression "*(int *)(iVar6 + 0x100)" (* "*") (cast_expression "(int *)(iVar6 + 0x100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x100)" (( "(") (binary_expression "iVar6 + 0x100" (identifier "iVar6") (+ "+") (number_literal "0x100")) () ")")))) (+ "+") (binary_expression "(int)pppppbVar7 * 0x18" (cast_expression "(int)pppppbVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar7")) (* "*") (number_literal "0x18")))) (; ";")) (if_statement "if (local_80 == (int *)0x0 && iStack_7c == 0) {\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }\n    else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }" (if "if") (parenthesized_expression "(local_80 == (int *)0x0 && iStack_7c == 0)" (( "(") (binary_expression "local_80 == (int *)0x0 && iStack_7c == 0" (binary_expression "local_80 == (int *)0x0" (identifier "local_80") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "iStack_7c == 0" (identifier "iStack_7c") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n      uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);\n      if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }\n    }" ({ "{") (expression_statement "uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);" (assignment_expression "uStack_d0._0_4_ =\n           (byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84)" (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(byte *****)\n           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84)" (parenthesized_expression "(*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24)" (* "*") (cast_expression "(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + 0x3ec80) + -0x2c24)" (( "(") (binary_expression "*(int *)(puVar21 + 0x3ec80) + -0x2c24" (pointer_expression "*(int *)(puVar21 + 0x3ec80)" (* "*") (cast_expression "(int *)(puVar21 + 0x3ec80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x3ec80)" (( "(") (binary_expression "puVar21 + 0x3ec80" (identifier "puVar21") (+ "+") (number_literal "0x3ec80")) () ")")))) (+ "+") (number_literal "-0x2c24")) () ")")))) () ")")) (argument_list "(iVar5 + 4,local_88,local_84)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) (, ",") (identifier "local_88") (, ",") (identifier "local_84") () ")"))))) (; ";")) (if_statement "if (uStack_d0._0_4_ != (byte *****)0x0) {\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }" (if "if") (parenthesized_expression "(uStack_d0._0_4_ != (byte *****)0x0)" (( "(") (binary_expression "uStack_d0._0_4_ != (byte *****)0x0" (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_")) (!= "!=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);\n        if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }\n        (**(code **)(puVar21 + 0x3ec08))(0);\n        iVar5 = 7;\n        goto LAB_0011cde0;\n      }" ({ "{") (expression_statement "puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);" (assignment_expression "puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar21 + 0x3ed20))(0,0x68)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ed20))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ed20)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ed20)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ed20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ed20)" (( "(") (binary_expression "puVar21 + 0x3ed20" (identifier "puVar21") (+ "+") (number_literal "0x3ed20")) () ")"))))) () ")")) (argument_list "(0,0x68)" (( "(") (number_literal "0") (, ",") (number_literal "0x68") () ")"))))) (; ";")) (if_statement "if (puVar9 != (undefined4 *)0x0) {\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }" (if "if") (parenthesized_expression "(puVar9 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar9 != (undefined4 *)0x0" (identifier "puVar9") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);\n          *puVar9 = 0x7fffffff;\n          puVar9[0xe] = puVar9 + 0x18;\n          uVar14 = (uint)(puVar9 + 0x18) & 3;\n          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);\n          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;\n          uVar14 = (int)puVar9 + 99U & 3;\n          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);\n          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;\n          goto LAB_0011cd88;\n        }" ({ "{") (expression_statement "(**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);" (call_expression "(**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ef74))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ef74)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ef74)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ef74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ef74)" (( "(") (binary_expression "puVar21 + 0x3ef74" (identifier "puVar21") (+ "+") (number_literal "0x3ef74")) () ")"))))) () ")")) (argument_list "(puVar9 + 1,0,100)" (( "(") (binary_expression "puVar9 + 1" (identifier "puVar9") (+ "+") (number_literal "1")) (, ",") (number_literal "0") (, ",") (number_literal "100") () ")"))) (; ";")) (expression_statement "*puVar9 = 0x7fffffff;" (assignment_expression "*puVar9 = 0x7fffffff" (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (= "=") (number_literal "0x7fffffff")) (; ";")) (expression_statement "puVar9[0xe] = puVar9 + 0x18;" (assignment_expression "puVar9[0xe] = puVar9 + 0x18" (subscript_expression "puVar9[0xe]" (identifier "puVar9") ([ "[") (number_literal "0xe") (] "]")) (= "=") (binary_expression "puVar9 + 0x18" (identifier "puVar9") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "uVar14 = (uint)(puVar9 + 0x18) & 3;" (assignment_expression "uVar14 = (uint)(puVar9 + 0x18) & 3" (identifier "uVar14") (= "=") (binary_expression "(uint)(puVar9 + 0x18) & 3" (call_expression "(uint)(puVar9 + 0x18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar9 + 0x18)" (( "(") (binary_expression "puVar9 + 0x18" (identifier "puVar9") (+ "+") (number_literal "0x18")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);" (assignment_expression "puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14)" (identifier "puVar1") (= "=") (cast_expression "(uint *)((int)(puVar9 + 0x18) - uVar14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)(puVar9 + 0x18) - uVar14)" (( "(") (binary_expression "(int)(puVar9 + 0x18) - uVar14" (cast_expression "(int)(puVar9 + 0x18)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar9 + 0x18)" (( "(") (binary_expression "puVar9 + 0x18" (identifier "puVar9") (+ "+") (number_literal "0x18")) () ")"))) (- "-") (identifier "uVar14")) () ")")))) (; ";")) (expression_statement "*puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;" (assignment_expression "*puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8" (binary_expression "*puVar1 & -1 << (4 - uVar14) * 8" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (& "&") (binary_expression "-1 << (4 - uVar14) * 8" (number_literal "-1") (<< "<<") (binary_expression "(4 - uVar14) * 8" (parenthesized_expression "(4 - uVar14)" (( "(") (binary_expression "4 - uVar14" (number_literal "4") (- "-") (identifier "uVar14")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "(uint)uStack_d0._0_4_ >> uVar14 * 8" (cast_expression "(uint)uStack_d0._0_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_"))) (>> ">>") (binary_expression "uVar14 * 8" (identifier "uVar14") (* "*") (number_literal "8"))))) (; ";")) (expression_statement "uVar14 = (int)puVar9 + 99U & 3;" (assignment_expression "uVar14 = (int)puVar9 + 99U & 3" (identifier "uVar14") (= "=") (binary_expression "(int)puVar9 + 99U & 3" (binary_expression "(int)puVar9 + 99U" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "99U")) (& "&") (number_literal "3"))) (; ";")) (expression_statement "puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);" (assignment_expression "puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(((int)puVar9 + 99U) - uVar14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((int)puVar9 + 99U) - uVar14)" (( "(") (binary_expression "((int)puVar9 + 99U) - uVar14" (parenthesized_expression "((int)puVar9 + 99U)" (( "(") (binary_expression "(int)puVar9 + 99U" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "99U")) () ")")) (- "-") (identifier "uVar14")) () ")")))) (; ";")) (expression_statement "*puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;" (assignment_expression "*puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (binary_expression "*puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |\n                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8" (binary_expression "*puVar1 & 0xffffffffU >> (uVar14 + 1) * 8" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (& "&") (binary_expression "0xffffffffU >> (uVar14 + 1) * 8" (number_literal "0xffffffffU") (>> ">>") (binary_expression "(uVar14 + 1) * 8" (parenthesized_expression "(uVar14 + 1)" (( "(") (binary_expression "uVar14 + 1" (identifier "uVar14") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "(int)uStack_d0._0_4_ << (3 - uVar14) * 8" (cast_expression "(int)uStack_d0._0_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_"))) (<< "<<") (binary_expression "(3 - uVar14) * 8" (parenthesized_expression "(3 - uVar14)" (( "(") (binary_expression "3 - uVar14" (number_literal "3") (- "-") (identifier "uVar14")) () ")")) (* "*") (number_literal "8"))))) (; ";")) (goto_statement "goto LAB_0011cd88;" (goto "goto") (statement_identifier "LAB_0011cd88") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar21 + 0x3ec08))(0);" (call_expression "(**(code **)(puVar21 + 0x3ec08))(0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec08))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ec08)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ec08)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ec08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ec08)" (( "(") (binary_expression "puVar21 + 0x3ec08" (identifier "puVar21") (+ "+") (number_literal "0x3ec08")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" (identifier "iVar5") (= "=") (number_literal "7")) (; ";")) (goto_statement "goto LAB_0011cde0;" (goto "goto") (statement_identifier "LAB_0011cde0") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }" (else "else") (compound_statement "{\n      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);\n      if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }\n    }" ({ "{") (expression_statement "uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);" (assignment_expression "uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc)" (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_")) (= "=") (pointer_expression "*(byte ******)(iVar5 + 0xc)" (* "*") (cast_expression "(byte ******)(iVar5 + 0xc)" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (uStack_d0._0_4_ == (byte *****)0x0) {\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }\n      else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }" (if "if") (parenthesized_expression "(uStack_d0._0_4_ == (byte *****)0x0)" (( "(") (binary_expression "uStack_d0._0_4_ == (byte *****)0x0" (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_")) (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (**(code **)(puVar21 + 0x3ebe0))(0);\n      }" ({ "{") (expression_statement "(**(code **)(puVar21 + 0x3ebe0))(0);" (call_expression "(**(code **)(puVar21 + 0x3ebe0))(0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebe0))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ebe0)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ebe0)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ebe0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ebe0)" (( "(") (binary_expression "puVar21 + 0x3ebe0" (identifier "puVar21") (+ "+") (number_literal "0x3ebe0")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }" (else "else") (compound_statement "{\n        iVar10 = 0;\n        iVar5 = 0;\n        pppppbVar12 = (byte *****)0x0;\n        do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);\n        if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }\n        if (iVar19 != 0) goto LAB_0011d154;\n        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\n      }" ({ "{") (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppbVar12 = (byte *****)0x0;" (assignment_expression "pppppbVar12 = (byte *****)0x0" (identifier "pppppbVar12") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        } while (uStack_d0._0_4_ != (byte *****)0x0);" (do "do") (compound_statement "{\n          unaff_s7 = pppppbVar12;\n          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }\n          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;\n          iVar5 = iVar19;\n          pppppbVar12 = unaff_s7;\n        }" ({ "{") (expression_statement "unaff_s7 = pppppbVar12;" (assignment_expression "unaff_s7 = pppppbVar12" (identifier "unaff_s7") (= "=") (identifier "pppppbVar12")) (; ";")) (if_statement "if (((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))) {\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }" (if "if") (parenthesized_expression "(((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              ))))" (( "(") (binary_expression "((byte *****)ppppbVar4 == (byte *****)0x0) ||\n             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))" (parenthesized_expression "((byte *****)ppppbVar4 == (byte *****)0x0)" (( "(") (binary_expression "(byte *****)ppppbVar4 == (byte *****)0x0" (cast_expression "(byte *****)ppppbVar4" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbVar4")) (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )))" (( "(") (parenthesized_expression "(iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              ))" (( "(") (comma_expression "iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )" (assignment_expression "iVar19 = iVar5" (identifier "iVar19") (= "=") (identifier "iVar5")) (, ",") (binary_expression "(int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&\n              (iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )" (binary_expression "(int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4]" (cast_expression "(int)ppppbVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppbVar4")) (<= "<=") (cast_expression "(int)((byte ****)uStack_d0._0_4_)[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((byte ****)uStack_d0._0_4_)[4]" (parenthesized_expression "((byte ****)uStack_d0._0_4_)" (( "(") (cast_expression "(byte ****)uStack_d0._0_4_" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_"))) () ")")) ([ "[") (number_literal "4") (] "]")))) (&& "&&") (parenthesized_expression "(iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0\n              )" (( "(") (comma_expression "iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0" (assignment_expression "iVar17 = (**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(puVar21 + 0x3efdc))\n                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4)" (parenthesized_expression "(**(code **)(puVar21 + 0x3efdc))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3efdc)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3efdc)" (* "*") (cast_expression "(code **)(puVar21 + 0x3efdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3efdc)" (( "(") (binary_expression "puVar21 + 0x3efdc" (identifier "puVar21") (+ "+") (number_literal "0x3efdc")) () ")"))))) () ")")) (argument_list "(((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4)" (( "(") (subscript_expression "((byte ****)uStack_d0._0_4_)[3]" (parenthesized_expression "((byte ****)uStack_d0._0_4_)" (( "(") (cast_expression "(byte ****)uStack_d0._0_4_" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_"))) () ")")) ([ "[") (number_literal "3") (] "]")) (, ",") (identifier "ppppbVar3") (, ",") (identifier "ppppbVar4") () ")")))) (, ",") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n            if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }\n            iVar19 = iVar5 + 1;\n            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;\n          }" ({ "{") (if_statement "if (iVar10 == iVar5) {\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }" (if "if") (parenthesized_expression "(iVar10 == iVar5)" (( "(") (binary_expression "iVar10 == iVar5" (identifier "iVar10") (== "==") (identifier "iVar5")) () ")")) (compound_statement "{\n              iVar10 = iVar10 + 0x10;\n              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);\n              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;\n            }" ({ "{") (expression_statement "iVar10 = iVar10 + 0x10;" (assignment_expression "iVar10 = iVar10 + 0x10" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 0x10" (identifier "iVar10") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);" (assignment_expression "unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4)" (identifier "unaff_s7") (= "=") (cast_expression "(byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebb0))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ebb0)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ebb0)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ebb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ebb0)" (( "(") (binary_expression "puVar21 + 0x3ebb0" (identifier "puVar21") (+ "+") (number_literal "0x3ebb0")) () ")"))))) () ")")) (argument_list "(pppppbVar12,iVar10 * 4)" (( "(") (identifier "pppppbVar12") (, ",") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;" (if "if") (parenthesized_expression "(unaff_s7 == (byte *****)0x0)" (( "(") (binary_expression "unaff_s7 == (byte *****)0x0" (identifier "unaff_s7") (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0011ce24;" (goto "goto") (statement_identifier "LAB_0011ce24") (; ";"))) (} "}"))) (expression_statement "iVar19 = iVar5 + 1;" (assignment_expression "iVar19 = iVar5 + 1" (identifier "iVar19") (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;" (assignment_expression "unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_" (subscript_expression "unaff_s7[iVar5]" (identifier "unaff_s7") ([ "[") (identifier "iVar5") (] "]")) (= "=") (cast_expression "(byte ****)uStack_d0._0_4_" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_")))) (; ";")) (} "}"))) (expression_statement "uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;" (assignment_expression "uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_" (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(byte *****)*uStack_d0._0_4_" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "*uStack_d0._0_4_" (* "*") (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_"))))) (; ";")) (expression_statement "iVar5 = iVar19;" (assignment_expression "iVar5 = iVar19" (identifier "iVar5") (= "=") (identifier "iVar19")) (; ";")) (expression_statement "pppppbVar12 = unaff_s7;" (assignment_expression "pppppbVar12 = unaff_s7" (identifier "pppppbVar12") (= "=") (identifier "unaff_s7")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uStack_d0._0_4_ != (byte *****)0x0)" (( "(") (binary_expression "uStack_d0._0_4_ != (byte *****)0x0" (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_")) (!= "!=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (1 < iVar19) {\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }" (if "if") (parenthesized_expression "(1 < iVar19)" (( "(") (binary_expression "1 < iVar19" (number_literal "1") (< "<") (identifier "iVar19")) () ")")) (compound_statement "{\n          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);\n          goto LAB_0011cd08;\n        }" ({ "{") (expression_statement "(**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);" (call_expression "(**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ef48))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ef48)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ef48)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ef48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ef48)" (( "(") (binary_expression "puVar21 + 0x3ef48" (identifier "puVar21") (+ "+") (number_literal "0x3ef48")) () ")"))))) () ")")) (argument_list "(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0)" (( "(") (identifier "unaff_s7") (, ",") (identifier "iVar19") (, ",") (number_literal "4") (, ",") (binary_expression "*(int *)(puVar21 + 0x3ec98) + -0x76d0" (pointer_expression "*(int *)(puVar21 + 0x3ec98)" (* "*") (cast_expression "(int *)(puVar21 + 0x3ec98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x3ec98)" (( "(") (binary_expression "puVar21 + 0x3ec98" (identifier "puVar21") (+ "+") (number_literal "0x3ec98")) () ")")))) (+ "+") (number_literal "-0x76d0")) () ")"))) (; ";")) (goto_statement "goto LAB_0011cd08;" (goto "goto") (statement_identifier "LAB_0011cd08") (; ";")) (} "}"))) (if_statement "if (iVar19 != 0) goto LAB_0011d154;" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011d154;" (goto "goto") (statement_identifier "LAB_0011d154") (; ";"))) (expression_statement "(**(code **)(puVar21 + 0x3ebe0))(unaff_s7);" (call_expression "(**(code **)(puVar21 + 0x3ebe0))(unaff_s7)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebe0))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ebe0)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ebe0)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ebe0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ebe0)" (( "(") (binary_expression "puVar21 + 0x3ebe0" (identifier "puVar21") (+ "+") (number_literal "0x3ebe0")) () ")"))))) () ")")) (argument_list "(unaff_s7)" (( "(") (identifier "unaff_s7") () ")"))) (; ";")) (} "}")))) (} "}")))) (} "}"))) (if_statement "if (pppppbVar15 != (byte *****)0xffffffff) {\n    iVar10 = *(int *)(puVar21 + 0x3ee40);\n    goto LAB_0011cc20;\n  }" (if "if") (parenthesized_expression "(pppppbVar15 != (byte *****)0xffffffff)" (( "(") (binary_expression "pppppbVar15 != (byte *****)0xffffffff" (identifier "pppppbVar15") (!= "!=") (cast_expression "(byte *****)0xffffffff" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n    iVar10 = *(int *)(puVar21 + 0x3ee40);\n    goto LAB_0011cc20;\n  }" ({ "{") (expression_statement "iVar10 = *(int *)(puVar21 + 0x3ee40);" (assignment_expression "iVar10 = *(int *)(puVar21 + 0x3ee40)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(puVar21 + 0x3ee40)" (* "*") (cast_expression "(int *)(puVar21 + 0x3ee40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x3ee40)" (( "(") (binary_expression "puVar21 + 0x3ee40" (identifier "puVar21") (+ "+") (number_literal "0x3ee40")) () ")"))))) (; ";")) (goto_statement "goto LAB_0011cc20;" (goto "goto") (statement_identifier "LAB_0011cc20") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar21 + 0x3ec08))(0);" (call_expression "(**(code **)(puVar21 + 0x3ec08))(0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec08))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ec08)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ec08)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ec08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ec08)" (( "(") (binary_expression "puVar21 + 0x3ec08" (identifier "puVar21") (+ "+") (number_literal "0x3ec08")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0011cde0:\n  do {\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  } while( true );" (statement_identifier "LAB_0011cde0") (: ":") (do_statement "do {\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  } while( true );" (do "do") (compound_statement "{\n    while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }\n    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);\n    puVar9[0xe] = puVar9 + 0x18;\n    pcVar20 = *(code **)(puVar21 + 0x3eff0);\n    *puVar9 = 0x7fffffff;\n    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);\n    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);\nLAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);\n    if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }\nLAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);\n    pppppbVar15 = pppppbVar12;\n    if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }\n  }" ({ "{") (while_statement "while( true ) {\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }\n      (**(code **)(puVar21 + 0x3efd0))();\nLAB_0011d154:\n      iVar19 = 1;\nLAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;\n      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);\n      pppppbVar12 = unaff_s7;\n      if (iVar5 != 0) break;\nLAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);\n      (**(code **)(puVar21 + 0x3ec08))(0);\n      iVar5 = 7;\n      unaff_s7 = pppppbVar12;\n    }" ({ "{") (if_statement "if (iStack_c4 == *piVar8) {\n        return iVar5;\n      }" (if "if") (parenthesized_expression "(iStack_c4 == *piVar8)" (( "(") (binary_expression "iStack_c4 == *piVar8" (identifier "iStack_c4") (== "==") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) () ")")) (compound_statement "{\n        return iVar5;\n      }" ({ "{") (return_statement "return iVar5;" (return "return") (identifier "iVar5") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar21 + 0x3efd0))();" (call_expression "(**(code **)(puVar21 + 0x3efd0))()" (parenthesized_expression "(**(code **)(puVar21 + 0x3efd0))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3efd0)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3efd0)" (* "*") (cast_expression "(code **)(puVar21 + 0x3efd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3efd0)" (( "(") (binary_expression "puVar21 + 0x3efd0" (identifier "puVar21") (+ "+") (number_literal "0x3efd0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0011d154:\n      iVar19 = 1;" (statement_identifier "LAB_0011d154") (: ":") (expression_statement "iVar19 = 1;" (assignment_expression "iVar19 = 1" (identifier "iVar19") (= "=") (number_literal "1")) (; ";"))) (labeled_statement "LAB_0011cd08:\n      iVar10 = (iVar19 + 0x19) * 4;" (statement_identifier "LAB_0011cd08") (: ":") (expression_statement "iVar10 = (iVar19 + 0x19) * 4;" (assignment_expression "iVar10 = (iVar19 + 0x19) * 4" (identifier "iVar10") (= "=") (binary_expression "(iVar19 + 0x19) * 4" (parenthesized_expression "(iVar19 + 0x19)" (( "(") (binary_expression "iVar19 + 0x19" (identifier "iVar19") (+ "+") (number_literal "0x19")) () ")")) (* "*") (number_literal "4"))) (; ";"))) (expression_statement "iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);" (assignment_expression "iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puVar21 + 0x3ed20))(0,iVar10)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ed20))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ed20)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ed20)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ed20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ed20)" (( "(") (binary_expression "puVar21 + 0x3ed20" (identifier "puVar21") (+ "+") (number_literal "0x3ed20")) () ")"))))) () ")")) (argument_list "(0,iVar10)" (( "(") (number_literal "0") (, ",") (identifier "iVar10") () ")")))) (; ";")) (expression_statement "pppppbVar12 = unaff_s7;" (assignment_expression "pppppbVar12 = unaff_s7" (identifier "pppppbVar12") (= "=") (identifier "unaff_s7")) (; ";")) (if_statement "if (iVar5 != 0) break;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_0011ce24:\n      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);" (statement_identifier "LAB_0011ce24") (: ":") (expression_statement "(**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);" (call_expression "(**(code **)(puVar21 + 0x3ebe0))(pppppbVar12)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebe0))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ebe0)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ebe0)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ebe0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ebe0)" (( "(") (binary_expression "puVar21 + 0x3ebe0" (identifier "puVar21") (+ "+") (number_literal "0x3ebe0")) () ")"))))) () ")")) (argument_list "(pppppbVar12)" (( "(") (identifier "pppppbVar12") () ")"))) (; ";"))) (expression_statement "(**(code **)(puVar21 + 0x3ec08))(0);" (call_expression "(**(code **)(puVar21 + 0x3ec08))(0)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec08))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ec08)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ec08)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ec08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ec08)" (( "(") (binary_expression "puVar21 + 0x3ec08" (identifier "puVar21") (+ "+") (number_literal "0x3ec08")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" (identifier "iVar5") (= "=") (number_literal "7")) (; ";")) (expression_statement "unaff_s7 = pppppbVar12;" (assignment_expression "unaff_s7 = pppppbVar12" (identifier "unaff_s7") (= "=") (identifier "pppppbVar12")) (; ";")) (} "}"))) (expression_statement "puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);" (assignment_expression "puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ef74))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ef74)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ef74)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ef74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ef74)" (( "(") (binary_expression "puVar21 + 0x3ef74" (identifier "puVar21") (+ "+") (number_literal "0x3ef74")) () ")"))))) () ")")) (argument_list "(iVar5,0,iVar10)" (( "(") (identifier "iVar5") (, ",") (number_literal "0") (, ",") (identifier "iVar10") () ")"))))) (; ";")) (expression_statement "puVar9[0xe] = puVar9 + 0x18;" (assignment_expression "puVar9[0xe] = puVar9 + 0x18" (subscript_expression "puVar9[0xe]" (identifier "puVar9") ([ "[") (number_literal "0xe") (] "]")) (= "=") (binary_expression "puVar9 + 0x18" (identifier "puVar9") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "pcVar20 = *(code **)(puVar21 + 0x3eff0);" (assignment_expression "pcVar20 = *(code **)(puVar21 + 0x3eff0)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(puVar21 + 0x3eff0)" (* "*") (cast_expression "(code **)(puVar21 + 0x3eff0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3eff0)" (( "(") (binary_expression "puVar21 + 0x3eff0" (identifier "puVar21") (+ "+") (number_literal "0x3eff0")) () ")"))))) (; ";")) (expression_statement "*puVar9 = 0x7fffffff;" (assignment_expression "*puVar9 = 0x7fffffff" (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (= "=") (number_literal "0x7fffffff")) (; ";")) (expression_statement "(*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);" (call_expression "(*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100)" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "(puVar9 + 0x18,unaff_s7,iVar10 + -100)" (( "(") (binary_expression "puVar9 + 0x18" (identifier "puVar9") (+ "+") (number_literal "0x18")) (, ",") (identifier "unaff_s7") (, ",") (binary_expression "iVar10 + -100" (identifier "iVar10") (+ "+") (number_literal "-100")) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar21 + 0x3ebe0))(unaff_s7);" (call_expression "(**(code **)(puVar21 + 0x3ebe0))(unaff_s7)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebe0))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ebe0)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ebe0)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ebe0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ebe0)" (( "(") (binary_expression "puVar21 + 0x3ebe0" (identifier "puVar21") (+ "+") (number_literal "0x3ebe0")) () ")"))))) () ")")) (argument_list "(unaff_s7)" (( "(") (identifier "unaff_s7") () ")"))) (; ";")) (labeled_statement "LAB_0011cd88:\n    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);" (statement_identifier "LAB_0011cd88") (: ":") (expression_statement "iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);" (assignment_expression "iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9)" (identifier "iVar5") (= "=") (call_expression "(*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9)" (parenthesized_expression "(*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4)" (* "*") (cast_expression "(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4)" (( "(") (binary_expression "*(int *)(puVar21 + 0x3ecb8) + 0x3dc4" (pointer_expression "*(int *)(puVar21 + 0x3ecb8)" (* "*") (cast_expression "(int *)(puVar21 + 0x3ecb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x3ecb8)" (( "(") (binary_expression "puVar21 + 0x3ecb8" (identifier "puVar21") (+ "+") (number_literal "0x3ecb8")) () ")")))) (+ "+") (number_literal "0x3dc4")) () ")")))) () ")")) (argument_list "(&_gp_1,&DAT_001635b4,puVar9)" (( "(") (pointer_expression "&_gp_1" (& "&") (identifier "_gp_1")) (, ",") (pointer_expression "&DAT_001635b4" (& "&") (identifier "DAT_001635b4")) (, ",") (identifier "puVar9") () ")")))) (; ";"))) (if_statement "if ((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {\n      pppppbVar12 = (byte *****)0x0;\n    }\n    else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }" (if "if") (parenthesized_expression "((pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0))" (( "(") (binary_expression "(pppppbVar15 == (byte *****)0xffffffff) ||\n       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)" (parenthesized_expression "(pppppbVar15 == (byte *****)0xffffffff)" (( "(") (binary_expression "pppppbVar15 == (byte *****)0xffffffff" (identifier "pppppbVar15") (== "==") (cast_expression "(byte *****)0xffffffff" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0xffffffff"))) () ")")) (|| "||") (parenthesized_expression "(iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)" (( "(") (comma_expression "iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0" (assignment_expression "iVar10 = *(int *)(puVar21 + 0x3ee40)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(puVar21 + 0x3ee40)" (* "*") (cast_expression "(int *)(puVar21 + 0x3ee40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x3ee40)" (( "(") (binary_expression "puVar21 + 0x3ee40" (identifier "puVar21") (+ "+") (number_literal "0x3ee40")) () ")"))))) (, ",") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      pppppbVar12 = (byte *****)0x0;\n    }" ({ "{") (expression_statement "pppppbVar12 = (byte *****)0x0;" (assignment_expression "pppppbVar12 = (byte *****)0x0" (identifier "pppppbVar12") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }" (else "else") (compound_statement "{\nLAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;\n      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);\n      pppppbVar12 = uStack_d0._0_4_;\n      if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }\n    }" ({ "{") (labeled_statement "LAB_0011cc20:\n      uStack_d0._0_4_ = (byte *****)0x0;" (statement_identifier "LAB_0011cc20") (: ":") (expression_statement "uStack_d0._0_4_ = (byte *****)0x0;" (assignment_expression "uStack_d0._0_4_ = (byte *****)0x0" (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);" (assignment_expression "iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0)" (identifier "iVar5") (= "=") (call_expression "(*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0)" (parenthesized_expression "(*(code *)(iVar10 + 0x7f20))" (( "(") (pointer_expression "*(code *)(iVar10 + 0x7f20)" (* "*") (cast_expression "(code *)(iVar10 + 0x7f20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x7f20)" (( "(") (binary_expression "iVar10 + 0x7f20" (identifier "iVar10") (+ "+") (number_literal "0x7f20")) () ")")))) () ")")) (argument_list "(iVar6,0xd,&uStack_d0,0)" (( "(") (identifier "iVar6") (, ",") (number_literal "0xd") (, ",") (pointer_expression "&uStack_d0" (& "&") (identifier "uStack_d0")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pppppbVar12 = uStack_d0._0_4_;" (assignment_expression "pppppbVar12 = uStack_d0._0_4_" (identifier "pppppbVar12") (= "=") (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_"))) (; ";")) (if_statement "if (iVar5 == 0) {\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);\n        lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);\n        uVar22 = (uint)lVar23;\n        uVar14 = uVar22 * 0x400;\n        (**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));\nLAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;\n        puStack_e4 = &uStack_d0;\n        iVar17 = *(int *)(puVar21 + 0x3ecc0);\n        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);\n        iVar10 = *(int *)(puVar21 + 0x3ec94);\n        iVar19 = *(int *)(puVar21 + 0x3ecb8);\n        do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);\n      }" ({ "{") (expression_statement "lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;" (assignment_expression "lVar23 = ((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400" (identifier "lVar23") (= "=") (binary_expression "((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400" (parenthesized_expression "((longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc))" (( "(") (binary_expression "(longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (cast_expression "(longlong)(int)pppppbVar7" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (cast_expression "(int)pppppbVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar7"))) (+ "+") (binary_expression "(longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (binary_expression "(longlong)(int)pppppbVar13 * (longlong)" (cast_expression "(longlong)(int)pppppbVar13" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (cast_expression "(int)pppppbVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar13"))) (* "*") (parenthesized_expression "(longlong)" (( "(") (identifier "longlong") () ")"))) (* "*") (cast_expression "(int *)(iVar6 + 0xfc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xfc)" (( "(") (binary_expression "iVar6 + 0xfc" (identifier "iVar6") (+ "+") (number_literal "0xfc")) () ")"))))) () ")")) (* "*") (number_literal "0x400"))) (; ";")) (expression_statement "(**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);" (call_expression "(**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23)" (parenthesized_expression "(**(code **)(puVar21 + 0x3edb8))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3edb8)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3edb8)" (* "*") (cast_expression "(code **)(puVar21 + 0x3edb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3edb8)" (( "(") (binary_expression "puVar21 + 0x3edb8" (identifier "puVar21") (+ "+") (number_literal "0x3edb8")) () ")"))))) () ")")) (argument_list "(uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23)" (( "(") (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_")) (, ",") (number_literal "1") (, ",") (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar23")) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (cast_expression "(int)lVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar23")) () ")"))) (; ";")) (expression_statement "lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);" (assignment_expression "lVar23 = (longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (identifier "lVar23") (= "=") (binary_expression "(longlong)(int)pppppbVar7 +\n                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (cast_expression "(longlong)(int)pppppbVar7" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (cast_expression "(int)pppppbVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar7"))) (+ "+") (binary_expression "(longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)" (binary_expression "(longlong)(int)pppppbVar13 * (longlong)" (cast_expression "(longlong)(int)pppppbVar13" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (cast_expression "(int)pppppbVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar13"))) (* "*") (parenthesized_expression "(longlong)" (( "(") (identifier "longlong") () ")"))) (* "*") (cast_expression "(int *)(iVar6 + 0xfc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xfc)" (( "(") (binary_expression "iVar6 + 0xfc" (identifier "iVar6") (+ "+") (number_literal "0xfc")) () ")")))))) (; ";")) (expression_statement "uVar22 = (uint)lVar23;" (assignment_expression "uVar22 = (uint)lVar23" (identifier "uVar22") (= "=") (cast_expression "(uint)lVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar23"))) (; ";")) (expression_statement "uVar14 = uVar22 * 0x400;" (assignment_expression "uVar14 = uVar22 * 0x400" (identifier "uVar14") (= "=") (binary_expression "uVar22 * 0x400" (identifier "uVar22") (* "*") (number_literal "0x400"))) (; ";")) (expression_statement "(**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));" (call_expression "(**(code **)(puVar21 + 0x3edb8))\n                  (uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10))" (parenthesized_expression "(**(code **)(puVar21 + 0x3edb8))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3edb8)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3edb8)" (* "*") (cast_expression "(code **)(puVar21 + 0x3edb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3edb8)" (( "(") (binary_expression "puVar21 + 0x3edb8" (identifier "puVar21") (+ "+") (number_literal "0x3edb8")) () ")"))))) () ")")) (argument_list "(uStack_d0._0_4_,2,\n                   (uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10))" (( "(") (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_")) (, ",") (number_literal "2") (, ",") (binary_expression "(uint)(uVar14 + 0x3ff < uVar14) +\n                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10)" (call_expression "(uint)(uVar14 + 0x3ff < uVar14)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 + 0x3ff < uVar14)" (( "(") (binary_expression "uVar14 + 0x3ff < uVar14" (binary_expression "uVar14 + 0x3ff" (identifier "uVar14") (+ "+") (number_literal "0x3ff")) (< "<") (identifier "uVar14")) () ")"))) (+ "+") (parenthesized_expression "(uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10)" (( "(") (binary_expression "uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10" (binary_expression "uVar22 >> 0x16" (identifier "uVar22") (>> ">>") (number_literal "0x16")) (| "|") (binary_expression "(int)((ulonglong)lVar23 >> 0x20) << 10" (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar23")) (>> ">>") (number_literal "0x20")) () ")"))) (<< "<<") (number_literal "10"))) () ")"))) () ")"))) (; ";")) (labeled_statement "LAB_0011ceb8:\n        pppppbVar12 = uStack_d0._0_4_;" (statement_identifier "LAB_0011ceb8") (: ":") (expression_statement "pppppbVar12 = uStack_d0._0_4_;" (assignment_expression "pppppbVar12 = uStack_d0._0_4_" (identifier "pppppbVar12") (= "=") (field_expression "uStack_d0._0_4_" (identifier "uStack_d0") (. ".") (field_identifier "_0_4_"))) (; ";"))) (expression_statement "puStack_e4 = &uStack_d0;" (assignment_expression "puStack_e4 = &uStack_d0" (identifier "puStack_e4") (= "=") (pointer_expression "&uStack_d0" (& "&") (identifier "uStack_d0"))) (; ";")) (expression_statement "iVar17 = *(int *)(puVar21 + 0x3ecc0);" (assignment_expression "iVar17 = *(int *)(puVar21 + 0x3ecc0)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(puVar21 + 0x3ecc0)" (* "*") (cast_expression "(int *)(puVar21 + 0x3ecc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x3ecc0)" (( "(") (binary_expression "puVar21 + 0x3ecc0" (identifier "puVar21") (+ "+") (number_literal "0x3ecc0")) () ")"))))) (; ";")) (expression_statement "unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);" (assignment_expression "unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0)" (identifier "unaff_s7") (= "=") (cast_expression "(byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(uint)(local_80 == (int *)0x0 && iStack_7c == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_80 == (int *)0x0 && iStack_7c == 0)" (( "(") (binary_expression "local_80 == (int *)0x0 && iStack_7c == 0" (binary_expression "local_80 == (int *)0x0" (identifier "local_80") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "iStack_7c == 0" (identifier "iStack_7c") (== "==") (number_literal "0"))) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(puVar21 + 0x3ec94);" (assignment_expression "iVar10 = *(int *)(puVar21 + 0x3ec94)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(puVar21 + 0x3ec94)" (* "*") (cast_expression "(int *)(puVar21 + 0x3ec94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x3ec94)" (( "(") (binary_expression "puVar21 + 0x3ec94" (identifier "puVar21") (+ "+") (number_literal "0x3ec94")) () ")"))))) (; ";")) (expression_statement "iVar19 = *(int *)(puVar21 + 0x3ecb8);" (assignment_expression "iVar19 = *(int *)(puVar21 + 0x3ecb8)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar21 + 0x3ecb8)" (* "*") (cast_expression "(int *)(puVar21 + 0x3ecb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x3ecb8)" (( "(") (binary_expression "puVar21 + 0x3ecb8" (identifier "puVar21") (+ "+") (number_literal "0x3ecb8")) () ")"))))) (; ";")) (do_statement "do {\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        } while (iVar5 == 0);" (do "do") (compound_statement "{\n          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);\n          if (iVar5 != 100) break;\n          uStack_dc = 0;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);\n          uStack_d8 = lVar23;\n          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);\n          uStack_d0 = lVar23;\n          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);\n          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);\n          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);\n          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }\n          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);\n          uStack_d8._4_4_ = (undefined4)lVar23;\n          iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);\n          uStack_d8 = lVar23;\n          if (iVar5 != 0) break;\n          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);\n        }" ({ "{") (expression_statement "iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);" (assignment_expression "iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puVar21 + 0x3ebf0))(pppppbVar12)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ebf0))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ebf0)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ebf0)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ebf0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ebf0)" (( "(") (binary_expression "puVar21 + 0x3ebf0" (identifier "puVar21") (+ "+") (number_literal "0x3ebf0")) () ")"))))) () ")")) (argument_list "(pppppbVar12)" (( "(") (identifier "pppppbVar12") () ")")))) (; ";")) (if_statement "if (iVar5 != 100) break;" (if "if") (parenthesized_expression "(iVar5 != 100)" (( "(") (binary_expression "iVar5 != 100" (identifier "iVar5") (!= "!=") (number_literal "100")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uStack_dc = 0;" (assignment_expression "uStack_dc = 0" (identifier "uStack_dc") (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);" (assignment_expression "lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1)" (identifier "lVar23") (= "=") (call_expression "(**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec10))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ec10)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ec10)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ec10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ec10)" (( "(") (binary_expression "puVar21 + 0x3ec10" (identifier "puVar21") (+ "+") (number_literal "0x3ec10")) () ")"))))) () ")")) (argument_list "(pppppbVar12,1)" (( "(") (identifier "pppppbVar12") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "uStack_d8 = lVar23;" (assignment_expression "uStack_d8 = lVar23" (identifier "uStack_d8") (= "=") (identifier "lVar23")) (; ";")) (expression_statement "lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);" (assignment_expression "lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2)" (identifier "lVar23") (= "=") (call_expression "(**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec10))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ec10)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ec10)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ec10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ec10)" (( "(") (binary_expression "puVar21 + 0x3ec10" (identifier "puVar21") (+ "+") (number_literal "0x3ec10")) () ")"))))) () ")")) (argument_list "(pppppbVar12,2)" (( "(") (identifier "pppppbVar12") (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "uStack_d0 = lVar23;" (assignment_expression "uStack_d0 = lVar23" (identifier "uStack_d0") (= "=") (identifier "lVar23")) (; ";")) (expression_statement "uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);" (assignment_expression "uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3)" (identifier "uVar24") (= "=") (call_expression "(**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec10))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ec10)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ec10)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ec10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ec10)" (( "(") (binary_expression "puVar21 + 0x3ec10" (identifier "puVar21") (+ "+") (number_literal "0x3ec10")) () ")"))))) () ")")) (argument_list "(pppppbVar12,3)" (( "(") (identifier "pppppbVar12") (, ",") (number_literal "3") () ")")))) (; ";")) (expression_statement "pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);" (assignment_expression "pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4)" (identifier "pppppbVar7") (= "=") (cast_expression "(byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec24))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ec24)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ec24)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ec24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ec24)" (( "(") (binary_expression "puVar21 + 0x3ec24" (identifier "puVar21") (+ "+") (number_literal "0x3ec24")) () ")"))))) () ")")) (argument_list "(pppppbVar12,4)" (( "(") (identifier "pppppbVar12") (, ",") (number_literal "4") () ")"))))) (; ";")) (expression_statement "pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);" (assignment_expression "pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4)" (identifier "pppppbVar13") (= "=") (cast_expression "(byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec28))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ec28)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ec28)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ec28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ec28)" (( "(") (binary_expression "puVar21 + 0x3ec28" (identifier "puVar21") (+ "+") (number_literal "0x3ec28")) () ")"))))) () ")")) (argument_list "(pppppbVar12,4)" (( "(") (identifier "pppppbVar12") (, ",") (number_literal "4") () ")"))))) (; ";")) (if_statement "if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)) {\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }\n          else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" (if "if") (parenthesized_expression "(((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0))" (( "(") (binary_expression "((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||\n             (pppppbVar13 == (byte *****)0x0)" (parenthesized_expression "((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0))" (( "(") (binary_expression "(uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)" (parenthesized_expression "(uStack_d8 == 0)" (( "(") (binary_expression "uStack_d8 == 0" (identifier "uStack_d8") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((byte *****)ppppbVar3 == (byte *****)0x0)" (( "(") (binary_expression "(byte *****)ppppbVar3 == (byte *****)0x0" (cast_expression "(byte *****)ppppbVar3" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbVar3")) (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(pppppbVar13 == (byte *****)0x0)" (( "(") (binary_expression "pppppbVar13 == (byte *****)0x0" (identifier "pppppbVar13") (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = unaff_s7;\n            lVar23 = uStack_d8;\n          }" ({ "{") (expression_statement "iVar5 = _DAT_001635b4 + 1;" (assignment_expression "iVar5 = _DAT_001635b4 + 1" (identifier "iVar5") (= "=") (binary_expression "_DAT_001635b4 + 1" (identifier "_DAT_001635b4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppbVar15 = unaff_s7;" (assignment_expression "pppppbVar15 = unaff_s7" (identifier "pppppbVar15") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "lVar23 = uStack_d8;" (assignment_expression "lVar23 = uStack_d8" (identifier "lVar23") (= "=") (identifier "uStack_d8")) (; ";")) (} "}")) (else_clause "else if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" (else "else") (if_statement "if (local_80 == (int *)0x0) {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }\n          else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" (if "if") (parenthesized_expression "(local_80 == (int *)0x0)" (( "(") (binary_expression "local_80 == (int *)0x0" (identifier "local_80") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            lVar23 = uStack_d8;\n            if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }\n          }" ({ "{") (expression_statement "iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);" (assignment_expression "iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0)" (identifier "iVar5") (= "=") (call_expression "(*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0)" (parenthesized_expression "(*(code *)(iVar10 + -0x3b54))" (( "(") (pointer_expression "*(code *)(iVar10 + -0x3b54)" (* "*") (cast_expression "(code *)(iVar10 + -0x3b54)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + -0x3b54)" (( "(") (binary_expression "iVar10 + -0x3b54" (identifier "iVar10") (+ "+") (number_literal "-0x3b54")) () ")")))) () ")")) (argument_list "(iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0)" (( "(") (identifier "iVar6") (, ",") (identifier "ppppbVar3") (, ",") (identifier "ppppbVar4") (, ",") (identifier "pppppbVar13") (, ",") (identifier "pppppbVar7") (, ",") (pointer_expression "&uStack_d8" (& "&") (identifier "uStack_d8")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) break;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar5 = _DAT_001635b4 + 1;" (assignment_expression "iVar5 = _DAT_001635b4 + 1" (identifier "iVar5") (= "=") (binary_expression "_DAT_001635b4 + 1" (identifier "_DAT_001635b4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "lVar23 = uStack_d8;" (assignment_expression "lVar23 = uStack_d8" (identifier "lVar23") (= "=") (identifier "uStack_d8")) (; ";")) (if_statement "if (iStack_7c == 0) {\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }\n            else {\n              pppppbVar15 = (byte *****)0x0;\n            }" (if "if") (parenthesized_expression "(iStack_7c == 0)" (( "(") (binary_expression "iStack_7c == 0" (identifier "iStack_7c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              pppppbVar15 = (byte *****)0x1;\n              uStack_d0 = uStack_d8;\n            }" ({ "{") (expression_statement "pppppbVar15 = (byte *****)0x1;" (assignment_expression "pppppbVar15 = (byte *****)0x1" (identifier "pppppbVar15") (= "=") (cast_expression "(byte *****)0x1" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "uStack_d0 = uStack_d8;" (assignment_expression "uStack_d0 = uStack_d8" (identifier "uStack_d0") (= "=") (identifier "uStack_d8")) (; ";")) (} "}")) (else_clause "else {\n              pppppbVar15 = (byte *****)0x0;\n            }" (else "else") (compound_statement "{\n              pppppbVar15 = (byte *****)0x0;\n            }" ({ "{") (expression_statement "pppppbVar15 = (byte *****)0x0;" (assignment_expression "pppppbVar15 = (byte *****)0x0" (identifier "pppppbVar15") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" (else "else") (compound_statement "{\n            iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);\n            if (iVar5 != 0) break;\n            iVar5 = _DAT_001635b4 + 1;\n            pppppbVar15 = (byte *****)0x0;\n            lVar23 = uStack_d8;\n          }" ({ "{") (expression_statement "iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4);" (assignment_expression "iVar5 = (*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4)" (identifier "iVar5") (= "=") (call_expression "(*(code *)(iVar10 + -0x3b54))\n                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4)" (parenthesized_expression "(*(code *)(iVar10 + -0x3b54))" (( "(") (pointer_expression "*(code *)(iVar10 + -0x3b54)" (* "*") (cast_expression "(code *)(iVar10 + -0x3b54)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + -0x3b54)" (( "(") (binary_expression "iVar10 + -0x3b54" (identifier "iVar10") (+ "+") (number_literal "-0x3b54")) () ")")))) () ")")) (argument_list "(iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,\n                               puStack_e4)" (( "(") (identifier "iVar6") (, ",") (identifier "ppppbVar3") (, ",") (identifier "ppppbVar4") (, ",") (identifier "pppppbVar13") (, ",") (identifier "pppppbVar7") (, ",") (pointer_expression "&uStack_d8" (& "&") (identifier "uStack_d8")) (, ",") (identifier "puStack_e4") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) break;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar5 = _DAT_001635b4 + 1;" (assignment_expression "iVar5 = _DAT_001635b4 + 1" (identifier "iVar5") (= "=") (binary_expression "_DAT_001635b4 + 1" (identifier "_DAT_001635b4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppbVar15 = (byte *****)0x0;" (assignment_expression "pppppbVar15 = (byte *****)0x0" (identifier "pppppbVar15") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "lVar23 = uStack_d8;" (assignment_expression "lVar23 = uStack_d8" (identifier "lVar23") (= "=") (identifier "uStack_d8")) (; ";")) (} "}")))))) (expression_statement "uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);" (assignment_expression "uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20)" (field_expression "uStack_d8._0_4_" (identifier "uStack_d8") (. ".") (field_identifier "_0_4_")) (= "=") (call_expression "(undefined4)((ulonglong)lVar23 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)lVar23 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar23")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uStack_d8._4_4_ = (undefined4)lVar23;" (assignment_expression "uStack_d8._4_4_ = (undefined4)lVar23" (field_expression "uStack_d8._4_4_" (identifier "uStack_d8") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(undefined4)lVar23" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (identifier "lVar23"))) (; ";")) (expression_statement "iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc);" (assignment_expression "iVar5 = (*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc)" (identifier "iVar5") (= "=") (call_expression "(*(code *)(iVar17 + 0x588))\n                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc)" (parenthesized_expression "(*(code *)(iVar17 + 0x588))" (( "(") (pointer_expression "*(code *)(iVar17 + 0x588)" (* "*") (cast_expression "(code *)(iVar17 + 0x588)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x588)" (( "(") (binary_expression "iVar17 + 0x588" (identifier "iVar17") (+ "+") (number_literal "0x588")) () ")")))) () ")")) (argument_list "(iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,\n                             pppppbVar13,pppppbVar7,&uStack_dc)" (( "(") (identifier "iVar5") (, ",") (identifier "pppppbVar15") (, ",") (field_expression "uStack_d8._0_4_" (identifier "uStack_d8") (. ".") (field_identifier "_0_4_")) (, ",") (field_expression "uStack_d8._4_4_" (identifier "uStack_d8") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "uStack_d0") (, ",") (identifier "uVar24") (, ",") (identifier "pppppbVar13") (, ",") (identifier "pppppbVar7") (, ",") (pointer_expression "&uStack_dc" (& "&") (identifier "uStack_dc")) () ")")))) (; ";")) (expression_statement "uStack_d8 = lVar23;" (assignment_expression "uStack_d8 = lVar23" (identifier "uStack_d8") (= "=") (identifier "lVar23")) (; ";")) (if_statement "if (iVar5 != 0) break;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);" (assignment_expression "iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc)" (identifier "iVar5") (= "=") (call_expression "(*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc)" (parenthesized_expression "(*(code *)(iVar19 + 0x3dc4))" (( "(") (pointer_expression "*(code *)(iVar19 + 0x3dc4)" (* "*") (cast_expression "(code *)(iVar19 + 0x3dc4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x3dc4)" (( "(") (binary_expression "iVar19 + 0x3dc4" (identifier "iVar19") (+ "+") (number_literal "0x3dc4")) () ")")))) () ")")) (argument_list "(&_gp_1,&DAT_001635b4,uStack_dc)" (( "(") (pointer_expression "&_gp_1" (& "&") (identifier "_gp_1")) (, ",") (pointer_expression "&DAT_001635b4" (& "&") (identifier "DAT_001635b4")) (, ",") (identifier "uStack_dc") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0011cdbc:\n    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);" (statement_identifier "LAB_0011cdbc") (: ":") (expression_statement "iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);" (assignment_expression "iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12)" (identifier "iVar10") (= "=") (call_expression "(**(code **)(puVar21 + 0x3ec08))(pppppbVar12)" (parenthesized_expression "(**(code **)(puVar21 + 0x3ec08))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x3ec08)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x3ec08)" (* "*") (cast_expression "(code **)(puVar21 + 0x3ec08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x3ec08)" (( "(") (binary_expression "puVar21 + 0x3ec08" (identifier "puVar21") (+ "+") (number_literal "0x3ec08")) () ")"))))) () ")")) (argument_list "(pppppbVar12)" (( "(") (identifier "pppppbVar12") () ")")))) (; ";"))) (expression_statement "pppppbVar15 = pppppbVar12;" (assignment_expression "pppppbVar15 = pppppbVar12" (identifier "pppppbVar15") (= "=") (identifier "pppppbVar12")) (; ";")) (if_statement "if (iVar5 == 0x65) {\n      iVar5 = iVar10;\n    }" (if "if") (parenthesized_expression "(iVar5 == 0x65)" (( "(") (binary_expression "iVar5 == 0x65" (identifier "iVar5") (== "==") (number_literal "0x65")) () ")")) (compound_statement "{\n      iVar5 = iVar10;\n    }" ({ "{") (expression_statement "iVar5 = iVar10;" (assignment_expression "iVar5 = iVar10" (identifier "iVar5") (= "=") (identifier "iVar10")) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (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: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) 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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))) right: (binary_expression left: (number_literal) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier)))) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier))) right: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (number_literal) (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (field_expression argument: (identifier) field: (field_identifier)))) index: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (field_expression argument: (identifier) field: (field_identifier)))) index: (number_literal)) (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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: (subscript_expression argument: (identifier) index: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (field_expression argument: (identifier) field: (field_identifier))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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))))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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 (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (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)))))) right: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (identifier)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (number_literal) (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (number_literal) (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (field_expression argument: (identifier) field: (field_identifier)) (field_expression argument: (identifier) field: (field_identifier)) (identifier) (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) condition: (parenthesized_expression (true)))))))

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

int MASKED(undefined4 param_1,byte *****param_2,byte *****param_3,byte *****param_4,
                int param_5,byte *****param_6,int *param_7)

{
  uint *puVar1;
  undefined *puVar2;
  byte ****ppppbVar3;
  byte ****ppppbVar4;
  int iVar5;
  int iVar6;
  byte bVar11;
  byte *****pppppbVar7;
  int *piVar8;
  undefined4 *puVar9;
  int iVar10;
  byte *****pppppbVar12;
  byte *****pppppbVar13;
  uint uVar14;
  byte *****pppppbVar15;
  byte *pbVar16;
  byte *****unaff_s1;
  int *unaff_s3;
  int unaff_s4;
  int iVar17;
  byte *pbVar18;
  int iVar19;
  byte *****unaff_s6;
  byte *****unaff_s7;
  code *pcVar20;
  undefined *puVar21;
  byte *****unaff_s8;
  uint uVar22;
  longlong lVar23;
  undefined8 uVar24;
  undefined8 *puStack_e4;
  undefined4 uStack_dc;
  undefined8 uStack_d8;
  undefined8 uStack_d0;
  int iStack_c4;
  int iStack_c0;
  byte ****ppppbStack_bc;
  byte ****ppppbStack_b8;
  int *piStack_b4;
  int iStack_b0;
  byte *pbStack_ac;
  byte ****ppppbStack_a8;
  byte ****ppppbStack_a4;
  byte ****ppppbStack_a0;
  code *pcStack_9c;
  byte ****local_88;
  byte ****local_84;
  int *local_80;
  int iStack_7c;
  byte ****local_6c;
  byte ****local_64;
  uint local_44;
  byte ****local_40;
  byte ****local_3c;
  byte ****local_38;
  byte ****local_34;
  int local_2c;
  
  puVar21 = PTR___stack_chk_guard_0015ba2c;
  local_64 = (byte ****)param_6;
  local_2c = *(int *)PTR___stack_chk_guard_0015ba2c;
  pppppbVar7 = param_3;
  pppppbVar15 = param_4;
  uVar14 = (uint)*(byte *)param_4;
  if ((char)*(byte *)param_4 < '\0') {
    (*(code *)(PTR_LAB_0015b65c + 0x1084))(param_4,&local_44);
    uVar14 = local_44;
  }
  local_44 = uVar14;
  pcVar20 = (code *)(PTR_LAB_0015b65c + 0xf74);
  pbVar16 = (byte *)((int)param_4 + param_5);
  pppppbVar13 = &local_38;
  iVar5 = (*pcVar20)(param_4,&local_38);
  iVar6 = (*pcVar20)((byte *)((int)param_4 + iVar5));
  pbVar18 = (byte *)((int)param_4 + iVar5) + iVar6;
  if (pbVar16 < pbVar18) {
    iVar5 = 0x10b;
  }
  else {
    iVar5 = 0;
    unaff_s3 = param_7;
    unaff_s8 = param_6;
    if (pbVar18 < pbVar16) {
      unaff_s1 = (byte *****)0x0;
      pppppbVar13 = (byte *****)0x1;
      unaff_s6 = &local_3c;
      pcVar20 = (code *)(PTR_LAB_0015b65c + 0x1084);
      local_6c = (byte ****)0x0;
      unaff_s7 = &local_40;
      unaff_s4 = iVar5;
LAB_0011c5a0:
      do {
        if ((unaff_s8 == (byte *****)0x0) && (unaff_s3 == (int *)0x0)) goto LAB_0011c878;
        bVar11 = *pbVar18;
        pppppbVar12 = (byte *****)(uint)bVar11;
        local_3c = (byte ****)0x0;
        if (pppppbVar13 == (byte *****)0x0) {
          if ((char)bVar11 < '\0') {
            pppppbVar13 = unaff_s6;
            iVar5 = (*pcVar20)(pbVar18,unaff_s6);
          }
          else {
            iVar5 = 1;
            local_3c = (byte ****)pppppbVar12;
          }
          pbVar18 = pbVar18 + iVar5;
          bVar11 = *pbVar18;
          pppppbVar12 = (byte *****)(uint)bVar11;
        }
        if ((char)bVar11 < '\0') {
          pppppbVar13 = unaff_s7;
          iVar5 = (*pcVar20)(pbVar18,unaff_s7);
          pbVar18 = pbVar18 + iVar5;
          if ((int)local_3c <= (int)pbVar18 - (int)param_4) goto LAB_0011c5f8;
LAB_0011c7f0:
          iVar5 = 0x10b;
LAB_0011c7f4:
          (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);
          goto LAB_0011c804;
        }
        pbVar18 = pbVar18 + 1;
        local_40 = (byte ****)pppppbVar12;
        if ((int)pbVar18 - (int)param_4 < (int)local_3c) goto LAB_0011c7f0;
LAB_0011c5f8:
        pppppbVar7 = (byte *****)local_40;
        if ((int)pbVar16 - (int)pbVar18 < (int)local_40) goto LAB_0011c7f0;
        pppppbVar15 = (byte *****)((int)local_3c + (int)local_40);
        pppppbVar7 = (byte *****)
                     ((uint)(pppppbVar15 < local_3c) +
                     ((int)local_3c >> 0x1f) + ((int)local_40 >> 0x1f));
        pppppbVar13 = (byte *****)(uint)((int)unaff_s1 < (int)pppppbVar7);
        if ((pppppbVar13 != (byte *****)0x0) ||
           ((iVar5 = unaff_s4, pppppbVar7 == unaff_s1 &&
            (pppppbVar13 = (byte *****)(uint)(local_6c < pppppbVar15),
            pppppbVar13 != (byte *****)0x0)))) {
          local_6c = (byte ****)((int)pppppbVar15 * 2);
          unaff_s1 = (byte *****)((uint)pppppbVar15 >> 0x1f | (int)pppppbVar7 * 2);
          pppppbVar7 = unaff_s1;
          pppppbVar15 = (byte *****)local_6c;
          iVar5 = (*(code *)PTR_sqlite3_realloc64_0015b764)(unaff_s4);
          if (iVar5 != 0) goto LAB_0011c684;
          iVar5 = 7;
          goto LAB_0011c7f4;
        }
LAB_0011c684:
        (*(code *)PTR_memcpy_0015ba30)((byte *)((int)local_3c + iVar5),pbVar18,local_40);
        pbVar18 = pbVar18 + (int)local_40;
        pppppbVar15 = (byte *****)((int)local_40 + (int)local_3c);
        pppppbVar7 = param_3;
        if ((int)pppppbVar15 < (int)param_3) {
          pppppbVar7 = pppppbVar15;
        }
        iVar6 = (*(code *)PTR_memcmp_0015ba1c)(param_2,iVar5,pppppbVar7);
        unaff_s4 = iVar5;
        if (unaff_s8 == (byte *****)0x0) {
LAB_0011c700:
          pppppbVar7 = (byte *****)((int)local_34 + 1);
          if ((unaff_s3 == (int *)0x0) || (unaff_s8 = (byte *****)0x0, -1 < iVar6)) {
            local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);
            unaff_s8 = (byte *****)0x0;
            pppppbVar13 = (byte *****)0x0;
            local_34 = (byte ****)pppppbVar7;
            if (pbVar16 <= pbVar18) break;
            goto LAB_0011c5a0;
          }
          *unaff_s3 = (int)local_38;
          unaff_s3[1] = (int)local_34;
          unaff_s3 = (int *)0x0;
        }
        else if ((iVar6 < 0) ||
                ((iVar6 == 0 &&
                 (pppppbVar15 = (byte *****)(uint)((int)param_3 < (int)pppppbVar15),
                 pppppbVar15 != (byte *****)0x0)))) {
          *unaff_s8 = local_38;
          unaff_s8[1] = local_34;
          goto LAB_0011c700;
        }
        pppppbVar7 = (byte *****)((int)local_34 + 1);
        local_38 = (byte ****)((uint)(pppppbVar7 < local_34) + (int)local_38);
        pppppbVar13 = (byte *****)0x0;
        local_34 = (byte ****)pppppbVar7;
      } while (pbVar18 < pbVar16);
    }
    if (unaff_s8 != (byte *****)0x0) {
      unaff_s8[1] = local_34;
      *unaff_s8 = local_38;
    }
    puVar2 = PTR_sqlite3_free_0015b620;
    unaff_s4 = iVar5;
    if (unaff_s3 == (int *)0x0) {
LAB_0011c878:
      (*(code *)PTR_sqlite3_free_0015b620)(unaff_s4);
    }
    else {
      unaff_s3[1] = (int)local_34;
      *unaff_s3 = (int)local_38;
      (*(code *)puVar2)(iVar5);
    }
    puVar2 = PTR_LAB_0015b6d4;
    if ((int)local_44 < 2) {
      iVar5 = 0;
    }
    else {
      local_3c = (byte ****)0x0;
      local_38 = (byte ****)0x0;
      if (param_6 == (byte *****)0x0) {
LAB_0011c928:
        local_64 = (byte ****)0x0;
        pppppbVar7 = (byte *****)*param_7;
        pppppbVar15 = (byte *****)param_7[1];
LAB_0011c938:
        local_3c = (byte ****)0x0;
        local_88 = (byte ****)&local_3c;
        local_80 = (int *)0x0;
        local_84 = (byte ****)&local_38;
        iVar5 = FUN_0011c2d4(param_1);
        if (iVar5 == 0) {
          local_80 = param_7;
          local_84 = local_64;
          local_88 = local_38;
          pppppbVar15 = (byte *****)local_3c;
          iVar5 = MASKED(param_1,param_2);
          pppppbVar13 = param_2;
          pppppbVar7 = param_3;
        }
      }
      else {
        pppppbVar7 = (byte *****)*param_6;
        pppppbVar15 = (byte *****)param_6[1];
        if ((param_7 == (int *)0x0) ||
           ((local_88 = (byte ****)&local_3c, (byte *****)*param_7 == pppppbVar7 &&
            ((byte *****)param_7[1] == pppppbVar15)))) goto LAB_0011c938;
        local_80 = (int *)0x0;
        local_84 = (byte ****)&local_38;
        iVar5 = FUN_0011c2d4(param_1);
        if (iVar5 == 0) {
          local_84 = (byte ****)param_6;
          local_80 = (int *)0x0;
          local_88 = local_38;
          pppppbVar13 = param_2;
          pppppbVar7 = param_3;
          pppppbVar15 = (byte *****)local_3c;
          iVar5 = MASKED(param_1,param_2);
          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);
          local_3c = (byte ****)0x0;
          if (iVar5 == 0) goto LAB_0011c928;
        }
        else {
          (*(code *)PTR_sqlite3_free_0015b620)(local_3c);
          local_3c = (byte ****)0x0;
        }
      }
      unaff_s1 = (byte *****)(puVar2 + -0x3d2c);
      param_4 = &local_3c;
      (*(code *)PTR_sqlite3_free_0015b620)(local_3c);
    }
  }
LAB_0011c804:
  if (local_2c == *(int *)puVar21) {
    return iVar5;
  }
  pcVar20 = FUN_0011ca40;
  iVar6 = local_2c;
  puVar21 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  ppppbVar4 = local_84;
  ppppbVar3 = local_88;
  piVar8 = *(int **)(puVar21 + 0x3efec);
  iStack_c4 = *piVar8;
  iStack_c0 = iVar5;
  ppppbStack_bc = (byte ****)unaff_s1;
  ppppbStack_b8 = (byte ****)param_4;
  piStack_b4 = unaff_s3;
  iStack_b0 = unaff_s4;
  pbStack_ac = pbVar18;
  ppppbStack_a8 = (byte ****)unaff_s6;
  ppppbStack_a4 = (byte ****)unaff_s7;
  ppppbStack_a0 = (byte ****)unaff_s8;
  pcStack_9c = pcVar20;
  if (-1 < (int)pppppbVar15) {
    uStack_d0._0_4_ = (byte *****)0x0;
    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ee40) + 0x7f20))();
    pppppbVar12 = uStack_d0._0_4_;
    if (iVar5 != 0) goto LAB_0011cdbc;
    lVar23 = (longlong)(int)pppppbVar7 +
             (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);
    uVar14 = (uint)lVar23;
    (**(code **)(puVar21 + 0x3edb8))
              (uStack_d0._0_4_,1,
               (uint)(pppppbVar15 + uVar14 * 0x100 < (byte *****)(uVar14 * 0x400)) +
               (uVar14 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10) +
               ((int)pppppbVar15 >> 0x1f));
    goto LAB_0011ceb8;
  }
  if (*(int *)(iVar6 + 0x100) != 0) {
    iVar5 = *(int *)(iVar6 + 0x100) + (int)pppppbVar7 * 0x18;
    if (local_80 == (int *)0x0 && iStack_7c == 0) {
      uStack_d0._0_4_ =
           (byte *****)
           (*(code *)(*(int *)(puVar21 + 0x3ec80) + -0x2c24))(iVar5 + 4,local_88,local_84);
      if (uStack_d0._0_4_ != (byte *****)0x0) {
        puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ed20))(0,0x68);
        if (puVar9 != (undefined4 *)0x0) {
          (**(code **)(puVar21 + 0x3ef74))(puVar9 + 1,0,100);
          *puVar9 = 0x7fffffff;
          puVar9[0xe] = puVar9 + 0x18;
          uVar14 = (uint)(puVar9 + 0x18) & 3;
          puVar1 = (uint *)((int)(puVar9 + 0x18) - uVar14);
          *puVar1 = *puVar1 & -1 << (4 - uVar14) * 8 | (uint)uStack_d0._0_4_ >> uVar14 * 8;
          uVar14 = (int)puVar9 + 99U & 3;
          puVar1 = (uint *)(((int)puVar9 + 99U) - uVar14);
          *puVar1 = *puVar1 & 0xffffffffU >> (uVar14 + 1) * 8 |
                    (int)uStack_d0._0_4_ << (3 - uVar14) * 8;
          goto LAB_0011cd88;
        }
        (**(code **)(puVar21 + 0x3ec08))(0);
        iVar5 = 7;
        goto LAB_0011cde0;
      }
    }
    else {
      uStack_d0._0_4_ = *(byte ******)(iVar5 + 0xc);
      if (uStack_d0._0_4_ == (byte *****)0x0) {
        (**(code **)(puVar21 + 0x3ebe0))(0);
      }
      else {
        iVar10 = 0;
        iVar5 = 0;
        pppppbVar12 = (byte *****)0x0;
        do {
          unaff_s7 = pppppbVar12;
          if (((byte *****)ppppbVar4 == (byte *****)0x0) ||
             ((iVar19 = iVar5, (int)ppppbVar4 <= (int)((byte ****)uStack_d0._0_4_)[4] &&
              (iVar17 = (**(code **)(puVar21 + 0x3efdc))
                                  (((byte ****)uStack_d0._0_4_)[3],ppppbVar3,ppppbVar4), iVar17 == 0
              )))) {
            if (iVar10 == iVar5) {
              iVar10 = iVar10 + 0x10;
              unaff_s7 = (byte *****)(**(code **)(puVar21 + 0x3ebb0))(pppppbVar12,iVar10 * 4);
              if (unaff_s7 == (byte *****)0x0) goto LAB_0011ce24;
            }
            iVar19 = iVar5 + 1;
            unaff_s7[iVar5] = (byte ****)uStack_d0._0_4_;
          }
          uStack_d0._0_4_ = (byte *****)*uStack_d0._0_4_;
          iVar5 = iVar19;
          pppppbVar12 = unaff_s7;
        } while (uStack_d0._0_4_ != (byte *****)0x0);
        if (1 < iVar19) {
          (**(code **)(puVar21 + 0x3ef48))(unaff_s7,iVar19,4,*(int *)(puVar21 + 0x3ec98) + -0x76d0);
          goto LAB_0011cd08;
        }
        if (iVar19 != 0) goto LAB_0011d154;
        (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);
      }
    }
  }
  if (pppppbVar15 != (byte *****)0xffffffff) {
    iVar10 = *(int *)(puVar21 + 0x3ee40);
    goto LAB_0011cc20;
  }
  (**(code **)(puVar21 + 0x3ec08))(0);
  iVar5 = 0;
LAB_0011cde0:
  do {
    while( true ) {
      if (iStack_c4 == *piVar8) {
        return iVar5;
      }
      (**(code **)(puVar21 + 0x3efd0))();
LAB_0011d154:
      iVar19 = 1;
LAB_0011cd08:
      iVar10 = (iVar19 + 0x19) * 4;
      iVar5 = (**(code **)(puVar21 + 0x3ed20))(0,iVar10);
      pppppbVar12 = unaff_s7;
      if (iVar5 != 0) break;
LAB_0011ce24:
      (**(code **)(puVar21 + 0x3ebe0))(pppppbVar12);
      (**(code **)(puVar21 + 0x3ec08))(0);
      iVar5 = 7;
      unaff_s7 = pppppbVar12;
    }
    puVar9 = (undefined4 *)(**(code **)(puVar21 + 0x3ef74))(iVar5,0,iVar10);
    puVar9[0xe] = puVar9 + 0x18;
    pcVar20 = *(code **)(puVar21 + 0x3eff0);
    *puVar9 = 0x7fffffff;
    (*pcVar20)(puVar9 + 0x18,unaff_s7,iVar10 + -100);
    (**(code **)(puVar21 + 0x3ebe0))(unaff_s7);
LAB_0011cd88:
    iVar5 = (*(code *)(*(int *)(puVar21 + 0x3ecb8) + 0x3dc4))(&_gp_1,&DAT_001635b4,puVar9);
    if ((pppppbVar15 == (byte *****)0xffffffff) ||
       (iVar10 = *(int *)(puVar21 + 0x3ee40), iVar5 != 0)) {
      pppppbVar12 = (byte *****)0x0;
    }
    else {
LAB_0011cc20:
      uStack_d0._0_4_ = (byte *****)0x0;
      iVar5 = (*(code *)(iVar10 + 0x7f20))(iVar6,0xd,&uStack_d0,0);
      pppppbVar12 = uStack_d0._0_4_;
      if (iVar5 == 0) {
        lVar23 = ((longlong)(int)pppppbVar7 +
                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc)) * 0x400;
        (**(code **)(puVar21 + 0x3edb8))
                  (uStack_d0._0_4_,1,(int)((ulonglong)lVar23 >> 0x20),(int)lVar23);
        lVar23 = (longlong)(int)pppppbVar7 +
                 (longlong)(int)pppppbVar13 * (longlong)*(int *)(iVar6 + 0xfc);
        uVar22 = (uint)lVar23;
        uVar14 = uVar22 * 0x400;
        (**(code **)(puVar21 + 0x3edb8))
                  (uStack_d0._0_4_,2,
                   (uint)(uVar14 + 0x3ff < uVar14) +
                   (uVar22 >> 0x16 | (int)((ulonglong)lVar23 >> 0x20) << 10));
LAB_0011ceb8:
        pppppbVar12 = uStack_d0._0_4_;
        puStack_e4 = &uStack_d0;
        iVar17 = *(int *)(puVar21 + 0x3ecc0);
        unaff_s7 = (byte *****)(uint)(local_80 == (int *)0x0 && iStack_7c == 0);
        iVar10 = *(int *)(puVar21 + 0x3ec94);
        iVar19 = *(int *)(puVar21 + 0x3ecb8);
        do {
          iVar5 = (**(code **)(puVar21 + 0x3ebf0))(pppppbVar12);
          if (iVar5 != 100) break;
          uStack_dc = 0;
          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,1);
          uStack_d8 = lVar23;
          lVar23 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,2);
          uStack_d0 = lVar23;
          uVar24 = (**(code **)(puVar21 + 0x3ec10))(pppppbVar12,3);
          pppppbVar7 = (byte *****)(**(code **)(puVar21 + 0x3ec24))(pppppbVar12,4);
          pppppbVar13 = (byte *****)(**(code **)(puVar21 + 0x3ec28))(pppppbVar12,4);
          if (((uStack_d8 == 0) || ((byte *****)ppppbVar3 == (byte *****)0x0)) ||
             (pppppbVar13 == (byte *****)0x0)) {
            iVar5 = _DAT_001635b4 + 1;
            pppppbVar15 = unaff_s7;
            lVar23 = uStack_d8;
          }
          else if (local_80 == (int *)0x0) {
            iVar5 = (*(code *)(iVar10 + -0x3b54))
                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,0);
            if (iVar5 != 0) break;
            iVar5 = _DAT_001635b4 + 1;
            lVar23 = uStack_d8;
            if (iStack_7c == 0) {
              pppppbVar15 = (byte *****)0x1;
              uStack_d0 = uStack_d8;
            }
            else {
              pppppbVar15 = (byte *****)0x0;
            }
          }
          else {
            iVar5 = (*(code *)(iVar10 + -0x3b54))
                              (iVar6,ppppbVar3,ppppbVar4,pppppbVar13,pppppbVar7,&uStack_d8,
                               puStack_e4);
            if (iVar5 != 0) break;
            iVar5 = _DAT_001635b4 + 1;
            pppppbVar15 = (byte *****)0x0;
            lVar23 = uStack_d8;
          }
          uStack_d8._0_4_ = (undefined4)((ulonglong)lVar23 >> 0x20);
          uStack_d8._4_4_ = (undefined4)lVar23;
          iVar5 = (*(code *)(iVar17 + 0x588))
                            (iVar5,pppppbVar15,uStack_d8._0_4_,uStack_d8._4_4_,uStack_d0,uVar24,
                             pppppbVar13,pppppbVar7,&uStack_dc);
          uStack_d8 = lVar23;
          if (iVar5 != 0) break;
          iVar5 = (*(code *)(iVar19 + 0x3dc4))(&_gp_1,&DAT_001635b4,uStack_dc);
        } while (iVar5 == 0);
      }
    }
LAB_0011cdbc:
    iVar10 = (**(code **)(puVar21 + 0x3ec08))(pppppbVar12);
    pppppbVar15 = pppppbVar12;
    if (iVar5 == 0x65) {
      iVar5 = iVar10;
    }
  } while( true );
}

