
int sessionReadRecord(SessionInput *pIn,int nCol,u8 *abPK,sqlite3_value **apOut)

{
  byte bVar1;
  ushort uVar2;
  undefined *puVar3;
  code *pcVar4;
  code *pcVar5;
  int iVar6;
  sqlite3_value *psVar7;
  int iVar8;
  u8 *puVar9;
  undefined1 *puVar10;
  _func_int_void_ptr_void_ptr_int_ptr *p_Var11;
  double *pdVar12;
  SessionInput *pIn_00;
  _func_int_void_ptr_void_ptr_int_ptr *p_Var13;
  int *abPK_00;
  int *pnByte;
  _func_int_void_ptr_void_ptr_int_ptr *p_Var14;
  u8 *puVar15;
  sqlite3_value **ppsVar16;
  undefined4 uVar17;
  sqlite3_value **ppsVar18;
  int iVar19;
  u8 *unaff_s0;
  undefined *unaff_s1;
  sqlite3_value **apOut_00;
  int unaff_s2;
  int unaff_s3;
  int iVar20;
  sqlite3_value **unaff_s4;
  int *piVar21;
  undefined *unaff_s5;
  int unaff_s7;
  undefined *puVar22;
  SessionInput *unaff_s8;
  double dVar23;
  u8 *puStack_b4;
  int iStack_b0;
  int iStack_ac;
  u8 *puStack_a8;
  undefined *puStack_a4;
  int iStack_a0;
  int iStack_9c;
  sqlite3_value **ppsStack_98;
  undefined *puStack_94;
  undefined *puStack_90;
  int iStack_8c;
  SessionInput *pSStack_88;
  code *pcStack_84;
  undefined *puStack_70;
  int nByte;
  sqlite3_value **ppsStack_3c;
  SessionInput *pSStack_34;
  
  puVar3 = PTR___stack_chk_guard_00190e24;
  puVar22 = PTR_LAB_00190bc0;
  pSStack_34 = *(SessionInput **)PTR___stack_chk_guard_00190e24;
  abPK_00 = (int *)nCol;
  pnByte = (int *)abPK;
  ppsVar16 = apOut;
  if (0 < nCol) {
    iVar19 = 0;
    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);
    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);
    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;
    unaff_s5 = PTR_LAB_00190ba8;
LAB_000b5dac:
    unaff_s3 = 1;
    unaff_s7 = iVar19;
LAB_000b5db4:
    while ((abPK != (u8 *)0x0 && (abPK[unaff_s7] == '\0'))) {
      unaff_s7 = unaff_s7 + 1;
      iVar6 = 0;
      if (nCol <= unaff_s7) goto LAB_000b5de4;
    }
    abPK_00 = (int *)&DAT_00000009;
    iVar6 = sessionInputBuffer(pIn,9);
    if (iVar6 != 0) goto LAB_000b5de4;
    iVar19 = pIn->iNext;
    abPK_00 = (int *)(iVar19 + 1);
    if (pIn->nData <= iVar19) {
      ppsVar16 = (sqlite3_value **)0x300ea;
LAB_000b5e90:
      puStack_70 = PTR_LAB_00190958 + 0x625c;
      pnByte = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);
      abPK_00 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);
      (*(code *)PTR_sqlite3_log_00190be0)(0xb);
      iVar6 = 0xb;
      goto LAB_000b5de4;
    }
    pIn->iNext = (int)abPK_00;
    unaff_s5 = (undefined *)(uint)pIn->aData[iVar19];
    if (unaff_s5 != (undefined *)0x0) {
      ppsVar16 = (sqlite3_value **)&DAT_00000028;
      pnByte = (int *)0x0;
      unaff_s4 = apOut + unaff_s7;
      psVar7 = (sqlite3_value *)(*pcVar4)(0);
      if (psVar7 == (sqlite3_value *)0x0) {
        iVar6 = 7;
        *unaff_s4 = (sqlite3_value *)0x0;
        goto LAB_000b5de4;
      }
      psVar7->flags = 1;
      psVar7->db = (sqlite3 *)0x0;
      *unaff_s4 = psVar7;
      pnByte = (int *)pIn->iNext;
      pdVar12 = (double *)(pIn->aData + (int)pnByte);
      if (unaff_s5 + -3 < &SUB_00000002) {
        if ((char)*(byte *)pdVar12 < '\0') {
          iVar19 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte);
          pnByte = (int *)pIn->iNext;
        }
        else {
          iVar19 = 1;
          nByte = (uint)*(byte *)pdVar12;
        }
        pIn->iNext = (int)(iVar19 + (int)pnByte);
        abPK_00 = (int *)nByte;
        iVar6 = sessionInputBuffer(pIn,nByte);
        iVar19 = nByte;
        if (iVar6 != 0) goto LAB_000b5de4;
        ppsVar16 = (sqlite3_value **)0x30000;
        if ((nByte < 0) || (piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte)) {
          ppsVar16 = (sqlite3_value **)0x300fd;
          unaff_s3 = nByte;
          goto LAB_000b5e90;
        }
        psVar7 = *unaff_s4;
        unaff_s4 = (sqlite3_value **)pIn->aData;
        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();
        pnByte = piVar21;
        unaff_s3 = iVar19;
        if (iVar6 == 0) {
          abPK_00 = (int *)(iVar19 + 1);
          iVar6 = (*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f));
          if (iVar6 != 0) {
            pnByte = (int *)iVar19;
            uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));
            iVar6 = 0;
            if (psVar7 == (sqlite3_value *)0x0) {
              pIn->iNext = pIn->iNext + nByte;
              abPK_00 = (int *)nByte;
            }
            else {
              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);
              puStack_70 = PTR_sqlite3_free_0019096c;
              pnByte = (int *)iVar19;
              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);
              pIn->iNext = pIn->iNext + nByte;
              abPK_00 = (int *)nByte;
            }
            iVar19 = unaff_s7 + 1;
            nByte = (int)abPK_00;
            if (iVar19 < nCol) goto LAB_000b5dac;
            goto LAB_000b5de4;
          }
        }
        iVar6 = 7;
        pIn->iNext = pIn->iNext + nByte;
        goto LAB_000b5de4;
      }
      iVar19 = unaff_s7 + 1;
      abPK_00 = (int *)(uint)(unaff_s5 + -1 < &SUB_00000002);
      if (abPK_00 != (int *)0x0) goto code_r0x000b6070;
    }
    unaff_s7 = unaff_s7 + 1;
    unaff_s0 = abPK;
    unaff_s2 = nCol;
    unaff_s8 = pIn;
    if (nCol <= unaff_s7) goto LAB_000b5e64;
    goto LAB_000b5db4;
  }
LAB_000b5e64:
  iVar6 = 0;
  abPK = unaff_s0;
  nCol = unaff_s2;
  pIn = unaff_s8;
LAB_000b5de4:
  if (pSStack_34 == *(SessionInput **)puVar3) {
    return iVar6;
  }
  pcVar4 = sessionChangesetNext;
  pIn_00 = pSStack_34;
  puVar22 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_90 = puVar3;
  piVar21 = *(int **)(puVar22 + 0xdac9c);
  iVar19 = pIn_00[2].iCurrent;
  iStack_ac = *piVar21;
  puStack_a8 = abPK;
  puStack_a4 = unaff_s1;
  iStack_a0 = nCol;
  iStack_9c = unaff_s3;
  ppsStack_98 = unaff_s4;
  puStack_94 = unaff_s5;
  iStack_8c = unaff_s7;
  pSStack_88 = pIn;
  pcStack_84 = pcVar4;
  if (iVar19 != 0) {
    p_Var14 = pIn_00[1].xInput;
    iVar6 = 0;
    if (0 < (int)p_Var14) {
      iVar20 = *(int *)(puVar22 + 0xdaa20);
      do {
        iVar8 = iVar6 * 4;
        iVar6 = iVar6 + 1;
        (*(code *)(iVar20 + -0x18d4))(*(undefined4 *)(iVar19 + iVar8));
        p_Var14 = pIn_00[1].xInput;
        iVar19 = pIn_00[2].iCurrent;
      } while (iVar6 < (int)p_Var14 << 1);
    }
    (**(code **)(puVar22 + 0xdabd0))(iVar19,0,(int)p_Var14 << 3);
  }
  puVar9 = (u8 *)sessionInputBuffer(pIn_00,2);
  pIn_00[1].buf.aBuf = puVar9;
  if (puVar9 != (u8 *)0x0) goto LAB_000b6458;
  if (pIn_00->nData <= pIn_00->iNext) {
LAB_000b6494:
    puVar9 = (u8 *)0x65;
    goto LAB_000b6458;
  }
  (*(code *)(*(int *)(puVar22 + 0xdaa1c) + 0x27a4))(pIn_00);
  iVar19 = pIn_00->iNext;
  puVar9 = pIn_00->aData;
  iVar6 = *(int *)(puVar22 + 0xdaa20);
  pIn_00->iCurrent = iVar19;
  pIn_00->iNext = iVar19 + 1;
  bVar1 = puVar9[iVar19];
  while (puVar10 = (undefined1 *)(uint)bVar1, ((uint)puVar10 & 0xfb) == 0x50) {
    if (ppsVar16 != (sqlite3_value **)0x0) {
      *ppsVar16 = (sqlite3_value *)0x1;
    }
    pIn_00[1].aData = (u8 *)(uint)(puVar10 == (undefined1 *)0x50);
    puStack_b4 = (u8 *)sessionChangesetBufferTblhdr(pIn_00,&iStack_b0);
    if (puStack_b4 != (u8 *)0x0) {
LAB_000b6434:
      p_Var14 = pIn_00[1].xInput;
      iVar19 = pIn_00[1].bNoDiscard;
      pIn_00[1].buf.aBuf = puStack_b4;
      pIn_00[2].iCurrent = iVar19;
      iVar19 = iVar19 + (int)p_Var14 * 8;
      pIn_00[2].bNoDiscard = iVar19;
      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);
      puVar9 = puStack_b4;
      goto LAB_000b6458;
    }
    bVar1 = pIn_00->aData[pIn_00->iNext];
    p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1;
    if ((char)bVar1 < '\0') {
      iVar19 = (*(code *)(iVar6 + 0x3388))(pIn_00->aData + pIn_00->iNext,&pIn_00[1].xInput);
      p_Var14 = pIn_00[1].xInput;
    }
    else {
      iVar19 = 1;
      pIn_00[1].xInput = p_Var14;
    }
    if ((int)p_Var14 < 1) {
      (**(code **)(puVar22 + 0xdaa58))
                (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,
                 0x3018b,*(int *)(puVar22 + 0xda7d0) + 0x625c);
      puVar9 = (u8 *)0xb;
      p_Var14 = pIn_00[1].xInput;
      iVar19 = pIn_00[1].bNoDiscard;
      pIn_00[1].buf.aBuf = (u8 *)0xb;
      pIn_00[2].iCurrent = iVar19;
      iVar19 = iVar19 + (int)p_Var14 * 8;
      pIn_00[2].bNoDiscard = iVar19;
      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);
      goto LAB_000b6458;
    }
    iVar20 = pIn_00->iNext;
    pIn_00[1].iCurrent = 0;
    iStack_b0 = iStack_b0 - iVar19;
    pIn_00->iNext = iVar20 + iVar19;
    sessionBufferGrow((SessionBuffer *)(pIn_00 + 1),(int)p_Var14 * 8 + iStack_b0,(int *)&puStack_b4)
    ;
    if (puStack_b4 != (u8 *)0x0) goto LAB_000b6434;
    iVar19 = (int)pIn_00[1].xInput * 8;
    (**(code **)(puVar22 + 0xdabd0))(pIn_00[1].bNoDiscard,0,iVar19);
    (**(code **)(puVar22 + 0xdaca4))
              (pIn_00[1].bNoDiscard + iVar19,pIn_00->aData + pIn_00->iNext,iStack_b0);
    p_Var14 = pIn_00[1].xInput;
    iVar20 = pIn_00->iNext;
    iVar19 = pIn_00[1].bNoDiscard + (int)p_Var14 * 8;
    pIn_00[2].iCurrent = pIn_00[1].bNoDiscard;
    pIn_00[2].bNoDiscard = iVar19;
    pIn_00[1].buf.aBuf = puStack_b4;
    pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);
    pIn_00->iNext = iVar20 + iStack_b0;
    puVar9 = puStack_b4;
    if (puStack_b4 != (u8 *)0x0) goto LAB_000b6458;
    puVar9 = (u8 *)sessionInputBuffer(pIn_00,2);
    pIn_00[1].buf.aBuf = puVar9;
    if (puVar9 != (u8 *)0x0) goto LAB_000b6458;
    iVar19 = pIn_00->iNext;
    pIn_00->iCurrent = iVar19;
    if (pIn_00->nData <= iVar19) goto LAB_000b6494;
    puVar9 = pIn_00->aData;
    pIn_00->iNext = iVar19 + 1;
    bVar1 = puVar9[iVar19];
  }
  if ((pIn_00[1].buf.nAlloc == 0) ||
     ((puVar15 = pIn_00[1].aData, puVar15 != (u8 *)0x0 && (pIn_00[1].nData != 0)))) {
    uVar17 = 0x301e0;
  }
  else {
    iVar19 = pIn_00->iNext;
    pIn_00[1].pIn = puVar10;
    pIn_00->iNext = iVar19 + 1;
    pIn_00[1].bEof = (uint)puVar9[iVar19];
    if ((puVar10 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f) < 0)) {
      p_Var14 = pIn_00[1].xInput;
      if (abPK_00 != (int *)0x0) {
        if (puVar15 != (u8 *)0x0) {
          if (puVar10 != &DAT_00000009) goto LAB_000b65d4;
          if ((int)p_Var14 < 1) goto LAB_000b6830;
          p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard;
          p_Var13 = p_Var14 + (int)p_Var11;
          p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;
          do {
            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {
              p_Var14 = p_Var14 + 1;
            }
            p_Var11 = p_Var11 + 1;
            if (p_Var13 == p_Var11) goto LAB_000b65d4;
          } while( true );
        }
        if (puVar10 != &DAT_00000017) goto LAB_000b65d4;
        p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var14 << 1);
        goto LAB_000b65d4;
      }
      ppsVar18 = (sqlite3_value **)pIn_00[2].iCurrent;
      ppsVar16 = ppsVar18;
      apOut_00 = ppsVar18 + (int)p_Var14;
      if (pIn_00[1].nData != 0) {
        ppsVar16 = ppsVar18 + (int)p_Var14;
        apOut_00 = ppsVar18;
      }
      if (puVar10 == (undefined1 *)0x12) {
LAB_000b6678:
        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00);
        pIn_00[1].buf.aBuf = puVar9;
        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;
        if (pIn_00[1].aData == (u8 *)0x0) {
          if (pIn_00[1].nData == 0) goto LAB_000b6734;
          puVar10 = (undefined1 *)pIn_00[1].pIn;
          if (puVar10 != &DAT_00000017) goto LAB_000b6788;
        }
        else {
          puVar10 = (undefined1 *)pIn_00[1].pIn;
          if (puVar10 != &DAT_00000017) {
            iVar19 = pIn_00[1].nData;
            goto LAB_000b6780;
          }
        }
        p_Var14 = pIn_00[1].xInput;
        iVar19 = 0;
        if (0 < (int)p_Var14) {
          do {
            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {
              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =
                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);
              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {
                uVar17 = 0x30212;
                goto LAB_000b653c;
              }
              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;
              p_Var14 = pIn_00[1].xInput;
            }
            iVar19 = iVar19 + 1;
          } while (iVar19 < (int)p_Var14);
        }
      }
      else {
        if (puVar15 != (u8 *)0x0) {
          if (puVar10 != &DAT_00000009) goto LAB_000b6678;
          abPK_00 = (int *)pIn_00[2].bNoDiscard;
        }
        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16);
        pIn_00[1].buf.aBuf = puVar9;
        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;
        if ((undefined1 *)pIn_00[1].pIn != &DAT_00000009) {
          p_Var14 = pIn_00[1].xInput;
          goto LAB_000b6678;
        }
        if (pIn_00[1].aData == (u8 *)0x0) {
          puVar9 = (u8 *)0x64;
          if (pIn_00[1].nData == 0) goto LAB_000b6458;
          puVar10 = &DAT_00000009;
        }
        else {
          iVar19 = pIn_00[1].nData;
          puVar10 = &DAT_00000009;
LAB_000b6780:
          puVar9 = (u8 *)0x64;
          if (iVar19 == 0) goto LAB_000b6458;
        }
LAB_000b6788:
        if (puVar10 == (undefined1 *)0x12) {
          puVar9 = (u8 *)0x64;
          pIn_00[1].pIn = &DAT_00000009;
          goto LAB_000b6458;
        }
        if (puVar10 == &DAT_00000009) {
          pIn_00[1].pIn = (void *)0x12;
          puVar9 = (u8 *)0x64;
          goto LAB_000b6458;
        }
      }
LAB_000b6734:
      puVar9 = (u8 *)0x64;
      goto LAB_000b6458;
    }
    uVar17 = 0x301e6;
  }
LAB_000b653c:
  (**(code **)(puVar22 + 0xdaa58))
            (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,uVar17,
             *(int *)(puVar22 + 0xda7d0) + 0x625c);
  puVar9 = (u8 *)0xb;
  pIn_00[1].buf.aBuf = (u8 *)0xb;
LAB_000b6458:
  while (iStack_ac != *piVar21) {
    (**(code **)(puVar22 + 0xdac70))();
LAB_000b6830:
    p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;
LAB_000b65d4:
    puVar9 = (u8 *)sessionChangesetBufferRecord(pIn_00,(int)p_Var14,pnByte);
    pIn_00[1].buf.aBuf = puVar9;
    if (puVar9 == (u8 *)0x0) {
      *abPK_00 = (int)(pIn_00->aData + pIn_00->iNext);
      pIn_00->iNext = pIn_00->iNext + *pnByte;
      puVar9 = (u8 *)0x64;
    }
  }
  return (int)puVar9;
code_r0x000b6070:
  pnByte = *(int **)pdVar12;
  ppsVar16 = *(sqlite3_value ***)((int)pdVar12 + 4);
  dVar23 = *pdVar12;
  uVar2 = psVar7->flags;
  abPK_00 = (int *)(uVar2 & 0x2400);
  if (unaff_s5 == (undefined *)0x1) {
    if ((uVar2 & 0x2400) == 0) {
      *(sqlite3_value ***)((int)&psVar7->u + 4) = ppsVar16;
      (psVar7->u).nZero = (int)pnByte;
      psVar7->flags = 4;
    }
    else {
      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(psVar7);
    }
  }
  else {
    nByte = (int)pnByte;
    ppsStack_3c = ppsVar16;
    if ((uVar2 & 0x2400) == 0) {
      psVar7->flags = 1;
    }
    else {
      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(psVar7);
    }
    if (!NAN(dVar23)) {
      (psVar7->u).r = dVar23;
      psVar7->flags = 8;
    }
  }
  unaff_s4 = (sqlite3_value **)(uint)(iVar19 < nCol);
  pIn->iNext = pIn->iNext + 8;
  if (unaff_s4 == (sqlite3_value **)0x0) {
    iVar6 = 0;
    unaff_s7 = iVar19;
    goto LAB_000b5de4;
  }
  goto LAB_000b5dac;
}



int FUN_000b5d20(int param_1,int *param_2,int *param_3,undefined4 *param_4)

{
  byte bVar1;
  ushort uVar2;
  undefined *puVar3;
  code *pcVar4;
  code *pcVar5;
  int iVar6;
  double *pdVar7;
  uint uVar8;
  char *pcVar9;
  double *pdVar10;
  byte *pbVar11;
  char *pcVar12;
  int *piVar13;
  int *piVar14;
  int *piVar15;
  int iVar16;
  undefined4 *puVar17;
  undefined4 uVar18;
  int iVar19;
  int iVar20;
  int *unaff_s0;
  undefined *unaff_s1;
  int *unaff_s2;
  int iVar21;
  int *unaff_s3;
  int iVar22;
  int *unaff_s4;
  int *piVar23;
  undefined *unaff_s5;
  int unaff_s7;
  undefined *puVar24;
  int unaff_s8;
  double dVar25;
  int iStack_b4;
  int iStack_b0;
  int iStack_ac;
  int *piStack_a8;
  undefined *puStack_a4;
  int *piStack_a0;
  int *piStack_9c;
  int *piStack_98;
  undefined *puStack_94;
  undefined *puStack_90;
  int iStack_8c;
  int iStack_88;
  code *pcStack_84;
  undefined *local_70;
  int *local_40;
  undefined4 *local_3c;
  int local_34;
  
  puVar3 = PTR___stack_chk_guard_00190e24;
  puVar24 = PTR_LAB_00190bc0;
  local_34 = *(int *)PTR___stack_chk_guard_00190e24;
  piVar13 = param_2;
  piVar14 = param_3;
  puVar17 = param_4;
  if (0 < (int)param_2) {
    iVar20 = 0;
    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);
    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);
    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;
    unaff_s5 = PTR_LAB_00190ba8;
LAB_000b5dac:
    unaff_s3 = (int *)0x1;
    unaff_s7 = iVar20;
LAB_000b5db4:
    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {
      unaff_s7 = unaff_s7 + 1;
      iVar6 = 0;
      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;
    }
    piVar13 = (int *)&DAT_00000009;
    iVar6 = FUN_000b57e0(param_1);
    if (iVar6 != 0) goto LAB_000b5de4;
    iVar20 = *(int *)(param_1 + 8);
    piVar13 = (int *)(iVar20 + 1);
    if (*(int *)(param_1 + 0x10) <= iVar20) {
      puVar17 = (undefined4 *)&DAT_000300ea;
LAB_000b5e90:
      local_70 = PTR_LAB_00190958 + 0x625c;
      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);
      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);
      (*(code *)PTR_sqlite3_log_00190be0)(0xb);
      iVar6 = 0xb;
      goto LAB_000b5de4;
    }
    *(int **)(param_1 + 8) = piVar13;
    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);
    if (unaff_s5 != (undefined *)0x0) {
      puVar17 = (undefined4 *)&DAT_00000028;
      piVar14 = (int *)0x0;
      unaff_s4 = param_4 + unaff_s7;
      pdVar7 = (double *)(*pcVar4)(0);
      if (pdVar7 == (double *)0x0) {
        iVar6 = 7;
        *unaff_s4 = 0;
        goto LAB_000b5de4;
      }
      *(undefined2 *)(pdVar7 + 1) = 1;
      *(undefined4 *)(pdVar7 + 4) = 0;
      *unaff_s4 = (int)pdVar7;
      piVar14 = *(int **)(param_1 + 8);
      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);
      if (unaff_s5 + -3 < (undefined *)0x2) {
        if ((char)*(byte *)pdVar10 < '\0') {
          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);
          piVar14 = *(int **)(param_1 + 8);
        }
        else {
          iVar20 = 1;
          local_40 = (int *)(uint)*(byte *)pdVar10;
        }
        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);
        piVar13 = local_40;
        iVar6 = FUN_000b57e0(param_1);
        piVar23 = local_40;
        if (iVar6 != 0) goto LAB_000b5de4;
        puVar17 = (undefined4 *)&DAT_00030000;
        if (((int)local_40 < 0) ||
           (piVar15 = *(int **)(param_1 + 8),
           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {
          puVar17 = (undefined4 *)&DAT_000300fd;
          unaff_s3 = local_40;
          goto LAB_000b5e90;
        }
        iVar20 = *unaff_s4;
        unaff_s4 = *(int **)(param_1 + 0xc);
        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();
        piVar14 = piVar15;
        unaff_s3 = piVar23;
        if (iVar6 == 0) {
          piVar13 = (int *)((int)piVar23 + 1);
          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));
          if (iVar6 != 0) {
            piVar14 = piVar23;
            uVar18 = (*(code *)PTR_memcpy_00190e2c)
                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));
            iVar6 = 0;
            if (iVar20 == 0) {
              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);
              piVar13 = local_40;
            }
            else {
              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);
              local_70 = PTR_sqlite3_free_0019096c;
              piVar14 = piVar23;
              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);
              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);
              piVar13 = local_40;
            }
            iVar20 = unaff_s7 + 1;
            local_40 = piVar13;
            if (iVar20 < (int)param_2) goto LAB_000b5dac;
            goto LAB_000b5de4;
          }
        }
        iVar6 = 7;
        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);
        goto LAB_000b5de4;
      }
      iVar20 = unaff_s7 + 1;
      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);
      if (piVar13 != (int *)0x0) goto code_r0x000b6070;
    }
    unaff_s7 = unaff_s7 + 1;
    unaff_s0 = param_3;
    unaff_s2 = param_2;
    unaff_s8 = param_1;
    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;
    goto LAB_000b5db4;
  }
LAB_000b5e64:
  iVar6 = 0;
  param_3 = unaff_s0;
  param_2 = unaff_s2;
  param_1 = unaff_s8;
LAB_000b5de4:
  if (local_34 == *(int *)puVar3) {
    return iVar6;
  }
  pcVar4 = FUN_000b6188;
  iVar20 = local_34;
  puVar24 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_90 = puVar3;
  piVar23 = *(int **)(puVar24 + 0xdac9c);
  iVar6 = *(int *)(iVar20 + 0x5c);
  iStack_ac = *piVar23;
  piStack_a8 = param_3;
  puStack_a4 = unaff_s1;
  piStack_a0 = param_2;
  piStack_9c = unaff_s3;
  piStack_98 = unaff_s4;
  puStack_94 = unaff_s5;
  iStack_8c = unaff_s7;
  iStack_88 = param_1;
  pcStack_84 = pcVar4;
  if (iVar6 != 0) {
    iVar16 = *(int *)(iVar20 + 0x4c);
    iVar21 = 0;
    if (0 < iVar16) {
      iVar22 = *(int *)(puVar24 + 0xdaa20);
      do {
        iVar16 = iVar21 * 4;
        iVar21 = iVar21 + 1;
        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));
        iVar16 = *(int *)(iVar20 + 0x4c);
        iVar6 = *(int *)(iVar20 + 0x5c);
      } while (iVar21 < iVar16 << 1);
    }
    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);
  }
  iVar6 = FUN_000b57e0(iVar20,2);
  *(int *)(iVar20 + 0x40) = iVar6;
  if (iVar6 != 0) goto LAB_000b6458;
  if (*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)) {
LAB_000b6494:
    iVar6 = 0x65;
    goto LAB_000b6458;
  }
  (*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20);
  iVar6 = *(int *)(iVar20 + 8);
  iVar16 = *(int *)(iVar20 + 0xc);
  iVar21 = *(int *)(puVar24 + 0xdaa20);
  *(int *)(iVar20 + 4) = iVar6;
  *(int *)(iVar20 + 8) = iVar6 + 1;
  bVar1 = *(byte *)(iVar16 + iVar6);
  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {
    if (puVar17 != (undefined4 *)0x0) {
      *puVar17 = 1;
    }
    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);
    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);
    if (iStack_b4 != 0) {
LAB_000b6434:
      *(int *)(iVar20 + 0x40) = iStack_b4;
      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);
      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;
      *(int *)(iVar20 + 0x58) = iVar6;
      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);
      iVar6 = iStack_b4;
      goto LAB_000b6458;
    }
    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));
    bVar1 = *pbVar11;
    uVar8 = (uint)bVar1;
    if ((char)bVar1 < '\0') {
      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);
      uVar8 = *(uint *)(iVar20 + 0x4c);
    }
    else {
      iVar6 = 1;
      *(uint *)(iVar20 + 0x4c) = uVar8;
    }
    if ((int)uVar8 < 1) {
      (**(code **)(puVar24 + 0xdaa58))
                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,
                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);
      iVar6 = 0xb;
      *(undefined4 *)(iVar20 + 0x40) = 0xb;
      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);
      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;
      *(int *)(iVar20 + 0x58) = iVar16;
      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);
      goto LAB_000b6458;
    }
    *(undefined4 *)(iVar20 + 0x30) = 0;
    iStack_b0 = iStack_b0 - iVar6;
    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;
    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);
    if (iStack_b4 != 0) goto LAB_000b6434;
    iVar6 = *(int *)(iVar20 + 0x4c) * 8;
    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);
    (**(code **)(puVar24 + 0xdaca4))
              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),
               iStack_b0);
    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;
    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);
    *(int *)(iVar20 + 0x58) = iVar6;
    *(int *)(iVar20 + 0x40) = iStack_b4;
    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);
    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;
    iVar6 = iStack_b4;
    if (iStack_b4 != 0) goto LAB_000b6458;
    iVar6 = FUN_000b57e0(iVar20,2);
    *(int *)(iVar20 + 0x40) = iVar6;
    if (iVar6 != 0) goto LAB_000b6458;
    iVar6 = *(int *)(iVar20 + 8);
    *(int *)(iVar20 + 4) = iVar6;
    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;
    iVar16 = *(int *)(iVar20 + 0xc);
    *(int *)(iVar20 + 8) = iVar6 + 1;
    bVar1 = *(byte *)(iVar16 + iVar6);
  }
  if ((*(int *)(iVar20 + 0x48) == 0) ||
     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))) {
    uVar18 = 0x301e0;
  }
  else {
    iVar21 = *(int *)(iVar20 + 8);
    *(uint *)(iVar20 + 0x50) = uVar8;
    *(int *)(iVar20 + 8) = iVar21 + 1;
    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);
    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {
      iVar16 = *(int *)(iVar20 + 0x4c);
      if (piVar13 != (int *)0x0) {
        if (iVar6 != 0) {
          if (uVar8 != 9) goto LAB_000b65d4;
          if (iVar16 < 1) goto LAB_000b6830;
          pcVar9 = *(char **)(iVar20 + 0x58);
          pcVar12 = pcVar9 + iVar16;
          iVar16 = 0;
          do {
            if (*pcVar9 != '\0') {
              iVar16 = iVar16 + 1;
            }
            pcVar9 = pcVar9 + 1;
            if (pcVar12 == pcVar9) goto LAB_000b65d4;
          } while( true );
        }
        if (uVar8 != 0x17) goto LAB_000b65d4;
        iVar16 = iVar16 << 1;
        goto LAB_000b65d4;
      }
      iVar19 = *(int *)(iVar20 + 0x5c);
      iVar22 = iVar19 + iVar16 * 4;
      iVar21 = iVar19;
      if (*(int *)(iVar20 + 0x3c) != 0) {
        iVar21 = iVar22;
        iVar22 = iVar19;
      }
      if (uVar8 == 0x12) {
LAB_000b6678:
        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);
        *(int *)(iVar20 + 0x40) = iVar6;
        if (iVar6 != 0) goto LAB_000b6458;
        if (*(int *)(iVar20 + 0x38) == 0) {
          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;
          iVar16 = *(int *)(iVar20 + 0x50);
          if (iVar16 != 0x17) goto LAB_000b6788;
        }
        else {
          iVar16 = *(int *)(iVar20 + 0x50);
          if (iVar16 != 0x17) {
            iVar21 = *(int *)(iVar20 + 0x3c);
            goto LAB_000b6780;
          }
        }
        iVar16 = *(int *)(iVar20 + 0x4c);
        iVar6 = 0;
        if (0 < iVar16) {
          do {
            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {
              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =
                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);
              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {
                uVar18 = 0x30212;
                goto LAB_000b653c;
              }
              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;
              iVar16 = *(int *)(iVar20 + 0x4c);
            }
            iVar6 = iVar6 + 1;
          } while (iVar6 < iVar16);
        }
      }
      else {
        if (iVar6 != 0) {
          if (uVar8 != 9) goto LAB_000b6678;
          piVar13 = *(int **)(iVar20 + 0x58);
        }
        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);
        *(int *)(iVar20 + 0x40) = iVar6;
        if (iVar6 != 0) goto LAB_000b6458;
        if (*(int *)(iVar20 + 0x50) != 9) {
          iVar16 = *(int *)(iVar20 + 0x4c);
          goto LAB_000b6678;
        }
        if (*(int *)(iVar20 + 0x38) == 0) {
          iVar6 = 100;
          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;
          iVar16 = 9;
        }
        else {
          iVar21 = *(int *)(iVar20 + 0x3c);
          iVar16 = 9;
LAB_000b6780:
          iVar6 = 100;
          if (iVar21 == 0) goto LAB_000b6458;
        }
LAB_000b6788:
        if (iVar16 == 0x12) {
          iVar6 = 100;
          *(undefined4 *)(iVar20 + 0x50) = 9;
          goto LAB_000b6458;
        }
        if (iVar16 == 9) {
          *(undefined4 *)(iVar20 + 0x50) = 0x12;
          iVar6 = 100;
          goto LAB_000b6458;
        }
      }
LAB_000b6734:
      iVar6 = 100;
      goto LAB_000b6458;
    }
    uVar18 = 0x301e6;
  }
LAB_000b653c:
  (**(code **)(puVar24 + 0xdaa58))
            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,
             *(int *)(puVar24 + 0xda7d0) + 0x625c);
  iVar6 = 0xb;
  *(undefined4 *)(iVar20 + 0x40) = 0xb;
LAB_000b6458:
  while (iStack_ac != *piVar23) {
    (**(code **)(puVar24 + 0xdac70))();
LAB_000b6830:
    iVar16 = 0;
LAB_000b65d4:
    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);
    *(int *)(iVar20 + 0x40) = iVar6;
    if (iVar6 == 0) {
      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);
      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;
      iVar6 = 100;
    }
  }
  return iVar6;
code_r0x000b6070:
  piVar14 = *(int **)pdVar10;
  puVar17 = *(undefined4 **)((int)pdVar10 + 4);
  dVar25 = *pdVar10;
  uVar2 = *(ushort *)(pdVar7 + 1);
  piVar13 = (int *)(uVar2 & 0x2400);
  if (unaff_s5 == (undefined *)0x1) {
    if ((uVar2 & 0x2400) == 0) {
      *(undefined4 **)((int)pdVar7 + 4) = puVar17;
      *(int **)pdVar7 = piVar14;
      *(undefined2 *)(pdVar7 + 1) = 4;
    }
    else {
      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);
    }
  }
  else {
    local_40 = piVar14;
    local_3c = puVar17;
    if ((uVar2 & 0x2400) == 0) {
      *(undefined2 *)(pdVar7 + 1) = 1;
    }
    else {
      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);
    }
    if (!NAN(dVar25)) {
      *pdVar7 = dVar25;
      *(undefined2 *)(pdVar7 + 1) = 8;
    }
  }
  unaff_s4 = (int *)(uint)(iVar20 < (int)param_2);
  *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8;
  if (unaff_s4 == (int *)0x0) {
    iVar6 = 0;
    unaff_s7 = iVar20;
    goto LAB_000b5de4;
  }
  goto LAB_000b5dac;
}


lui gp,0xe
addiu gp,gp,0x2c00
addu gp,gp,t9
addiu sp,sp,-0x80
sdc1 f20,0x78(sp)
sw s6,0x68(sp)
sw gp,0x18(sp)
sw ra,0x74(sp)
sw s8,0x70(sp)
sw s7,0x6c(sp)
sw s5,0x64(sp)
sw s4,0x60(sp)
sw s3,0x5c(sp)
sw s2,0x58(sp)
sw s1,0x54(sp)
sw s0,0x50(sp)
lw s6,-0x7afc(gp)
sw a3,0x24(sp)
lw v0,0x0(s6)
sw v0,0x4c(sp)
blez a1,0x000b5e64
_lw v0,-0x7d60(gp)
or t0,zero,zero
lw s5,-0x7d78(gp)
or s2,a1,zero
lw s7,-0x7d78(gp)
or s8,a0,zero
lw s1,-0x7cf4(gp)
or s0,a2,zero
sw v0,0x30(sp)
addiu v0,s5,0x924
sw v0,0x28(sp)
addiu v0,s7,-0x2b48
addiu s1,s1,0x57e0
sw v0,0x2c(sp)
li s3,0x1
or s7,t0,zero
beq s0,zero,0x000b5dc8
_addu v0,s0,s7
lbu v0,0x0(v0)
beq v0,zero,0x000b5e6c
_nop
li a1,0x9
or t9,s1,zero
bal 0x000b57e0
_or a0,s8,zero
lw gp,0x18(sp)
beq v0,zero,0x000b5e28
_or t1,v0,zero
lw a0,0x4c(sp)
or v0,t1,zero
lw v1,0x0(s6)
bne a0,v1,0x000b617c
_lw ra,0x74(sp)
lw s8,0x70(sp)
lw s7,0x6c(sp)
lw s6,0x68(sp)
lw s5,0x64(sp)
lw s4,0x60(sp)
lw s3,0x5c(sp)
lw s2,0x58(sp)
lw s1,0x54(sp)
lw s0,0x50(sp)
ldc1 f20,0x78(sp)
jr ra
_addiu sp,sp,0x80
lw a0,0x8(s8)
lw v0,0x10(s8)
slt v0,a0,v0
beq v0,zero,0x000b5e84
_addiu a1,a0,0x1
lw v0,0xc(s8)
sw a1,0x8(s8)
addu a0,v0,a0
lbu s5,0x0(a0)
bne s5,zero,0x000b5ec0
_lw v0,0x24(sp)
addiu s7,s7,0x1
slt v0,s7,s2
bne v0,zero,0x000b5db4
_nop
b 0x000b5de4
_or t1,zero,zero
addiu s7,s7,0x1
slt v0,s7,s2
bne v0,zero,0x000b5db4
_or t1,zero,zero
b 0x000b5de4
_nop
lui a3,0x3
li a0,0xb
addiu a3,a3,0xea
lw v0,-0x7fc8(gp)
lw a2,-0x7fc4(gp)
lw a1,-0x7fc4(gp)
addiu v0,v0,0x625c
lw t9,-0x7d40(gp)
addiu a2,a2,-0x5e64
addiu a1,a1,-0x6378
jalr t9
_sw v0,0x10(sp)
li t1,0xb
b 0x000b5de4
_lw gp,0x18(sp)
li a3,0x28
lw t9,0x28(sp)
or a2,zero,zero
sll s4,s7,0x2
or a0,zero,zero
jalr t9
_addu s4,v0,s4
beq v0,zero,0x000b5f70
_lw gp,0x18(sp)
sh s3,0x8(v0)
addiu a1,s5,-0x3
sw zero,0x20(v0)
sw v0,0x0(s4)
sltiu a1,a1,0x2
lw a2,0x8(s8)
lw a0,0xc(s8)
beq a1,zero,0x000b605c
_addu a0,a0,a2
lbu a1,0x0(a0)
seb v0,a1
bltz v0,0x000b5f7c
_lw t9,-0x7d78(gp)
li v0,0x1
sw a1,0x40(sp)
addu v0,v0,a2
or a0,s8,zero
or t9,s1,zero
bal 0x000b57e0
_sw v0,0x8(s8)
lw gp,0x18(sp)
bne v0,zero,0x000b5de4
_or t1,v0,zero
lw s3,0x40(sp)
bltz s3,0x000b5f64
_lui a3,0x3
lw a2,0x8(s8)
lw v0,0x10(s8)
subu v0,v0,a2
slt v0,v0,s3
beq v0,zero,0x000b5f94
_lw t9,-0x7d98(gp)
li a0,0xb
b 0x000b5e90
_addiu a3,a3,0xfd
li t1,0x7
b 0x000b5de4
_sw zero,0x0(s4)
addiu t9,t9,0x3388
jalr t9
_addiu a1,sp,0x40
lw a2,0x8(s8)
b 0x000b5f20
_lw a1,0x40(sp)
lw v0,0x0(s4)
lw s4,0xc(s8)
sw a2,0x34(sp)
jalr t9
_sw v0,0x38(sp)
lw gp,0x18(sp)
bne v0,zero,0x000b6140
_lw a2,0x34(sp)
addiu a1,s3,0x1
lw t9,0x2c(sp)
sw v0,0x3c(sp)
sra v0,s3,0x1f
sltu a0,a1,s3
sw a2,0x34(sp)
jalr t9
_addu a0,a0,v0
beq v0,zero,0x000b6140
_lw gp,0x18(sp)
lw a2,0x34(sp)
or a0,v0,zero
lw t9,-0x7af4(gp)
addu a1,s4,a2
jalr t9
_or a2,s3,zero
lw a0,0x38(sp)
or t4,v0,zero
lw gp,0x18(sp)
beq a0,zero,0x000b6158
_lw t1,0x3c(sp)
lw v0,0x30(sp)
xori a3,s5,0x3
sw t1,0x34(sp)
or a1,t4,zero
sltiu a3,a3,0x1
addiu t9,v0,-0x2aec
lw v0,-0x7fb4(gp)
or a2,s3,zero
jalr t9
_sw v0,0x10(sp)
addiu t0,s7,0x1
lw v0,0x8(s8)
lw a1,0x40(sp)
slt a0,t0,s2
lw gp,0x18(sp)
lw t1,0x34(sp)
addu v0,v0,a1
bne a0,zero,0x000b5dac
_sw v0,0x8(s8)
b 0x000b5de4
_nop
addiu a1,s5,-0x1
addiu s7,s7,0x1
sltiu a1,a1,0x2
beq a1,zero,0x000b5e58
_or t0,s7,zero
lwl a1,0x0(a0)
li t1,0x1
lwl t3,0x4(a0)
lwr a1,0x3(a0)
lwr t3,0x7(a0)
or a2,a1,zero
lhu a1,0x8(v0)
or a3,t3,zero
beq s5,t1,0x000b60e0
_andi a1,a1,0x2400
mtc1 t3,f20
sw t3,0x44(sp)
sw a2,0x40(sp)
bne a1,zero,0x000b60f8
_mthc1 a2,f20
sh t1,0x8(v0)
c.un.D f20,f20
bc1t 0x000b60c4
_li a0,0x8
sdc1 f20,0x0(v0)
sh a0,0x8(v0)
lw v0,0x8(s8)
slt s4,s7,s2
addiu v0,v0,0x8
bne s4,zero,0x000b5dac
_sw v0,0x8(s8)
b 0x000b5de4
_or t1,zero,zero
bne a1,zero,0x000b6120
_li a0,0x4
sw t3,0x4(v0)
sw a2,0x0(v0)
b 0x000b60c4
_sh a0,0x8(v0)
lw t9,-0x7d78(gp)
or a0,v0,zero
sw v0,0x34(sp)
addiu t9,t9,-0x2170
jalr t9
_sw s7,0x38(sp)
lw gp,0x18(sp)
lw v0,0x34(sp)
b 0x000b60b0
_lw t0,0x38(sp)
lw t9,-0x7d78(gp)
or a0,v0,zero
addiu t9,t9,-0x20fc
jalr t9
_sw s7,0x34(sp)
lw gp,0x18(sp)
b 0x000b60c4
_lw t0,0x34(sp)
lw v0,0x8(s8)
li t1,0x7
lw a0,0x40(sp)
addu v0,v0,a0
b 0x000b5de4
_sw v0,0x8(s8)
lw v0,0x8(s8)
addiu t0,s7,0x1
lw a1,0x40(sp)
slt a0,t0,s2
addu v0,v0,a1
bne a0,zero,0x000b5dac
_sw v0,0x8(s8)
b 0x000b5de4
_nop
lw t9,-0x7b28(gp)
jalr t9
_nop
(translation_unit "int FUN_000b5d20(int param_1,int *param_2,int *param_3,undefined4 *param_4)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  double *pdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *pdVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  int *piVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 uVar18;\n  int iVar19;\n  int iVar20;\n  int *unaff_s0;\n  undefined *unaff_s1;\n  int *unaff_s2;\n  int iVar21;\n  int *unaff_s3;\n  int iVar22;\n  int *unaff_s4;\n  int *piVar23;\n  undefined *unaff_s5;\n  int unaff_s7;\n  undefined *puVar24;\n  int unaff_s8;\n  double dVar25;\n  int iStack_b4;\n  int iStack_b0;\n  int iStack_ac;\n  int *piStack_a8;\n  undefined *puStack_a4;\n  int *piStack_a0;\n  int *piStack_9c;\n  int *piStack_98;\n  undefined *puStack_94;\n  undefined *puStack_90;\n  int iStack_8c;\n  int iStack_88;\n  code *pcStack_84;\n  undefined *local_70;\n  int *local_40;\n  undefined4 *local_3c;\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar24 = PTR_LAB_00190bc0;\n  local_34 = *(int *)PTR___stack_chk_guard_00190e24;\n  piVar13 = param_2;\n  piVar14 = param_3;\n  puVar17 = param_4;\n  if (0 < (int)param_2) {\n    iVar20 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = (int *)0x1;\n    unaff_s7 = iVar20;\nLAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }\n    piVar13 = (int *)&DAT_00000009;\n    iVar6 = FUN_000b57e0(param_1);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar20 = *(int *)(param_1 + 8);\n    piVar13 = (int *)(iVar20 + 1);\n    if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    *(int **)(param_1 + 8) = piVar13;\n    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);\n    if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = param_3;\n    unaff_s2 = param_2;\n    unaff_s8 = param_1;\n    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  iVar6 = 0;\n  param_3 = unaff_s0;\n  param_2 = unaff_s2;\n  param_1 = unaff_s8;\nLAB_000b5de4:\n  if (local_34 == *(int *)puVar3) {\n    return iVar6;\n  }\n  pcVar4 = FUN_000b6188;\n  iVar20 = local_34;\n  puVar24 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_90 = puVar3;\n  piVar23 = *(int **)(puVar24 + 0xdac9c);\n  iVar6 = *(int *)(iVar20 + 0x5c);\n  iStack_ac = *piVar23;\n  piStack_a8 = param_3;\n  puStack_a4 = unaff_s1;\n  piStack_a0 = param_2;\n  piStack_9c = unaff_s3;\n  piStack_98 = unaff_s4;\n  puStack_94 = unaff_s5;\n  iStack_8c = unaff_s7;\n  iStack_88 = param_1;\n  pcStack_84 = pcVar4;\n  if (iVar6 != 0) {\n    iVar16 = *(int *)(iVar20 + 0x4c);\n    iVar21 = 0;\n    if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }\n    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);\n  }\n  iVar6 = FUN_000b57e0(iVar20,2);\n  *(int *)(iVar20 + 0x40) = iVar6;\n  if (iVar6 != 0) goto LAB_000b6458;\n  if (*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)) {\nLAB_000b6494:\n    iVar6 = 0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20);\n  iVar6 = *(int *)(iVar20 + 8);\n  iVar16 = *(int *)(iVar20 + 0xc);\n  iVar21 = *(int *)(puVar24 + 0xdaa20);\n  *(int *)(iVar20 + 4) = iVar6;\n  *(int *)(iVar20 + 8) = iVar6 + 1;\n  bVar1 = *(byte *)(iVar16 + iVar6);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }\n    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);\n    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);\n    if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar20 + 0x30) = 0;\n    iStack_b0 = iStack_b0 - iVar6;\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;\n    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);\n    if (iStack_b4 != 0) goto LAB_000b6434;\n    iVar6 = *(int *)(iVar20 + 0x4c) * 8;\n    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);\n    (**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);\n    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n    *(int *)(iVar20 + 0x58) = iVar6;\n    *(int *)(iVar20 + 0x40) = iStack_b4;\n    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;\n    iVar6 = iStack_b4;\n    if (iStack_b4 != 0) goto LAB_000b6458;\n    iVar6 = FUN_000b57e0(iVar20,2);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 != 0) goto LAB_000b6458;\n    iVar6 = *(int *)(iVar20 + 8);\n    *(int *)(iVar20 + 4) = iVar6;\n    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;\n    iVar16 = *(int *)(iVar20 + 0xc);\n    *(int *)(iVar20 + 8) = iVar6 + 1;\n    bVar1 = *(byte *)(iVar16 + iVar6);\n  }\n  if ((*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c);\n  iVar6 = 0xb;\n  *(undefined4 *)(iVar20 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_ac != *piVar23) {\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }\n  return iVar6;\ncode_r0x000b6070:\n  piVar14 = *(int **)pdVar10;\n  puVar17 = *(undefined4 **)((int)pdVar10 + 4);\n  dVar25 = *pdVar10;\n  uVar2 = *(ushort *)(pdVar7 + 1);\n  piVar13 = (int *)(uVar2 & 0x2400);\n  if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }\n  }\n  else {\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }\n  unaff_s4 = (int *)(uint)(iVar20 < (int)param_2);\n  *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8;\n  if (unaff_s4 == (int *)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar20;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}\n\n" (function_definition "int FUN_000b5d20(int param_1,int *param_2,int *param_3,undefined4 *param_4)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  double *pdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *pdVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  int *piVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 uVar18;\n  int iVar19;\n  int iVar20;\n  int *unaff_s0;\n  undefined *unaff_s1;\n  int *unaff_s2;\n  int iVar21;\n  int *unaff_s3;\n  int iVar22;\n  int *unaff_s4;\n  int *piVar23;\n  undefined *unaff_s5;\n  int unaff_s7;\n  undefined *puVar24;\n  int unaff_s8;\n  double dVar25;\n  int iStack_b4;\n  int iStack_b0;\n  int iStack_ac;\n  int *piStack_a8;\n  undefined *puStack_a4;\n  int *piStack_a0;\n  int *piStack_9c;\n  int *piStack_98;\n  undefined *puStack_94;\n  undefined *puStack_90;\n  int iStack_8c;\n  int iStack_88;\n  code *pcStack_84;\n  undefined *local_70;\n  int *local_40;\n  undefined4 *local_3c;\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar24 = PTR_LAB_00190bc0;\n  local_34 = *(int *)PTR___stack_chk_guard_00190e24;\n  piVar13 = param_2;\n  piVar14 = param_3;\n  puVar17 = param_4;\n  if (0 < (int)param_2) {\n    iVar20 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = (int *)0x1;\n    unaff_s7 = iVar20;\nLAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }\n    piVar13 = (int *)&DAT_00000009;\n    iVar6 = FUN_000b57e0(param_1);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar20 = *(int *)(param_1 + 8);\n    piVar13 = (int *)(iVar20 + 1);\n    if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    *(int **)(param_1 + 8) = piVar13;\n    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);\n    if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = param_3;\n    unaff_s2 = param_2;\n    unaff_s8 = param_1;\n    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  iVar6 = 0;\n  param_3 = unaff_s0;\n  param_2 = unaff_s2;\n  param_1 = unaff_s8;\nLAB_000b5de4:\n  if (local_34 == *(int *)puVar3) {\n    return iVar6;\n  }\n  pcVar4 = FUN_000b6188;\n  iVar20 = local_34;\n  puVar24 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_90 = puVar3;\n  piVar23 = *(int **)(puVar24 + 0xdac9c);\n  iVar6 = *(int *)(iVar20 + 0x5c);\n  iStack_ac = *piVar23;\n  piStack_a8 = param_3;\n  puStack_a4 = unaff_s1;\n  piStack_a0 = param_2;\n  piStack_9c = unaff_s3;\n  piStack_98 = unaff_s4;\n  puStack_94 = unaff_s5;\n  iStack_8c = unaff_s7;\n  iStack_88 = param_1;\n  pcStack_84 = pcVar4;\n  if (iVar6 != 0) {\n    iVar16 = *(int *)(iVar20 + 0x4c);\n    iVar21 = 0;\n    if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }\n    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);\n  }\n  iVar6 = FUN_000b57e0(iVar20,2);\n  *(int *)(iVar20 + 0x40) = iVar6;\n  if (iVar6 != 0) goto LAB_000b6458;\n  if (*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)) {\nLAB_000b6494:\n    iVar6 = 0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20);\n  iVar6 = *(int *)(iVar20 + 8);\n  iVar16 = *(int *)(iVar20 + 0xc);\n  iVar21 = *(int *)(puVar24 + 0xdaa20);\n  *(int *)(iVar20 + 4) = iVar6;\n  *(int *)(iVar20 + 8) = iVar6 + 1;\n  bVar1 = *(byte *)(iVar16 + iVar6);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }\n    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);\n    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);\n    if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar20 + 0x30) = 0;\n    iStack_b0 = iStack_b0 - iVar6;\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;\n    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);\n    if (iStack_b4 != 0) goto LAB_000b6434;\n    iVar6 = *(int *)(iVar20 + 0x4c) * 8;\n    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);\n    (**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);\n    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n    *(int *)(iVar20 + 0x58) = iVar6;\n    *(int *)(iVar20 + 0x40) = iStack_b4;\n    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;\n    iVar6 = iStack_b4;\n    if (iStack_b4 != 0) goto LAB_000b6458;\n    iVar6 = FUN_000b57e0(iVar20,2);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 != 0) goto LAB_000b6458;\n    iVar6 = *(int *)(iVar20 + 8);\n    *(int *)(iVar20 + 4) = iVar6;\n    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;\n    iVar16 = *(int *)(iVar20 + 0xc);\n    *(int *)(iVar20 + 8) = iVar6 + 1;\n    bVar1 = *(byte *)(iVar16 + iVar6);\n  }\n  if ((*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c);\n  iVar6 = 0xb;\n  *(undefined4 *)(iVar20 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_ac != *piVar23) {\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }\n  return iVar6;\ncode_r0x000b6070:\n  piVar14 = *(int **)pdVar10;\n  puVar17 = *(undefined4 **)((int)pdVar10 + 4);\n  dVar25 = *pdVar10;\n  uVar2 = *(ushort *)(pdVar7 + 1);\n  piVar13 = (int *)(uVar2 & 0x2400);\n  if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }\n  }\n  else {\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }\n  unaff_s4 = (int *)(uint)(iVar20 < (int)param_2);\n  *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8;\n  if (unaff_s4 == (int *)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar20;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" primitive_type (function_declarator "FUN_000b5d20(int param_1,int *param_2,int *param_3,undefined4 *param_4)" identifier (parameter_list "(int param_1,int *param_2,int *param_3,undefined4 *param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  double *pdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *pdVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  int *piVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 uVar18;\n  int iVar19;\n  int iVar20;\n  int *unaff_s0;\n  undefined *unaff_s1;\n  int *unaff_s2;\n  int iVar21;\n  int *unaff_s3;\n  int iVar22;\n  int *unaff_s4;\n  int *piVar23;\n  undefined *unaff_s5;\n  int unaff_s7;\n  undefined *puVar24;\n  int unaff_s8;\n  double dVar25;\n  int iStack_b4;\n  int iStack_b0;\n  int iStack_ac;\n  int *piStack_a8;\n  undefined *puStack_a4;\n  int *piStack_a0;\n  int *piStack_9c;\n  int *piStack_98;\n  undefined *puStack_94;\n  undefined *puStack_90;\n  int iStack_8c;\n  int iStack_88;\n  code *pcStack_84;\n  undefined *local_70;\n  int *local_40;\n  undefined4 *local_3c;\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar24 = PTR_LAB_00190bc0;\n  local_34 = *(int *)PTR___stack_chk_guard_00190e24;\n  piVar13 = param_2;\n  piVar14 = param_3;\n  puVar17 = param_4;\n  if (0 < (int)param_2) {\n    iVar20 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = (int *)0x1;\n    unaff_s7 = iVar20;\nLAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }\n    piVar13 = (int *)&DAT_00000009;\n    iVar6 = FUN_000b57e0(param_1);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar20 = *(int *)(param_1 + 8);\n    piVar13 = (int *)(iVar20 + 1);\n    if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    *(int **)(param_1 + 8) = piVar13;\n    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);\n    if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = param_3;\n    unaff_s2 = param_2;\n    unaff_s8 = param_1;\n    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  iVar6 = 0;\n  param_3 = unaff_s0;\n  param_2 = unaff_s2;\n  param_1 = unaff_s8;\nLAB_000b5de4:\n  if (local_34 == *(int *)puVar3) {\n    return iVar6;\n  }\n  pcVar4 = FUN_000b6188;\n  iVar20 = local_34;\n  puVar24 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_90 = puVar3;\n  piVar23 = *(int **)(puVar24 + 0xdac9c);\n  iVar6 = *(int *)(iVar20 + 0x5c);\n  iStack_ac = *piVar23;\n  piStack_a8 = param_3;\n  puStack_a4 = unaff_s1;\n  piStack_a0 = param_2;\n  piStack_9c = unaff_s3;\n  piStack_98 = unaff_s4;\n  puStack_94 = unaff_s5;\n  iStack_8c = unaff_s7;\n  iStack_88 = param_1;\n  pcStack_84 = pcVar4;\n  if (iVar6 != 0) {\n    iVar16 = *(int *)(iVar20 + 0x4c);\n    iVar21 = 0;\n    if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }\n    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);\n  }\n  iVar6 = FUN_000b57e0(iVar20,2);\n  *(int *)(iVar20 + 0x40) = iVar6;\n  if (iVar6 != 0) goto LAB_000b6458;\n  if (*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)) {\nLAB_000b6494:\n    iVar6 = 0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20);\n  iVar6 = *(int *)(iVar20 + 8);\n  iVar16 = *(int *)(iVar20 + 0xc);\n  iVar21 = *(int *)(puVar24 + 0xdaa20);\n  *(int *)(iVar20 + 4) = iVar6;\n  *(int *)(iVar20 + 8) = iVar6 + 1;\n  bVar1 = *(byte *)(iVar16 + iVar6);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }\n    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);\n    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);\n    if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar20 + 0x30) = 0;\n    iStack_b0 = iStack_b0 - iVar6;\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;\n    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);\n    if (iStack_b4 != 0) goto LAB_000b6434;\n    iVar6 = *(int *)(iVar20 + 0x4c) * 8;\n    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);\n    (**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);\n    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n    *(int *)(iVar20 + 0x58) = iVar6;\n    *(int *)(iVar20 + 0x40) = iStack_b4;\n    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;\n    iVar6 = iStack_b4;\n    if (iStack_b4 != 0) goto LAB_000b6458;\n    iVar6 = FUN_000b57e0(iVar20,2);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 != 0) goto LAB_000b6458;\n    iVar6 = *(int *)(iVar20 + 8);\n    *(int *)(iVar20 + 4) = iVar6;\n    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;\n    iVar16 = *(int *)(iVar20 + 0xc);\n    *(int *)(iVar20 + 8) = iVar6 + 1;\n    bVar1 = *(byte *)(iVar16 + iVar6);\n  }\n  if ((*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c);\n  iVar6 = 0xb;\n  *(undefined4 *)(iVar20 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_ac != *piVar23) {\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }\n  return iVar6;\ncode_r0x000b6070:\n  piVar14 = *(int **)pdVar10;\n  puVar17 = *(undefined4 **)((int)pdVar10 + 4);\n  dVar25 = *pdVar10;\n  uVar2 = *(ushort *)(pdVar7 + 1);\n  piVar13 = (int *)(uVar2 & 0x2400);\n  if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }\n  }\n  else {\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }\n  unaff_s4 = (int *)(uint)(iVar20 < (int)param_2);\n  *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8;\n  if (unaff_s4 == (int *)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar20;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "double *pdVar7;" primitive_type (pointer_declarator "*pdVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "double *pdVar10;" primitive_type (pointer_declarator "*pdVar10" * identifier) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int *unaff_s0;" primitive_type (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "undefined *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int *unaff_s2;" primitive_type (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int *unaff_s3;" primitive_type (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int *unaff_s4;" primitive_type (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int unaff_s7;" primitive_type identifier ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "int unaff_s8;" primitive_type identifier ;) (declaration "double dVar25;" primitive_type identifier ;) (declaration "int iStack_b4;" primitive_type identifier ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "int iStack_ac;" primitive_type identifier ;) (declaration "int *piStack_a8;" primitive_type (pointer_declarator "*piStack_a8" * identifier) ;) (declaration "undefined *puStack_a4;" type_identifier (pointer_declarator "*puStack_a4" * identifier) ;) (declaration "int *piStack_a0;" primitive_type (pointer_declarator "*piStack_a0" * identifier) ;) (declaration "int *piStack_9c;" primitive_type (pointer_declarator "*piStack_9c" * identifier) ;) (declaration "int *piStack_98;" primitive_type (pointer_declarator "*piStack_98" * identifier) ;) (declaration "undefined *puStack_94;" type_identifier (pointer_declarator "*puStack_94" * identifier) ;) (declaration "undefined *puStack_90;" type_identifier (pointer_declarator "*puStack_90" * identifier) ;) (declaration "int iStack_8c;" primitive_type identifier ;) (declaration "int iStack_88;" primitive_type identifier ;) (declaration "code *pcStack_84;" type_identifier (pointer_declarator "*pcStack_84" * identifier) ;) (declaration "undefined *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "int *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined4 *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar3 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "puVar24 = PTR_LAB_00190bc0;" (assignment_expression "puVar24 = PTR_LAB_00190bc0" identifier = identifier) ;) (expression_statement "local_34 = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_34 = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar13 = param_2;" (assignment_expression "piVar13 = param_2" identifier = identifier) ;) (expression_statement "piVar14 = param_3;" (assignment_expression "piVar14 = param_3" identifier = identifier) ;) (expression_statement "puVar17 = param_4;" (assignment_expression "puVar17 = param_4" identifier = identifier) ;) (if_statement "if (0 < (int)param_2) {\n    iVar20 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = (int *)0x1;\n    unaff_s7 = iVar20;\nLAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }\n    piVar13 = (int *)&DAT_00000009;\n    iVar6 = FUN_000b57e0(param_1);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar20 = *(int *)(param_1 + 8);\n    piVar13 = (int *)(iVar20 + 1);\n    if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    *(int **)(param_1 + 8) = piVar13;\n    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);\n    if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = param_3;\n    unaff_s2 = param_2;\n    unaff_s8 = param_1;\n    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" if (parenthesized_expression "(0 < (int)param_2)" ( (binary_expression "0 < (int)param_2" number_literal < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    iVar20 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = (int *)0x1;\n    unaff_s7 = iVar20;\nLAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }\n    piVar13 = (int *)&DAT_00000009;\n    iVar6 = FUN_000b57e0(param_1);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar20 = *(int *)(param_1 + 8);\n    piVar13 = (int *)(iVar20 + 1);\n    if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    *(int **)(param_1 + 8) = piVar13;\n    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);\n    if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = param_3;\n    unaff_s2 = param_2;\n    unaff_s8 = param_1;\n    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" { (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x924)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x924)" ( (binary_expression "PTR_LAB_00190ba8 + 0x924" identifier + number_literal) )))) ;) (expression_statement "pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);" (assignment_expression "pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2b48)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2b48" identifier + number_literal) )))) ;) (expression_statement "unaff_s1 = PTR_LAB_00190c2c + 0x57e0;" (assignment_expression "unaff_s1 = PTR_LAB_00190c2c + 0x57e0" identifier = (binary_expression "PTR_LAB_00190c2c + 0x57e0" identifier + number_literal)) ;) (expression_statement "unaff_s5 = PTR_LAB_00190ba8;" (assignment_expression "unaff_s5 = PTR_LAB_00190ba8" identifier = identifier) ;) (labeled_statement "LAB_000b5dac:\n    unaff_s3 = (int *)0x1;" statement_identifier : (expression_statement "unaff_s3 = (int *)0x1;" (assignment_expression "unaff_s3 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "unaff_s7 = iVar20;" (assignment_expression "unaff_s7 = iVar20" identifier = identifier) ;) (labeled_statement "LAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }" statement_identifier : (while_statement "while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }" while (parenthesized_expression "((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0')))" ( (parenthesized_expression "(param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))" ( (binary_expression "param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0')" (binary_expression "param_3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(*(char *)((int)param_3 + unaff_s7) == '\0')" ( (binary_expression "*(char *)((int)param_3 + unaff_s7) == '\0'" (pointer_expression "*(char *)((int)param_3 + unaff_s7)" * (cast_expression "(char *)((int)param_3 + unaff_s7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + unaff_s7)" ( (binary_expression "(int)param_3 + unaff_s7" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) )) (compound_statement "{\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }" { (expression_statement "unaff_s7 = unaff_s7 + 1;" (assignment_expression "unaff_s7 = unaff_s7 + 1" identifier = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;" if (parenthesized_expression "((int)param_2 <= unaff_s7)" ( (binary_expression "(int)param_2 <= unaff_s7" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) }))) (expression_statement "piVar13 = (int *)&DAT_00000009;" (assignment_expression "piVar13 = (int *)&DAT_00000009" identifier = (cast_expression "(int *)&DAT_00000009" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) ;) (expression_statement "iVar6 = FUN_000b57e0(param_1);" (assignment_expression "iVar6 = FUN_000b57e0(param_1)" identifier = (call_expression "FUN_000b57e0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) goto LAB_000b5de4;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) (expression_statement "iVar20 = *(int *)(param_1 + 8);" (assignment_expression "iVar20 = *(int *)(param_1 + 8)" identifier = (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "piVar13 = (int *)(iVar20 + 1);" (assignment_expression "piVar13 = (int *)(iVar20 + 1)" identifier = (cast_expression "(int *)(iVar20 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 1)" ( (binary_expression "iVar20 + 1" identifier + number_literal) )))) ;) (if_statement "if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x10) <= iVar20)" ( (binary_expression "*(int *)(param_1 + 0x10) <= iVar20" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }" { (expression_statement "puVar17 = (undefined4 *)&DAT_000300ea;" (assignment_expression "puVar17 = (undefined4 *)&DAT_000300ea" identifier = (cast_expression "(undefined4 *)&DAT_000300ea" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000300ea" & identifier))) ;) (labeled_statement "LAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;" statement_identifier : (expression_statement "local_70 = PTR_LAB_00190958 + 0x625c;" (assignment_expression "local_70 = PTR_LAB_00190958 + 0x625c" identifier = (binary_expression "PTR_LAB_00190958 + 0x625c" identifier + number_literal)) ;)) (expression_statement "piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);" (assignment_expression "piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" identifier = (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64" identifier + number_literal) )))) ;) (expression_statement "piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);" (assignment_expression "piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" identifier = (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_sqlite3_log_00190be0)(0xb);" (call_expression "(*(code *)PTR_sqlite3_log_00190be0)(0xb)" (parenthesized_expression "(*(code *)PTR_sqlite3_log_00190be0)" ( (pointer_expression "*(code *)PTR_sqlite3_log_00190be0" * (cast_expression "(code *)PTR_sqlite3_log_00190be0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "iVar6 = 0xb;" (assignment_expression "iVar6 = 0xb" identifier = number_literal) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "*(int **)(param_1 + 8) = piVar13;" (assignment_expression "*(int **)(param_1 + 8) = piVar13" (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);" (assignment_expression "unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20)" identifier = (binary_expression "(undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20)" (cast_expression "(undefined *)(uint)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(*(int *)(param_1 + 0xc) + iVar20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0xc) + iVar20)" ( (binary_expression "*(int *)(param_1 + 0xc) + iVar20" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) + identifier) ))))) ;) (if_statement "if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }" if (parenthesized_expression "(unaff_s5 != (undefined *)0x0)" ( (binary_expression "unaff_s5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }" { (expression_statement "puVar17 = (undefined4 *)&DAT_00000028;" (assignment_expression "puVar17 = (undefined4 *)&DAT_00000028" identifier = (cast_expression "(undefined4 *)&DAT_00000028" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000028" & identifier))) ;) (expression_statement "piVar14 = (int *)0x0;" (assignment_expression "piVar14 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s4 = param_4 + unaff_s7;" (assignment_expression "unaff_s4 = param_4 + unaff_s7" identifier = (binary_expression "param_4 + unaff_s7" identifier + identifier)) ;) (expression_statement "pdVar7 = (double *)(*pcVar4)(0);" (assignment_expression "pdVar7 = (double *)(*pcVar4)(0)" identifier = (cast_expression "(double *)(*pcVar4)(0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar4)(0)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }" if (parenthesized_expression "(pdVar7 == (double *)0x0)" ( (binary_expression "pdVar7 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }" { (expression_statement "iVar6 = 7;" (assignment_expression "iVar6 = 7" identifier = number_literal) ;) (expression_statement "*unaff_s4 = 0;" (assignment_expression "*unaff_s4 = 0" (pointer_expression "*unaff_s4" * identifier) = number_literal) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "*(undefined2 *)(pdVar7 + 1) = 1;" (assignment_expression "*(undefined2 *)(pdVar7 + 1) = 1" (pointer_expression "*(undefined2 *)(pdVar7 + 1)" * (cast_expression "(undefined2 *)(pdVar7 + 1)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar7 + 1)" ( (binary_expression "pdVar7 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(pdVar7 + 4) = 0;" (assignment_expression "*(undefined4 *)(pdVar7 + 4) = 0" (pointer_expression "*(undefined4 *)(pdVar7 + 4)" * (cast_expression "(undefined4 *)(pdVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar7 + 4)" ( (binary_expression "pdVar7 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*unaff_s4 = (int)pdVar7;" (assignment_expression "*unaff_s4 = (int)pdVar7" (pointer_expression "*unaff_s4" * identifier) = (cast_expression "(int)pdVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar14 = *(int **)(param_1 + 8);" (assignment_expression "piVar14 = *(int **)(param_1 + 8)" identifier = (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);" (assignment_expression "pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14)" identifier = (cast_expression "(double *)(*(int *)(param_1 + 0xc) + (int)piVar14)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0xc) + (int)piVar14)" ( (binary_expression "*(int *)(param_1 + 0xc) + (int)piVar14" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) + (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }" if (parenthesized_expression "(unaff_s5 + -3 < (undefined *)0x2)" ( (binary_expression "unaff_s5 + -3 < (undefined *)0x2" (binary_expression "unaff_s5 + -3" identifier + number_literal) < (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }" { (if_statement "if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }" if (parenthesized_expression "((char)*(byte *)pdVar10 < '\0')" ( (binary_expression "(char)*(byte *)pdVar10 < '\0'" (cast_expression "(char)*(byte *)pdVar10" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)pdVar10" * (cast_expression "(byte *)pdVar10" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }" { (expression_statement "iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);" (assignment_expression "iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x3388))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x3388)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x3388)" ( (binary_expression "PTR_LAB_00190ba8 + 0x3388" identifier + number_literal) )))) )) (argument_list "(pdVar10,&local_40)" ( identifier , (pointer_expression "&local_40" & identifier) )))) ;) (expression_statement "piVar14 = *(int **)(param_1 + 8);" (assignment_expression "piVar14 = *(int **)(param_1 + 8)" identifier = (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }" else (compound_statement "{\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }" { (expression_statement "iVar20 = 1;" (assignment_expression "iVar20 = 1" identifier = number_literal) ;) (expression_statement "local_40 = (int *)(uint)*(byte *)pdVar10;" (assignment_expression "local_40 = (int *)(uint)*(byte *)pdVar10" identifier = (binary_expression "(int *)(uint)*(byte *)pdVar10" (cast_expression "(int *)(uint)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)pdVar10" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (expression_statement "*(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);" (assignment_expression "*(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14)" (pointer_expression "*(undefined1 **)(param_1 + 8)" * (cast_expression "(undefined1 **)(param_1 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = (cast_expression "(undefined1 *)(iVar20 + (int)piVar14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + (int)piVar14)" ( (binary_expression "iVar20 + (int)piVar14" identifier + (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar13 = local_40;" (assignment_expression "piVar13 = local_40" identifier = identifier) ;) (expression_statement "iVar6 = FUN_000b57e0(param_1);" (assignment_expression "iVar6 = FUN_000b57e0(param_1)" identifier = (call_expression "FUN_000b57e0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "piVar23 = local_40;" (assignment_expression "piVar23 = local_40" identifier = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000b5de4;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) (expression_statement "puVar17 = (undefined4 *)&DAT_00030000;" (assignment_expression "puVar17 = (undefined4 *)&DAT_00030000" identifier = (cast_expression "(undefined4 *)&DAT_00030000" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00030000" & identifier))) ;) (if_statement "if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }" if (parenthesized_expression "(((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40))" ( (binary_expression "((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)" (parenthesized_expression "((int)local_40 < 0)" ( (binary_expression "(int)local_40 < 0" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)" ( (comma_expression "piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40" (assignment_expression "piVar15 = *(int **)(param_1 + 8)" identifier = (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) , (binary_expression "*(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40" (binary_expression "*(int *)(param_1 + 0x10) - (int)piVar15" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) - (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }" { (expression_statement "puVar17 = (undefined4 *)&DAT_000300fd;" (assignment_expression "puVar17 = (undefined4 *)&DAT_000300fd" identifier = (cast_expression "(undefined4 *)&DAT_000300fd" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000300fd" & identifier))) ;) (expression_statement "unaff_s3 = local_40;" (assignment_expression "unaff_s3 = local_40" identifier = identifier) ;) (goto_statement "goto LAB_000b5e90;" goto statement_identifier ;) })) (expression_statement "iVar20 = *unaff_s4;" (assignment_expression "iVar20 = *unaff_s4" identifier = (pointer_expression "*unaff_s4" * identifier)) ;) (expression_statement "unaff_s4 = *(int **)(param_1 + 0xc);" (assignment_expression "unaff_s4 = *(int **)(param_1 + 0xc)" identifier = (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();" (assignment_expression "iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)()" identifier = (call_expression "(*(code *)PTR_sqlite3_initialize_00190b88)()" (parenthesized_expression "(*(code *)PTR_sqlite3_initialize_00190b88)" ( (pointer_expression "*(code *)PTR_sqlite3_initialize_00190b88" * (cast_expression "(code *)PTR_sqlite3_initialize_00190b88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "piVar14 = piVar15;" (assignment_expression "piVar14 = piVar15" identifier = identifier) ;) (expression_statement "unaff_s3 = piVar23;" (assignment_expression "unaff_s3 = piVar23" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }" { (expression_statement "piVar13 = (int *)((int)piVar23 + 1);" (assignment_expression "piVar13 = (int *)((int)piVar23 + 1)" identifier = (cast_expression "(int *)((int)piVar23 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar23 + 1)" ( (binary_expression "(int)piVar23 + 1" (cast_expression "(int)piVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));" (assignment_expression "iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f))" identifier = (call_expression "(*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f))" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f))" ( (binary_expression "(uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f)" (call_expression "(uint)(piVar13 < piVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar13 < piVar23)" ( (binary_expression "piVar13 < piVar23" identifier < identifier) ))) + (parenthesized_expression "((int)piVar23 >> 0x1f)" ( (binary_expression "(int)piVar23 >> 0x1f" (cast_expression "(int)piVar23" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (if_statement "if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }" { (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" identifier = identifier) ;) (expression_statement "uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));" (assignment_expression "uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15))" identifier = (call_expression "(*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15))" (parenthesized_expression "(*(code *)PTR_memcpy_00190e2c)" ( (pointer_expression "*(code *)PTR_memcpy_00190e2c" * (cast_expression "(code *)PTR_memcpy_00190e2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15))" ( identifier , (cast_expression "(undefined1 *)((int)unaff_s4 + (int)piVar15)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + (int)piVar15)" ( (binary_expression "(int)unaff_s4 + (int)piVar15" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }" { (expression_statement "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);" (assignment_expression "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" (pointer_expression "*(undefined1 **)(param_1 + 8)" * (cast_expression "(undefined1 **)(param_1 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = (cast_expression "(undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 8) + (int)local_40)" ( (binary_expression "*(int *)(param_1 + 8) + (int)local_40" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) + (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar13 = local_40;" (assignment_expression "piVar13 = local_40" identifier = identifier) ;) }) (else_clause "else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }" else (compound_statement "{\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }" { (expression_statement "puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);" (assignment_expression "puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3)" identifier = (cast_expression "(undefined4 *)(uint)(unaff_s5 == (undefined *)0x3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(unaff_s5 == (undefined *)0x3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s5 == (undefined *)0x3)" ( (binary_expression "unaff_s5 == (undefined *)0x3" identifier == (cast_expression "(undefined *)0x3" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (expression_statement "local_70 = PTR_sqlite3_free_0019096c;" (assignment_expression "local_70 = PTR_sqlite3_free_0019096c" identifier = identifier) ;) (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" identifier = identifier) ;) (expression_statement "(*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);" (call_expression "(*(code *)(puVar24 + -0x2aec))(iVar20,uVar18)" (parenthesized_expression "(*(code *)(puVar24 + -0x2aec))" ( (pointer_expression "*(code *)(puVar24 + -0x2aec)" * (cast_expression "(code *)(puVar24 + -0x2aec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + -0x2aec)" ( (binary_expression "puVar24 + -0x2aec" identifier + number_literal) )))) )) (argument_list "(iVar20,uVar18)" ( identifier , identifier ))) ;) (expression_statement "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);" (assignment_expression "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" (pointer_expression "*(undefined1 **)(param_1 + 8)" * (cast_expression "(undefined1 **)(param_1 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = (cast_expression "(undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 8) + (int)local_40)" ( (binary_expression "*(int *)(param_1 + 8) + (int)local_40" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) + (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar13 = local_40;" (assignment_expression "piVar13 = local_40" identifier = identifier) ;) }))) (expression_statement "iVar20 = unaff_s7 + 1;" (assignment_expression "iVar20 = unaff_s7 + 1" identifier = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (expression_statement "local_40 = piVar13;" (assignment_expression "local_40 = piVar13" identifier = identifier) ;) (if_statement "if (iVar20 < (int)param_2) goto LAB_000b5dac;" if (parenthesized_expression "(iVar20 < (int)param_2)" ( (binary_expression "iVar20 < (int)param_2" identifier < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b5dac;" goto statement_identifier ;)) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) })) (expression_statement "iVar6 = 7;" (assignment_expression "iVar6 = 7" identifier = number_literal) ;) (expression_statement "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);" (assignment_expression "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" (pointer_expression "*(undefined1 **)(param_1 + 8)" * (cast_expression "(undefined1 **)(param_1 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = (cast_expression "(undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 8) + (int)local_40)" ( (binary_expression "*(int *)(param_1 + 8) + (int)local_40" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) + (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "iVar20 = unaff_s7 + 1;" (assignment_expression "iVar20 = unaff_s7 + 1" identifier = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (expression_statement "piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);" (assignment_expression "piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2)" identifier = (cast_expression "(int *)(uint)(unaff_s5 + -1 < (undefined *)0x2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(unaff_s5 + -1 < (undefined *)0x2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s5 + -1 < (undefined *)0x2)" ( (binary_expression "unaff_s5 + -1 < (undefined *)0x2" (binary_expression "unaff_s5 + -1" identifier + number_literal) < (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (if_statement "if (piVar13 != (int *)0x0) goto code_r0x000b6070;" if (parenthesized_expression "(piVar13 != (int *)0x0)" ( (binary_expression "piVar13 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto code_r0x000b6070;" goto statement_identifier ;)) })) (expression_statement "unaff_s7 = unaff_s7 + 1;" (assignment_expression "unaff_s7 = unaff_s7 + 1" identifier = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s0 = param_3;" (assignment_expression "unaff_s0 = param_3" identifier = identifier) ;) (expression_statement "unaff_s2 = param_2;" (assignment_expression "unaff_s2 = param_2" identifier = identifier) ;) (expression_statement "unaff_s8 = param_1;" (assignment_expression "unaff_s8 = param_1" identifier = identifier) ;) (if_statement "if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;" if (parenthesized_expression "((int)param_2 <= unaff_s7)" ( (binary_expression "(int)param_2 <= unaff_s7" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_000b5e64;" goto statement_identifier ;)) (goto_statement "goto LAB_000b5db4;" goto statement_identifier ;) })) (labeled_statement "LAB_000b5e64:\n  iVar6 = 0;" statement_identifier : (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;)) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" identifier = identifier) ;) (expression_statement "param_2 = unaff_s2;" (assignment_expression "param_2 = unaff_s2" identifier = identifier) ;) (expression_statement "param_1 = unaff_s8;" (assignment_expression "param_1 = unaff_s8" identifier = identifier) ;) (labeled_statement "LAB_000b5de4:\n  if (local_34 == *(int *)puVar3) {\n    return iVar6;\n  }" statement_identifier : (if_statement "if (local_34 == *(int *)puVar3) {\n    return iVar6;\n  }" if (parenthesized_expression "(local_34 == *(int *)puVar3)" ( (binary_expression "local_34 == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar6;\n  }" { (return_statement "return iVar6;" return identifier ;) }))) (expression_statement "pcVar4 = FUN_000b6188;" (assignment_expression "pcVar4 = FUN_000b6188" identifier = identifier) ;) (expression_statement "iVar20 = local_34;" (assignment_expression "iVar20 = local_34" identifier = identifier) ;) (expression_statement "puVar24 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar24 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_90 = puVar3;" (assignment_expression "puStack_90 = puVar3" identifier = identifier) ;) (expression_statement "piVar23 = *(int **)(puVar24 + 0xdac9c);" (assignment_expression "piVar23 = *(int **)(puVar24 + 0xdac9c)" identifier = (pointer_expression "*(int **)(puVar24 + 0xdac9c)" * (cast_expression "(int **)(puVar24 + 0xdac9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xdac9c)" ( (binary_expression "puVar24 + 0xdac9c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar20 + 0x5c);" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x5c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "iStack_ac = *piVar23;" (assignment_expression "iStack_ac = *piVar23" identifier = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "piStack_a8 = param_3;" (assignment_expression "piStack_a8 = param_3" identifier = identifier) ;) (expression_statement "puStack_a4 = unaff_s1;" (assignment_expression "puStack_a4 = unaff_s1" identifier = identifier) ;) (expression_statement "piStack_a0 = param_2;" (assignment_expression "piStack_a0 = param_2" identifier = identifier) ;) (expression_statement "piStack_9c = unaff_s3;" (assignment_expression "piStack_9c = unaff_s3" identifier = identifier) ;) (expression_statement "piStack_98 = unaff_s4;" (assignment_expression "piStack_98 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_94 = unaff_s5;" (assignment_expression "puStack_94 = unaff_s5" identifier = identifier) ;) (expression_statement "iStack_8c = unaff_s7;" (assignment_expression "iStack_8c = unaff_s7" identifier = identifier) ;) (expression_statement "iStack_88 = param_1;" (assignment_expression "iStack_88 = param_1" identifier = identifier) ;) (expression_statement "pcStack_84 = pcVar4;" (assignment_expression "pcStack_84 = pcVar4" identifier = identifier) ;) (if_statement "if (iVar6 != 0) {\n    iVar16 = *(int *)(iVar20 + 0x4c);\n    iVar21 = 0;\n    if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }\n    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar16 = *(int *)(iVar20 + 0x4c);\n    iVar21 = 0;\n    if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }\n    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);\n  }" { (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }" if (parenthesized_expression "(0 < iVar16)" ( (binary_expression "0 < iVar16" number_literal < identifier) )) (compound_statement "{\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }" { (expression_statement "iVar22 = *(int *)(puVar24 + 0xdaa20);" (assignment_expression "iVar22 = *(int *)(puVar24 + 0xdaa20)" identifier = (pointer_expression "*(int *)(puVar24 + 0xdaa20)" * (cast_expression "(int *)(puVar24 + 0xdaa20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xdaa20)" ( (binary_expression "puVar24 + 0xdaa20" identifier + number_literal) ))))) ;) (do_statement "do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);" do (compound_statement "{\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      }" { (expression_statement "iVar16 = iVar21 * 4;" (assignment_expression "iVar16 = iVar21 * 4" identifier = (binary_expression "iVar21 * 4" identifier * number_literal)) ;) (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));" (call_expression "(*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16))" (parenthesized_expression "(*(code *)(iVar22 + -0x18d4))" ( (pointer_expression "*(code *)(iVar22 + -0x18d4)" * (cast_expression "(code *)(iVar22 + -0x18d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x18d4)" ( (binary_expression "iVar22 + -0x18d4" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(iVar6 + iVar16))" ( (pointer_expression "*(undefined4 *)(iVar6 + iVar16)" * (cast_expression "(undefined4 *)(iVar6 + iVar16)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar16)" ( (binary_expression "iVar6 + iVar16" identifier + identifier) )))) ))) ;) (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar20 + 0x5c);" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x5c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar21 < iVar16 << 1)" ( (binary_expression "iVar21 < iVar16 << 1" identifier < (binary_expression "iVar16 << 1" identifier << number_literal)) )) ;) })) (expression_statement "(**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);" (call_expression "(**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3)" (parenthesized_expression "(**(code **)(puVar24 + 0xdabd0))" ( (pointer_expression "**(code **)(puVar24 + 0xdabd0)" * (pointer_expression "*(code **)(puVar24 + 0xdabd0)" * (cast_expression "(code **)(puVar24 + 0xdabd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xdabd0)" ( (binary_expression "puVar24 + 0xdabd0" identifier + number_literal) ))))) )) (argument_list "(iVar6,0,iVar16 << 3)" ( identifier , number_literal , (binary_expression "iVar16 << 3" identifier << number_literal) ))) ;) })) (expression_statement "iVar6 = FUN_000b57e0(iVar20,2);" (assignment_expression "iVar6 = FUN_000b57e0(iVar20,2)" identifier = (call_expression "FUN_000b57e0(iVar20,2)" identifier (argument_list "(iVar20,2)" ( identifier , number_literal )))) ;) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000b6458;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)) {\nLAB_000b6494:\n    iVar6 = 0x65;\n    goto LAB_000b6458;\n  }" if (parenthesized_expression "(*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8))" ( (binary_expression "*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)" (pointer_expression "*(int *)(iVar20 + 0x10)" * (cast_expression "(int *)(iVar20 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x10)" ( (binary_expression "iVar20 + 0x10" identifier + number_literal) )))) <= (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_000b6494:\n    iVar6 = 0x65;\n    goto LAB_000b6458;\n  }" { (labeled_statement "LAB_000b6494:\n    iVar6 = 0x65;" statement_identifier : (expression_statement "iVar6 = 0x65;" (assignment_expression "iVar6 = 0x65" identifier = number_literal) ;)) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "(*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20);" (call_expression "(*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20)" (parenthesized_expression "(*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))" ( (pointer_expression "*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4)" * (cast_expression "(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar24 + 0xdaa1c) + 0x27a4)" ( (binary_expression "*(int *)(puVar24 + 0xdaa1c) + 0x27a4" (pointer_expression "*(int *)(puVar24 + 0xdaa1c)" * (cast_expression "(int *)(puVar24 + 0xdaa1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xdaa1c)" ( (binary_expression "puVar24 + 0xdaa1c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar20)" ( identifier ))) ;) (expression_statement "iVar6 = *(int *)(iVar20 + 8);" (assignment_expression "iVar6 = *(int *)(iVar20 + 8)" identifier = (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(iVar20 + 0xc);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0xc)" identifier = (pointer_expression "*(int *)(iVar20 + 0xc)" * (cast_expression "(int *)(iVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar21 = *(int *)(puVar24 + 0xdaa20);" (assignment_expression "iVar21 = *(int *)(puVar24 + 0xdaa20)" identifier = (pointer_expression "*(int *)(puVar24 + 0xdaa20)" * (cast_expression "(int *)(puVar24 + 0xdaa20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xdaa20)" ( (binary_expression "puVar24 + 0xdaa20" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar20 + 4) = iVar6;" (assignment_expression "*(int *)(iVar20 + 4) = iVar6" (pointer_expression "*(int *)(iVar20 + 4)" * (cast_expression "(int *)(iVar20 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 4)" ( (binary_expression "iVar20 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar20 + 8) = iVar6 + 1;" (assignment_expression "*(int *)(iVar20 + 8) = iVar6 + 1" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *(byte *)(iVar16 + iVar6);" (assignment_expression "bVar1 = *(byte *)(iVar16 + iVar6)" identifier = (pointer_expression "*(byte *)(iVar16 + iVar6)" * (cast_expression "(byte *)(iVar16 + iVar6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar6)" ( (binary_expression "iVar16 + iVar6" identifier + identifier) ))))) ;) (while_statement "while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }\n    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);\n    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);\n    if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar20 + 0x30) = 0;\n    iStack_b0 = iStack_b0 - iVar6;\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;\n    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);\n    if (iStack_b4 != 0) goto LAB_000b6434;\n    iVar6 = *(int *)(iVar20 + 0x4c) * 8;\n    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);\n    (**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);\n    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n    *(int *)(iVar20 + 0x58) = iVar6;\n    *(int *)(iVar20 + 0x40) = iStack_b4;\n    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;\n    iVar6 = iStack_b4;\n    if (iStack_b4 != 0) goto LAB_000b6458;\n    iVar6 = FUN_000b57e0(iVar20,2);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 != 0) goto LAB_000b6458;\n    iVar6 = *(int *)(iVar20 + 8);\n    *(int *)(iVar20 + 4) = iVar6;\n    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;\n    iVar16 = *(int *)(iVar20 + 0xc);\n    *(int *)(iVar20 + 8) = iVar6 + 1;\n    bVar1 = *(byte *)(iVar16 + iVar6);\n  }" while (parenthesized_expression "(uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50)" ( (comma_expression "uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50" (assignment_expression "uVar8 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) , (binary_expression "(uVar8 & 0xfb) == 0x50" (parenthesized_expression "(uVar8 & 0xfb)" ( (binary_expression "uVar8 & 0xfb" identifier & number_literal) )) == number_literal)) )) (compound_statement "{\n    if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }\n    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);\n    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);\n    if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar20 + 0x30) = 0;\n    iStack_b0 = iStack_b0 - iVar6;\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;\n    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);\n    if (iStack_b4 != 0) goto LAB_000b6434;\n    iVar6 = *(int *)(iVar20 + 0x4c) * 8;\n    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);\n    (**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);\n    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n    *(int *)(iVar20 + 0x58) = iVar6;\n    *(int *)(iVar20 + 0x40) = iStack_b4;\n    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;\n    iVar6 = iStack_b4;\n    if (iStack_b4 != 0) goto LAB_000b6458;\n    iVar6 = FUN_000b57e0(iVar20,2);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 != 0) goto LAB_000b6458;\n    iVar6 = *(int *)(iVar20 + 8);\n    *(int *)(iVar20 + 4) = iVar6;\n    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;\n    iVar16 = *(int *)(iVar20 + 0xc);\n    *(int *)(iVar20 + 8) = iVar6 + 1;\n    bVar1 = *(byte *)(iVar16 + iVar6);\n  }" { (if_statement "if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }" if (parenthesized_expression "(puVar17 != (undefined4 *)0x0)" ( (binary_expression "puVar17 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *puVar17 = 1;\n    }" { (expression_statement "*puVar17 = 1;" (assignment_expression "*puVar17 = 1" (pointer_expression "*puVar17" * identifier) = number_literal) ;) })) (expression_statement "*(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);" (assignment_expression "*(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50)" (pointer_expression "*(uint *)(iVar20 + 0x38)" * (cast_expression "(uint *)(iVar20 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x38)" ( (binary_expression "iVar20 + 0x38" identifier + number_literal) )))) = (call_expression "(uint)(uVar8 == 0x50)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 == 0x50)" ( (binary_expression "uVar8 == 0x50" identifier == number_literal) )))) ;) (expression_statement "iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);" (assignment_expression "iStack_b4 = FUN_000b5998(iVar20,&iStack_b0)" identifier = (call_expression "FUN_000b5998(iVar20,&iStack_b0)" identifier (argument_list "(iVar20,&iStack_b0)" ( identifier , (pointer_expression "&iStack_b0" & identifier) )))) ;) (if_statement "if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }" if (parenthesized_expression "(iStack_b4 != 0)" ( (binary_expression "iStack_b4 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }" { (labeled_statement "LAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;" statement_identifier : (expression_statement "*(int *)(iVar20 + 0x40) = iStack_b4;" (assignment_expression "*(int *)(iVar20 + 0x40) = iStack_b4" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);" (assignment_expression "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c)" (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) )))) = (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*(int *)(iVar20 + 0x58) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x58) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x58)" * (cast_expression "(int *)(iVar20 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x58)" ( (binary_expression "iVar20 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);" (assignment_expression "*(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c)" (pointer_expression "*(int *)(iVar20 + 0x48)" * (cast_expression "(int *)(iVar20 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x48)" ( (binary_expression "iVar20 + 0x48" identifier + number_literal) )))) = (binary_expression "iVar6 + *(int *)(iVar20 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))))) ;) (expression_statement "iVar6 = iStack_b4;" (assignment_expression "iVar6 = iStack_b4" identifier = identifier) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));" (assignment_expression "pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8))" identifier = (cast_expression "(byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8))" ( (binary_expression "*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8)" (pointer_expression "*(int *)(iVar20 + 0xc)" * (cast_expression "(int *)(iVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) ))))) )))) ;) (expression_statement "bVar1 = *pbVar11;" (assignment_expression "bVar1 = *pbVar11" identifier = (pointer_expression "*pbVar11" * identifier)) ;) (expression_statement "uVar8 = (uint)bVar1;" (assignment_expression "uVar8 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }" { (expression_statement "iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);" (assignment_expression "iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c)" identifier = (call_expression "(*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c)" (parenthesized_expression "(*(code *)(iVar21 + 0x3388))" ( (pointer_expression "*(code *)(iVar21 + 0x3388)" * (cast_expression "(code *)(iVar21 + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x3388)" ( (binary_expression "iVar21 + 0x3388" identifier + number_literal) )))) )) (argument_list "(pbVar11,iVar20 + 0x4c)" ( identifier , (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))) ;) (expression_statement "uVar8 = *(uint *)(iVar20 + 0x4c);" (assignment_expression "uVar8 = *(uint *)(iVar20 + 0x4c)" identifier = (pointer_expression "*(uint *)(iVar20 + 0x4c)" * (cast_expression "(uint *)(iVar20 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }" else (compound_statement "{\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }" { (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (expression_statement "*(uint *)(iVar20 + 0x4c) = uVar8;" (assignment_expression "*(uint *)(iVar20 + 0x4c) = uVar8" (pointer_expression "*(uint *)(iVar20 + 0x4c)" * (cast_expression "(uint *)(iVar20 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))) = identifier) ;) }))) (if_statement "if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }" if (parenthesized_expression "((int)uVar8 < 1)" ( (binary_expression "(int)uVar8 < 1" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }" { (expression_statement "(**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(puVar24 + 0xdaa58))" ( (pointer_expression "**(code **)(puVar24 + 0xdaa58)" * (pointer_expression "*(code **)(puVar24 + 0xdaa58)" * (cast_expression "(code **)(puVar24 + 0xdaa58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xdaa58)" ( (binary_expression "puVar24 + 0xdaa58" identifier + number_literal) ))))) )) (argument_list "(0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c)" ( number_literal , (binary_expression "*(int *)(puVar24 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(puVar24 + 0xda7d4)" * (cast_expression "(int *)(puVar24 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xda7d4)" ( (binary_expression "puVar24 + 0xda7d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar24 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(puVar24 + 0xda7d4)" * (cast_expression "(int *)(puVar24 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xda7d4)" ( (binary_expression "puVar24 + 0xda7d4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar24 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(puVar24 + 0xda7d0)" * (cast_expression "(int *)(puVar24 + 0xda7d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xda7d0)" ( (binary_expression "puVar24 + 0xda7d0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar6 = 0xb;" (assignment_expression "iVar6 = 0xb" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(iVar20 + 0x40) = 0xb;" (assignment_expression "*(undefined4 *)(iVar20 + 0x40) = 0xb" (pointer_expression "*(undefined4 *)(iVar20 + 0x40)" * (cast_expression "(undefined4 *)(iVar20 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);" (assignment_expression "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c)" (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) )))) = (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*(int *)(iVar20 + 0x58) = iVar16;" (assignment_expression "*(int *)(iVar20 + 0x58) = iVar16" (pointer_expression "*(int *)(iVar20 + 0x58)" * (cast_expression "(int *)(iVar20 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x58)" ( (binary_expression "iVar20 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);" (assignment_expression "*(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c)" (pointer_expression "*(int *)(iVar20 + 0x48)" * (cast_expression "(int *)(iVar20 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x48)" ( (binary_expression "iVar20 + 0x48" identifier + number_literal) )))) = (binary_expression "iVar16 + *(int *)(iVar20 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))))) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(iVar20 + 0x30) = 0;" (assignment_expression "*(undefined4 *)(iVar20 + 0x30) = 0" (pointer_expression "*(undefined4 *)(iVar20 + 0x30)" * (cast_expression "(undefined4 *)(iVar20 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x30)" ( (binary_expression "iVar20 + 0x30" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iStack_b0 = iStack_b0 - iVar6;" (assignment_expression "iStack_b0 = iStack_b0 - iVar6" identifier = (binary_expression "iStack_b0 - iVar6" identifier - identifier)) ;) (expression_statement "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;" (assignment_expression "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar20 + 8) + iVar6" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) + identifier)) ;) (expression_statement "FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);" (call_expression "FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4)" identifier (argument_list "(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) , (binary_expression "uVar8 * 8 + iStack_b0" (binary_expression "uVar8 * 8" identifier * number_literal) + identifier) , (pointer_expression "&iStack_b4" & identifier) ))) ;) (if_statement "if (iStack_b4 != 0) goto LAB_000b6434;" if (parenthesized_expression "(iStack_b4 != 0)" ( (binary_expression "iStack_b4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b6434;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)(iVar20 + 0x4c) * 8;" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "(**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);" (call_expression "(**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6)" (parenthesized_expression "(**(code **)(puVar24 + 0xdabd0))" ( (pointer_expression "**(code **)(puVar24 + 0xdabd0)" * (pointer_expression "*(code **)(puVar24 + 0xdabd0)" * (cast_expression "(code **)(puVar24 + 0xdabd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xdabd0)" ( (binary_expression "puVar24 + 0xdabd0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar20 + 0x2c),0,iVar6)" ( (pointer_expression "*(undefined4 *)(iVar20 + 0x2c)" * (cast_expression "(undefined4 *)(iVar20 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) )))) , number_literal , identifier ))) ;) (expression_statement "(**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);" (call_expression "(**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0)" (parenthesized_expression "(**(code **)(puVar24 + 0xdaca4))" ( (pointer_expression "**(code **)(puVar24 + 0xdaca4)" * (pointer_expression "*(code **)(puVar24 + 0xdaca4)" * (cast_expression "(code **)(puVar24 + 0xdaca4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xdaca4)" ( (binary_expression "puVar24 + 0xdaca4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0)" ( (binary_expression "*(int *)(iVar20 + 0x2c) + iVar6" (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) )))) + identifier) , (binary_expression "*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8)" (pointer_expression "*(int *)(iVar20 + 0xc)" * (cast_expression "(int *)(iVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) ))))) , identifier ))) ;) (expression_statement "iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);" (assignment_expression "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c)" (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) )))) = (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar20 + 0x58) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x58) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x58)" * (cast_expression "(int *)(iVar20 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x58)" ( (binary_expression "iVar20 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar20 + 0x40) = iStack_b4;" (assignment_expression "*(int *)(iVar20 + 0x40) = iStack_b4" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);" (assignment_expression "*(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c)" (pointer_expression "*(int *)(iVar20 + 0x48)" * (cast_expression "(int *)(iVar20 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x48)" ( (binary_expression "iVar20 + 0x48" identifier + number_literal) )))) = (binary_expression "iVar6 + *(int *)(iVar20 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;" (assignment_expression "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar20 + 8) + iStack_b0" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) + identifier)) ;) (expression_statement "iVar6 = iStack_b4;" (assignment_expression "iVar6 = iStack_b4" identifier = identifier) ;) (if_statement "if (iStack_b4 != 0) goto LAB_000b6458;" if (parenthesized_expression "(iStack_b4 != 0)" ( (binary_expression "iStack_b4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "iVar6 = FUN_000b57e0(iVar20,2);" (assignment_expression "iVar6 = FUN_000b57e0(iVar20,2)" identifier = (call_expression "FUN_000b57e0(iVar20,2)" identifier (argument_list "(iVar20,2)" ( identifier , number_literal )))) ;) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000b6458;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)(iVar20 + 8);" (assignment_expression "iVar6 = *(int *)(iVar20 + 8)" identifier = (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar20 + 4) = iVar6;" (assignment_expression "*(int *)(iVar20 + 4) = iVar6" (pointer_expression "*(int *)(iVar20 + 4)" * (cast_expression "(int *)(iVar20 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 4)" ( (binary_expression "iVar20 + 4" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;" if (parenthesized_expression "(*(int *)(iVar20 + 0x10) <= iVar6)" ( (binary_expression "*(int *)(iVar20 + 0x10) <= iVar6" (pointer_expression "*(int *)(iVar20 + 0x10)" * (cast_expression "(int *)(iVar20 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x10)" ( (binary_expression "iVar20 + 0x10" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_000b6494;" goto statement_identifier ;)) (expression_statement "iVar16 = *(int *)(iVar20 + 0xc);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0xc)" identifier = (pointer_expression "*(int *)(iVar20 + 0xc)" * (cast_expression "(int *)(iVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar20 + 8) = iVar6 + 1;" (assignment_expression "*(int *)(iVar20 + 8) = iVar6 + 1" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *(byte *)(iVar16 + iVar6);" (assignment_expression "bVar1 = *(byte *)(iVar16 + iVar6)" identifier = (pointer_expression "*(byte *)(iVar16 + iVar6)" * (cast_expression "(byte *)(iVar16 + iVar6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar6)" ( (binary_expression "iVar16 + iVar6" identifier + identifier) ))))) ;) })) (if_statement "if ((*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" if (parenthesized_expression "((*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0))))" ( (binary_expression "(*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))" (parenthesized_expression "(*(int *)(iVar20 + 0x48) == 0)" ( (binary_expression "*(int *)(iVar20 + 0x48) == 0" (pointer_expression "*(int *)(iVar20 + 0x48)" * (cast_expression "(int *)(iVar20 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x48)" ( (binary_expression "iVar20 + 0x48" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))" ( (parenthesized_expression "(iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0))" ( (comma_expression "iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x38)" identifier = (pointer_expression "*(int *)(iVar20 + 0x38)" * (cast_expression "(int *)(iVar20 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x38)" ( (binary_expression "iVar20 + 0x38" identifier + number_literal) ))))) , (binary_expression "iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)" (binary_expression "iVar6 != 0" identifier != number_literal) && (parenthesized_expression "(*(int *)(iVar20 + 0x3c) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x3c) != 0" (pointer_expression "*(int *)(iVar20 + 0x3c)" * (cast_expression "(int *)(iVar20 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x3c)" ( (binary_expression "iVar20 + 0x3c" identifier + number_literal) )))) != number_literal) )))) )) ))) )) (compound_statement "{\n    uVar18 = 0x301e0;\n  }" { (expression_statement "uVar18 = 0x301e0;" (assignment_expression "uVar18 = 0x301e0" identifier = number_literal) ;) }) (else_clause "else {\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" else (compound_statement "{\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" { (expression_statement "iVar21 = *(int *)(iVar20 + 8);" (assignment_expression "iVar21 = *(int *)(iVar20 + 8)" identifier = (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar20 + 0x50) = uVar8;" (assignment_expression "*(uint *)(iVar20 + 0x50) = uVar8" (pointer_expression "*(uint *)(iVar20 + 0x50)" * (cast_expression "(uint *)(iVar20 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x50)" ( (binary_expression "iVar20 + 0x50" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar20 + 8) = iVar21 + 1;" (assignment_expression "*(int *)(iVar20 + 8) = iVar21 + 1" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);" (assignment_expression "*(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21)" (pointer_expression "*(uint *)(iVar20 + 0x54)" * (cast_expression "(uint *)(iVar20 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x54)" ( (binary_expression "iVar20 + 0x54" identifier + number_literal) )))) = (binary_expression "(uint)*(byte *)(iVar16 + iVar21)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar16 + iVar21)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar21)" ( (binary_expression "iVar16 + iVar21" identifier + identifier) ))))) ;) (if_statement "if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }" if (parenthesized_expression "((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0))" ( (binary_expression "(uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)" (parenthesized_expression "(uVar8 < 0x18)" ( (binary_expression "uVar8 < 0x18" identifier < number_literal) )) && (parenthesized_expression "((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)" ( (binary_expression "(int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0" (cast_expression "(int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x840200U >> (uVar8 & 0x1f)) << 0x1f)" ( (binary_expression "(0x840200U >> (uVar8 & 0x1f)) << 0x1f" (parenthesized_expression "(0x840200U >> (uVar8 & 0x1f))" ( (binary_expression "0x840200U >> (uVar8 & 0x1f)" number_literal >> (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) ))) )) << number_literal) ))) < number_literal) ))) )) (compound_statement "{\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }" { (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) ;) (if_statement "if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }" if (parenthesized_expression "(piVar13 != (int *)0x0)" ( (binary_expression "piVar13 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }" { (if_statement "if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }" { (if_statement "if (uVar8 != 9) goto LAB_000b65d4;" if (parenthesized_expression "(uVar8 != 9)" ( (binary_expression "uVar8 != 9" identifier != number_literal) )) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;)) (if_statement "if (iVar16 < 1) goto LAB_000b6830;" if (parenthesized_expression "(iVar16 < 1)" ( (binary_expression "iVar16 < 1" identifier < number_literal) )) (goto_statement "goto LAB_000b6830;" goto statement_identifier ;)) (expression_statement "pcVar9 = *(char **)(iVar20 + 0x58);" (assignment_expression "pcVar9 = *(char **)(iVar20 + 0x58)" identifier = (pointer_expression "*(char **)(iVar20 + 0x58)" * (cast_expression "(char **)(iVar20 + 0x58)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar20 + 0x58)" ( (binary_expression "iVar20 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "pcVar12 = pcVar9 + iVar16;" (assignment_expression "pcVar12 = pcVar9 + iVar16" identifier = (binary_expression "pcVar9 + iVar16" identifier + identifier)) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );" do (compound_statement "{\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          }" { (if_statement "if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }" if (parenthesized_expression "(*pcVar9 != '\0')" ( (binary_expression "*pcVar9 != '\0'" (pointer_expression "*pcVar9" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar16 = iVar16 + 1;\n            }" { (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) })) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar12 == pcVar9) goto LAB_000b65d4;" if (parenthesized_expression "(pcVar12 == pcVar9)" ( (binary_expression "pcVar12 == pcVar9" identifier == identifier) )) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (uVar8 != 0x17) goto LAB_000b65d4;" if (parenthesized_expression "(uVar8 != 0x17)" ( (binary_expression "uVar8 != 0x17" identifier != number_literal) )) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;)) (expression_statement "iVar16 = iVar16 << 1;" (assignment_expression "iVar16 = iVar16 << 1" identifier = (binary_expression "iVar16 << 1" identifier << number_literal)) ;) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;) })) (expression_statement "iVar19 = *(int *)(iVar20 + 0x5c);" (assignment_expression "iVar19 = *(int *)(iVar20 + 0x5c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = iVar19 + iVar16 * 4;" (assignment_expression "iVar22 = iVar19 + iVar16 * 4" identifier = (binary_expression "iVar19 + iVar16 * 4" identifier + (binary_expression "iVar16 * 4" identifier * number_literal))) ;) (expression_statement "iVar21 = iVar19;" (assignment_expression "iVar21 = iVar19" identifier = identifier) ;) (if_statement "if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }" if (parenthesized_expression "(*(int *)(iVar20 + 0x3c) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x3c) != 0" (pointer_expression "*(int *)(iVar20 + 0x3c)" * (cast_expression "(int *)(iVar20 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x3c)" ( (binary_expression "iVar20 + 0x3c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }" { (expression_statement "iVar21 = iVar22;" (assignment_expression "iVar21 = iVar22" identifier = identifier) ;) (expression_statement "iVar22 = iVar19;" (assignment_expression "iVar22 = iVar19" identifier = identifier) ;) })) (if_statement "if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }" if (parenthesized_expression "(uVar8 == 0x12)" ( (binary_expression "uVar8 == 0x12" identifier == number_literal) )) (compound_statement "{\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }" { (labeled_statement "LAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);" statement_identifier : (expression_statement "iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);" (assignment_expression "iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22)" identifier = (call_expression "FUN_000b5d20(iVar20,iVar16,0,iVar22)" identifier (argument_list "(iVar20,iVar16,0,iVar22)" ( identifier , identifier , number_literal , identifier )))) ;)) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000b6458;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" if (parenthesized_expression "(*(int *)(iVar20 + 0x38) == 0)" ( (binary_expression "*(int *)(iVar20 + 0x38) == 0" (pointer_expression "*(int *)(iVar20 + 0x38)" * (cast_expression "(int *)(iVar20 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x38)" ( (binary_expression "iVar20 + 0x38" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }" { (if_statement "if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;" if (parenthesized_expression "(*(int *)(iVar20 + 0x3c) == 0)" ( (binary_expression "*(int *)(iVar20 + 0x3c) == 0" (pointer_expression "*(int *)(iVar20 + 0x3c)" * (cast_expression "(int *)(iVar20 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x3c)" ( (binary_expression "iVar20 + 0x3c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000b6734;" goto statement_identifier ;)) (expression_statement "iVar16 = *(int *)(iVar20 + 0x50);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x50)" identifier = (pointer_expression "*(int *)(iVar20 + 0x50)" * (cast_expression "(int *)(iVar20 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x50)" ( (binary_expression "iVar20 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (iVar16 != 0x17) goto LAB_000b6788;" if (parenthesized_expression "(iVar16 != 0x17)" ( (binary_expression "iVar16 != 0x17" identifier != number_literal) )) (goto_statement "goto LAB_000b6788;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" else (compound_statement "{\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" { (expression_statement "iVar16 = *(int *)(iVar20 + 0x50);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x50)" identifier = (pointer_expression "*(int *)(iVar20 + 0x50)" * (cast_expression "(int *)(iVar20 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x50)" ( (binary_expression "iVar20 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }" if (parenthesized_expression "(iVar16 != 0x17)" ( (binary_expression "iVar16 != 0x17" identifier != number_literal) )) (compound_statement "{\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }" { (expression_statement "iVar21 = *(int *)(iVar20 + 0x3c);" (assignment_expression "iVar21 = *(int *)(iVar20 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x3c)" * (cast_expression "(int *)(iVar20 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x3c)" ( (binary_expression "iVar20 + 0x3c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b6780;" goto statement_identifier ;) })) }))) (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }" if (parenthesized_expression "(0 < iVar16)" ( (binary_expression "0 < iVar16" number_literal < identifier) )) (compound_statement "{\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }" { (do_statement "do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);" do (compound_statement "{\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          }" { (if_statement "if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }" if (parenthesized_expression "(*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0')" ( (binary_expression "*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0'" (pointer_expression "*(char *)(*(int *)(iVar20 + 0x58) + iVar6)" * (cast_expression "(char *)(*(int *)(iVar20 + 0x58) + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar20 + 0x58) + iVar6)" ( (binary_expression "*(int *)(iVar20 + 0x58) + iVar6" (pointer_expression "*(int *)(iVar20 + 0x58)" * (cast_expression "(int *)(iVar20 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x58)" ( (binary_expression "iVar20 + 0x58" identifier + number_literal) )))) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }" { (expression_statement "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);" (assignment_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4)" (pointer_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" ( (binary_expression "*(int *)(iVar20 + 0x5c) + iVar6 * 4" (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) )))) + (binary_expression "iVar6 * 4" identifier * number_literal)) )))) = (pointer_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4)" ( (binary_expression "*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4" (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) )))) + (binary_expression "(iVar16 + iVar6) * 4" (parenthesized_expression "(iVar16 + iVar6)" ( (binary_expression "iVar16 + iVar6" identifier + identifier) )) * number_literal)) ))))) ;) (if_statement "if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }" if (parenthesized_expression "(*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0)" ( (binary_expression "*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0" (pointer_expression "*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" * (cast_expression "(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" ( (binary_expression "*(int *)(iVar20 + 0x5c) + iVar6 * 4" (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) )))) + (binary_expression "iVar6 * 4" identifier * number_literal)) )))) == number_literal) )) (compound_statement "{\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }" { (expression_statement "uVar18 = 0x30212;" (assignment_expression "uVar18 = 0x30212" identifier = number_literal) ;) (goto_statement "goto LAB_000b653c;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4)" ( (binary_expression "*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4" (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) )))) + (binary_expression "(iVar6 + *(int *)(iVar20 + 0x4c)) * 4" (parenthesized_expression "(iVar6 + *(int *)(iVar20 + 0x4c))" ( (binary_expression "iVar6 + *(int *)(iVar20 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) )) * number_literal)) )))) = number_literal) ;) (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) ;) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar16)" ( (binary_expression "iVar6 < iVar16" identifier < identifier) )) ;) })) }) (else_clause "else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }" else (compound_statement "{\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }" { (if_statement "if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }" { (if_statement "if (uVar8 != 9) goto LAB_000b6678;" if (parenthesized_expression "(uVar8 != 9)" ( (binary_expression "uVar8 != 9" identifier != number_literal) )) (goto_statement "goto LAB_000b6678;" goto statement_identifier ;)) (expression_statement "piVar13 = *(int **)(iVar20 + 0x58);" (assignment_expression "piVar13 = *(int **)(iVar20 + 0x58)" identifier = (pointer_expression "*(int **)(iVar20 + 0x58)" * (cast_expression "(int **)(iVar20 + 0x58)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar20 + 0x58)" ( (binary_expression "iVar20 + 0x58" identifier + number_literal) ))))) ;) })) (expression_statement "iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);" (assignment_expression "iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21)" identifier = (call_expression "FUN_000b5d20(iVar20,iVar16,piVar13,iVar21)" identifier (argument_list "(iVar20,iVar16,piVar13,iVar21)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000b6458;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }" if (parenthesized_expression "(*(int *)(iVar20 + 0x50) != 9)" ( (binary_expression "*(int *)(iVar20 + 0x50) != 9" (pointer_expression "*(int *)(iVar20 + 0x50)" * (cast_expression "(int *)(iVar20 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x50)" ( (binary_expression "iVar20 + 0x50" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }" { (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b6678;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }" if (parenthesized_expression "(*(int *)(iVar20 + 0x38) == 0)" ( (binary_expression "*(int *)(iVar20 + 0x38) == 0" (pointer_expression "*(int *)(iVar20 + 0x38)" * (cast_expression "(int *)(iVar20 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x38)" ( (binary_expression "iVar20 + 0x38" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }" { (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" identifier = number_literal) ;) (if_statement "if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;" if (parenthesized_expression "(*(int *)(iVar20 + 0x3c) == 0)" ( (binary_expression "*(int *)(iVar20 + 0x3c) == 0" (pointer_expression "*(int *)(iVar20 + 0x3c)" * (cast_expression "(int *)(iVar20 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x3c)" ( (binary_expression "iVar20 + 0x3c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "iVar16 = 9;" (assignment_expression "iVar16 = 9" identifier = number_literal) ;) }) (else_clause "else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }" else (compound_statement "{\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }" { (expression_statement "iVar21 = *(int *)(iVar20 + 0x3c);" (assignment_expression "iVar21 = *(int *)(iVar20 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x3c)" * (cast_expression "(int *)(iVar20 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x3c)" ( (binary_expression "iVar20 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = 9;" (assignment_expression "iVar16 = 9" identifier = number_literal) ;) (labeled_statement "LAB_000b6780:\n          iVar6 = 100;" statement_identifier : (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" identifier = number_literal) ;)) (if_statement "if (iVar21 == 0) goto LAB_000b6458;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" statement_identifier : (if_statement "if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" if (parenthesized_expression "(iVar16 == 0x12)" ( (binary_expression "iVar16 == 0x12" identifier == number_literal) )) (compound_statement "{\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" { (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(iVar20 + 0x50) = 9;" (assignment_expression "*(undefined4 *)(iVar20 + 0x50) = 9" (pointer_expression "*(undefined4 *)(iVar20 + 0x50)" * (cast_expression "(undefined4 *)(iVar20 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x50)" ( (binary_expression "iVar20 + 0x50" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) }))) (if_statement "if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }" if (parenthesized_expression "(iVar16 == 9)" ( (binary_expression "iVar16 == 9" identifier == number_literal) )) (compound_statement "{\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }" { (expression_statement "*(undefined4 *)(iVar20 + 0x50) = 0x12;" (assignment_expression "*(undefined4 *)(iVar20 + 0x50) = 0x12" (pointer_expression "*(undefined4 *)(iVar20 + 0x50)" * (cast_expression "(undefined4 *)(iVar20 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x50)" ( (binary_expression "iVar20 + 0x50" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" identifier = number_literal) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000b6734:\n      iVar6 = 100;" statement_identifier : (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" identifier = number_literal) ;)) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "uVar18 = 0x301e6;" (assignment_expression "uVar18 = 0x301e6" identifier = number_literal) ;) }))) (labeled_statement "LAB_000b653c:\n  (**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c);" statement_identifier : (expression_statement "(**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(puVar24 + 0xdaa58))" ( (pointer_expression "**(code **)(puVar24 + 0xdaa58)" * (pointer_expression "*(code **)(puVar24 + 0xdaa58)" * (cast_expression "(code **)(puVar24 + 0xdaa58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xdaa58)" ( (binary_expression "puVar24 + 0xdaa58" identifier + number_literal) ))))) )) (argument_list "(0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c)" ( number_literal , (binary_expression "*(int *)(puVar24 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(puVar24 + 0xda7d4)" * (cast_expression "(int *)(puVar24 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xda7d4)" ( (binary_expression "puVar24 + 0xda7d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar24 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(puVar24 + 0xda7d4)" * (cast_expression "(int *)(puVar24 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xda7d4)" ( (binary_expression "puVar24 + 0xda7d4" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(puVar24 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(puVar24 + 0xda7d0)" * (cast_expression "(int *)(puVar24 + 0xda7d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xda7d0)" ( (binary_expression "puVar24 + 0xda7d0" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "iVar6 = 0xb;" (assignment_expression "iVar6 = 0xb" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(iVar20 + 0x40) = 0xb;" (assignment_expression "*(undefined4 *)(iVar20 + 0x40) = 0xb" (pointer_expression "*(undefined4 *)(iVar20 + 0x40)" * (cast_expression "(undefined4 *)(iVar20 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_000b6458:\n  while (iStack_ac != *piVar23) {\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }" statement_identifier : (while_statement "while (iStack_ac != *piVar23) {\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }" while (parenthesized_expression "(iStack_ac != *piVar23)" ( (binary_expression "iStack_ac != *piVar23" identifier != (pointer_expression "*piVar23" * identifier)) )) (compound_statement "{\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }" { (expression_statement "(**(code **)(puVar24 + 0xdac70))();" (call_expression "(**(code **)(puVar24 + 0xdac70))()" (parenthesized_expression "(**(code **)(puVar24 + 0xdac70))" ( (pointer_expression "**(code **)(puVar24 + 0xdac70)" * (pointer_expression "*(code **)(puVar24 + 0xdac70)" * (cast_expression "(code **)(puVar24 + 0xdac70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xdac70)" ( (binary_expression "puVar24 + 0xdac70" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000b6830:\n    iVar16 = 0;" statement_identifier : (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);" statement_identifier : (expression_statement "iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);" (assignment_expression "iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14)" identifier = (call_expression "FUN_000b5b8c(iVar20,iVar16,piVar14)" identifier (argument_list "(iVar20,iVar16,piVar14)" ( identifier , identifier , identifier )))) ;)) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }" { (expression_statement "*piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);" (assignment_expression "*piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8)" (pointer_expression "*piVar13" * identifier) = (binary_expression "*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8)" (pointer_expression "*(int *)(iVar20 + 0xc)" * (cast_expression "(int *)(iVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;" (assignment_expression "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar20 + 8) + *piVar14" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) + (pointer_expression "*piVar14" * identifier))) ;) (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" identifier = number_literal) ;) })) }))) (return_statement "return iVar6;" return identifier ;) (labeled_statement "code_r0x000b6070:\n  piVar14 = *(int **)pdVar10;" statement_identifier : (expression_statement "piVar14 = *(int **)pdVar10;" (assignment_expression "piVar14 = *(int **)pdVar10" identifier = (pointer_expression "*(int **)pdVar10" * (cast_expression "(int **)pdVar10" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;)) (expression_statement "puVar17 = *(undefined4 **)((int)pdVar10 + 4);" (assignment_expression "puVar17 = *(undefined4 **)((int)pdVar10 + 4)" identifier = (pointer_expression "*(undefined4 **)((int)pdVar10 + 4)" * (cast_expression "(undefined4 **)((int)pdVar10 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar10 + 4)" ( (binary_expression "(int)pdVar10 + 4" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar25 = *pdVar10;" (assignment_expression "dVar25 = *pdVar10" identifier = (pointer_expression "*pdVar10" * identifier)) ;) (expression_statement "uVar2 = *(ushort *)(pdVar7 + 1);" (assignment_expression "uVar2 = *(ushort *)(pdVar7 + 1)" identifier = (pointer_expression "*(ushort *)(pdVar7 + 1)" * (cast_expression "(ushort *)(pdVar7 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar7 + 1)" ( (binary_expression "pdVar7 + 1" identifier + number_literal) ))))) ;) (expression_statement "piVar13 = (int *)(uVar2 & 0x2400);" (assignment_expression "piVar13 = (int *)(uVar2 & 0x2400)" identifier = (cast_expression "(int *)(uVar2 & 0x2400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar2 & 0x2400)" ( (binary_expression "uVar2 & 0x2400" identifier & number_literal) )))) ;) (if_statement "if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }\n  }\n  else {\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }" if (parenthesized_expression "(unaff_s5 == (undefined *)0x1)" ( (binary_expression "unaff_s5 == (undefined *)0x1" identifier == (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }\n  }" { (if_statement "if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }" if (parenthesized_expression "((uVar2 & 0x2400) == 0)" ( (binary_expression "(uVar2 & 0x2400) == 0" (parenthesized_expression "(uVar2 & 0x2400)" ( (binary_expression "uVar2 & 0x2400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }" { (expression_statement "*(undefined4 **)((int)pdVar7 + 4) = puVar17;" (assignment_expression "*(undefined4 **)((int)pdVar7 + 4) = puVar17" (pointer_expression "*(undefined4 **)((int)pdVar7 + 4)" * (cast_expression "(undefined4 **)((int)pdVar7 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar7 + 4)" ( (binary_expression "(int)pdVar7 + 4" (cast_expression "(int)pdVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)pdVar7 = piVar14;" (assignment_expression "*(int **)pdVar7 = piVar14" (pointer_expression "*(int **)pdVar7" * (cast_expression "(int **)pdVar7" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined2 *)(pdVar7 + 1) = 4;" (assignment_expression "*(undefined2 *)(pdVar7 + 1) = 4" (pointer_expression "*(undefined2 *)(pdVar7 + 1)" * (cast_expression "(undefined2 *)(pdVar7 + 1)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar7 + 1)" ( (binary_expression "pdVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }" else (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x20fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x20fc)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x20fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x20fc)" ( (binary_expression "PTR_LAB_00190ba8 + -0x20fc" identifier + number_literal) )))) )) (argument_list "(pdVar7)" ( identifier ))) ;) }))) }) (else_clause "else {\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }" else (compound_statement "{\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }" { (expression_statement "local_40 = piVar14;" (assignment_expression "local_40 = piVar14" identifier = identifier) ;) (expression_statement "local_3c = puVar17;" (assignment_expression "local_3c = puVar17" identifier = identifier) ;) (if_statement "if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }" if (parenthesized_expression "((uVar2 & 0x2400) == 0)" ( (binary_expression "(uVar2 & 0x2400) == 0" (parenthesized_expression "(uVar2 & 0x2400)" ( (binary_expression "uVar2 & 0x2400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }" { (expression_statement "*(undefined2 *)(pdVar7 + 1) = 1;" (assignment_expression "*(undefined2 *)(pdVar7 + 1) = 1" (pointer_expression "*(undefined2 *)(pdVar7 + 1)" * (cast_expression "(undefined2 *)(pdVar7 + 1)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar7 + 1)" ( (binary_expression "pdVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }" else (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2170))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2170)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2170)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2170)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2170" identifier + number_literal) )))) )) (argument_list "(pdVar7)" ( identifier ))) ;) }))) (if_statement "if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }" if (parenthesized_expression "(!NAN(dVar25))" ( (unary_expression "!NAN(dVar25)" ! (call_expression "NAN(dVar25)" identifier (argument_list "(dVar25)" ( identifier )))) )) (compound_statement "{\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }" { (expression_statement "*pdVar7 = dVar25;" (assignment_expression "*pdVar7 = dVar25" (pointer_expression "*pdVar7" * identifier) = identifier) ;) (expression_statement "*(undefined2 *)(pdVar7 + 1) = 8;" (assignment_expression "*(undefined2 *)(pdVar7 + 1) = 8" (pointer_expression "*(undefined2 *)(pdVar7 + 1)" * (cast_expression "(undefined2 *)(pdVar7 + 1)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar7 + 1)" ( (binary_expression "pdVar7 + 1" identifier + number_literal) )))) = number_literal) ;) })) }))) (expression_statement "unaff_s4 = (int *)(uint)(iVar20 < (int)param_2);" (assignment_expression "unaff_s4 = (int *)(uint)(iVar20 < (int)param_2)" identifier = (cast_expression "(int *)(uint)(iVar20 < (int)param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar20 < (int)param_2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar20 < (int)param_2)" ( (binary_expression "iVar20 < (int)param_2" identifier < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 8) + 8" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (unaff_s4 == (int *)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar20;\n    goto LAB_000b5de4;\n  }" if (parenthesized_expression "(unaff_s4 == (int *)0x0)" ( (binary_expression "unaff_s4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar6 = 0;\n    unaff_s7 = iVar20;\n    goto LAB_000b5de4;\n  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "unaff_s7 = iVar20;" (assignment_expression "unaff_s7 = iVar20" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (goto_statement "goto LAB_000b5dac;" goto statement_identifier ;) })))
(translation_unit "int sessionReadRecord(SessionInput *pIn,int nCol,u8 *abPK,sqlite3_value **apOut)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  sqlite3_value *psVar7;\n  int iVar8;\n  u8 *puVar9;\n  undefined1 *puVar10;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var11;\n  double *pdVar12;\n  SessionInput *pIn_00;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var13;\n  int *abPK_00;\n  int *pnByte;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var14;\n  u8 *puVar15;\n  sqlite3_value **ppsVar16;\n  undefined4 uVar17;\n  sqlite3_value **ppsVar18;\n  int iVar19;\n  u8 *unaff_s0;\n  undefined *unaff_s1;\n  sqlite3_value **apOut_00;\n  int unaff_s2;\n  int unaff_s3;\n  int iVar20;\n  sqlite3_value **unaff_s4;\n  int *piVar21;\n  undefined *unaff_s5;\n  int unaff_s7;\n  undefined *puVar22;\n  SessionInput *unaff_s8;\n  double dVar23;\n  u8 *puStack_b4;\n  int iStack_b0;\n  int iStack_ac;\n  u8 *puStack_a8;\n  undefined *puStack_a4;\n  int iStack_a0;\n  int iStack_9c;\n  sqlite3_value **ppsStack_98;\n  undefined *puStack_94;\n  undefined *puStack_90;\n  int iStack_8c;\n  SessionInput *pSStack_88;\n  code *pcStack_84;\n  undefined *puStack_70;\n  int nByte;\n  sqlite3_value **ppsStack_3c;\n  SessionInput *pSStack_34;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar22 = PTR_LAB_00190bc0;\n  pSStack_34 = *(SessionInput **)PTR___stack_chk_guard_00190e24;\n  abPK_00 = (int *)nCol;\n  pnByte = (int *)abPK;\n  ppsVar16 = apOut;\n  if (0 < nCol) {\n    iVar19 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = 1;\n    unaff_s7 = iVar19;\nLAB_000b5db4:\n    while ((abPK != (u8 *)0x0 && (abPK[unaff_s7] == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if (nCol <= unaff_s7) goto LAB_000b5de4;\n    }\n    abPK_00 = (int *)&DAT_00000009;\n    iVar6 = sessionInputBuffer(pIn,9);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar19 = pIn->iNext;\n    abPK_00 = (int *)(iVar19 + 1);\n    if (pIn->nData <= iVar19) {\n      ppsVar16 = (sqlite3_value **)0x300ea;\nLAB_000b5e90:\n      puStack_70 = PTR_LAB_00190958 + 0x625c;\n      pnByte = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      abPK_00 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    pIn->iNext = (int)abPK_00;\n    unaff_s5 = (undefined *)(uint)pIn->aData[iVar19];\n    if (unaff_s5 != (undefined *)0x0) {\n      ppsVar16 = (sqlite3_value **)&DAT_00000028;\n      pnByte = (int *)0x0;\n      unaff_s4 = apOut + unaff_s7;\n      psVar7 = (sqlite3_value *)(*pcVar4)(0);\n      if (psVar7 == (sqlite3_value *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = (sqlite3_value *)0x0;\n        goto LAB_000b5de4;\n      }\n      psVar7->flags = 1;\n      psVar7->db = (sqlite3 *)0x0;\n      *unaff_s4 = psVar7;\n      pnByte = (int *)pIn->iNext;\n      pdVar12 = (double *)(pIn->aData + (int)pnByte);\n      if (unaff_s5 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar12 < '\0') {\n          iVar19 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte);\n          pnByte = (int *)pIn->iNext;\n        }\n        else {\n          iVar19 = 1;\n          nByte = (uint)*(byte *)pdVar12;\n        }\n        pIn->iNext = (int)(iVar19 + (int)pnByte);\n        abPK_00 = (int *)nByte;\n        iVar6 = sessionInputBuffer(pIn,nByte);\n        iVar19 = nByte;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        ppsVar16 = (sqlite3_value **)0x30000;\n        if ((nByte < 0) || (piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte)) {\n          ppsVar16 = (sqlite3_value **)0x300fd;\n          unaff_s3 = nByte;\n          goto LAB_000b5e90;\n        }\n        psVar7 = *unaff_s4;\n        unaff_s4 = (sqlite3_value **)pIn->aData;\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        pnByte = piVar21;\n        unaff_s3 = iVar19;\n        if (iVar6 == 0) {\n          abPK_00 = (int *)(iVar19 + 1);\n          iVar6 = (*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f));\n          if (iVar6 != 0) {\n            pnByte = (int *)iVar19;\n            uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));\n            iVar6 = 0;\n            if (psVar7 == (sqlite3_value *)0x0) {\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            iVar19 = unaff_s7 + 1;\n            nByte = (int)abPK_00;\n            if (iVar19 < nCol) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        pIn->iNext = pIn->iNext + nByte;\n        goto LAB_000b5de4;\n      }\n      iVar19 = unaff_s7 + 1;\n      abPK_00 = (int *)(uint)(unaff_s5 + -1 < &SUB_00000002);\n      if (abPK_00 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = abPK;\n    unaff_s2 = nCol;\n    unaff_s8 = pIn;\n    if (nCol <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  iVar6 = 0;\n  abPK = unaff_s0;\n  nCol = unaff_s2;\n  pIn = unaff_s8;\nLAB_000b5de4:\n  if (pSStack_34 == *(SessionInput **)puVar3) {\n    return iVar6;\n  }\n  pcVar4 = sessionChangesetNext;\n  pIn_00 = pSStack_34;\n  puVar22 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_90 = puVar3;\n  piVar21 = *(int **)(puVar22 + 0xdac9c);\n  iVar19 = pIn_00[2].iCurrent;\n  iStack_ac = *piVar21;\n  puStack_a8 = abPK;\n  puStack_a4 = unaff_s1;\n  iStack_a0 = nCol;\n  iStack_9c = unaff_s3;\n  ppsStack_98 = unaff_s4;\n  puStack_94 = unaff_s5;\n  iStack_8c = unaff_s7;\n  pSStack_88 = pIn;\n  pcStack_84 = pcVar4;\n  if (iVar19 != 0) {\n    p_Var14 = pIn_00[1].xInput;\n    iVar6 = 0;\n    if (0 < (int)p_Var14) {\n      iVar20 = *(int *)(puVar22 + 0xdaa20);\n      do {\n        iVar8 = iVar6 * 4;\n        iVar6 = iVar6 + 1;\n        (*(code *)(iVar20 + -0x18d4))(*(undefined4 *)(iVar19 + iVar8));\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = pIn_00[2].iCurrent;\n      } while (iVar6 < (int)p_Var14 << 1);\n    }\n    (**(code **)(puVar22 + 0xdabd0))(iVar19,0,(int)p_Var14 << 3);\n  }\n  puVar9 = (u8 *)sessionInputBuffer(pIn_00,2);\n  pIn_00[1].buf.aBuf = puVar9;\n  if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n  if (pIn_00->nData <= pIn_00->iNext) {\nLAB_000b6494:\n    puVar9 = (u8 *)0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(puVar22 + 0xdaa1c) + 0x27a4))(pIn_00);\n  iVar19 = pIn_00->iNext;\n  puVar9 = pIn_00->aData;\n  iVar6 = *(int *)(puVar22 + 0xdaa20);\n  pIn_00->iCurrent = iVar19;\n  pIn_00->iNext = iVar19 + 1;\n  bVar1 = puVar9[iVar19];\n  while (puVar10 = (undefined1 *)(uint)bVar1, ((uint)puVar10 & 0xfb) == 0x50) {\n    if (ppsVar16 != (sqlite3_value **)0x0) {\n      *ppsVar16 = (sqlite3_value *)0x1;\n    }\n    pIn_00[1].aData = (u8 *)(uint)(puVar10 == (undefined1 *)0x50);\n    puStack_b4 = (u8 *)sessionChangesetBufferTblhdr(pIn_00,&iStack_b0);\n    if (puStack_b4 != (u8 *)0x0) {\nLAB_000b6434:\n      p_Var14 = pIn_00[1].xInput;\n      iVar19 = pIn_00[1].bNoDiscard;\n      pIn_00[1].buf.aBuf = puStack_b4;\n      pIn_00[2].iCurrent = iVar19;\n      iVar19 = iVar19 + (int)p_Var14 * 8;\n      pIn_00[2].bNoDiscard = iVar19;\n      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n      puVar9 = puStack_b4;\n      goto LAB_000b6458;\n    }\n    bVar1 = pIn_00->aData[pIn_00->iNext];\n    p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar19 = (*(code *)(iVar6 + 0x3388))(pIn_00->aData + pIn_00->iNext,&pIn_00[1].xInput);\n      p_Var14 = pIn_00[1].xInput;\n    }\n    else {\n      iVar19 = 1;\n      pIn_00[1].xInput = p_Var14;\n    }\n    if ((int)p_Var14 < 1) {\n      (**(code **)(puVar22 + 0xdaa58))\n                (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar22 + 0xda7d0) + 0x625c);\n      puVar9 = (u8 *)0xb;\n      p_Var14 = pIn_00[1].xInput;\n      iVar19 = pIn_00[1].bNoDiscard;\n      pIn_00[1].buf.aBuf = (u8 *)0xb;\n      pIn_00[2].iCurrent = iVar19;\n      iVar19 = iVar19 + (int)p_Var14 * 8;\n      pIn_00[2].bNoDiscard = iVar19;\n      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n      goto LAB_000b6458;\n    }\n    iVar20 = pIn_00->iNext;\n    pIn_00[1].iCurrent = 0;\n    iStack_b0 = iStack_b0 - iVar19;\n    pIn_00->iNext = iVar20 + iVar19;\n    sessionBufferGrow((SessionBuffer *)(pIn_00 + 1),(int)p_Var14 * 8 + iStack_b0,(int *)&puStack_b4)\n    ;\n    if (puStack_b4 != (u8 *)0x0) goto LAB_000b6434;\n    iVar19 = (int)pIn_00[1].xInput * 8;\n    (**(code **)(puVar22 + 0xdabd0))(pIn_00[1].bNoDiscard,0,iVar19);\n    (**(code **)(puVar22 + 0xdaca4))\n              (pIn_00[1].bNoDiscard + iVar19,pIn_00->aData + pIn_00->iNext,iStack_b0);\n    p_Var14 = pIn_00[1].xInput;\n    iVar20 = pIn_00->iNext;\n    iVar19 = pIn_00[1].bNoDiscard + (int)p_Var14 * 8;\n    pIn_00[2].iCurrent = pIn_00[1].bNoDiscard;\n    pIn_00[2].bNoDiscard = iVar19;\n    pIn_00[1].buf.aBuf = puStack_b4;\n    pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n    pIn_00->iNext = iVar20 + iStack_b0;\n    puVar9 = puStack_b4;\n    if (puStack_b4 != (u8 *)0x0) goto LAB_000b6458;\n    puVar9 = (u8 *)sessionInputBuffer(pIn_00,2);\n    pIn_00[1].buf.aBuf = puVar9;\n    if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n    iVar19 = pIn_00->iNext;\n    pIn_00->iCurrent = iVar19;\n    if (pIn_00->nData <= iVar19) goto LAB_000b6494;\n    puVar9 = pIn_00->aData;\n    pIn_00->iNext = iVar19 + 1;\n    bVar1 = puVar9[iVar19];\n  }\n  if ((pIn_00[1].buf.nAlloc == 0) ||\n     ((puVar15 = pIn_00[1].aData, puVar15 != (u8 *)0x0 && (pIn_00[1].nData != 0)))) {\n    uVar17 = 0x301e0;\n  }\n  else {\n    iVar19 = pIn_00->iNext;\n    pIn_00[1].pIn = puVar10;\n    pIn_00->iNext = iVar19 + 1;\n    pIn_00[1].bEof = (uint)puVar9[iVar19];\n    if ((puVar10 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f) < 0)) {\n      p_Var14 = pIn_00[1].xInput;\n      if (abPK_00 != (int *)0x0) {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var14 < 1) goto LAB_000b6830;\n          p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard;\n          p_Var13 = p_Var14 + (int)p_Var11;\n          p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }\n            p_Var11 = p_Var11 + 1;\n            if (p_Var13 == p_Var11) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar10 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var14 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar18 = (sqlite3_value **)pIn_00[2].iCurrent;\n      ppsVar16 = ppsVar18;\n      apOut_00 = ppsVar18 + (int)p_Var14;\n      if (pIn_00[1].nData != 0) {\n        ppsVar16 = ppsVar18 + (int)p_Var14;\n        apOut_00 = ppsVar18;\n      }\n      if (puVar10 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          if (pIn_00[1].nData == 0) goto LAB_000b6734;\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) {\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = 0;\n        if (0 < (int)p_Var14) {\n          do {\n            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 < (int)p_Var14);\n        }\n      }\n      else {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b6678;\n          abPK_00 = (int *)pIn_00[2].bNoDiscard;\n        }\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pIn_00[1].pIn != &DAT_00000009) {\n          p_Var14 = pIn_00[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          puVar9 = (u8 *)0x64;\n          if (pIn_00[1].nData == 0) goto LAB_000b6458;\n          puVar10 = &DAT_00000009;\n        }\n        else {\n          iVar19 = pIn_00[1].nData;\n          puVar10 = &DAT_00000009;\nLAB_000b6780:\n          puVar9 = (u8 *)0x64;\n          if (iVar19 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar10 == (undefined1 *)0x12) {\n          puVar9 = (u8 *)0x64;\n          pIn_00[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar10 == &DAT_00000009) {\n          pIn_00[1].pIn = (void *)0x12;\n          puVar9 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar9 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }\n    uVar17 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(puVar22 + 0xdaa58))\n            (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,uVar17,\n             *(int *)(puVar22 + 0xda7d0) + 0x625c);\n  puVar9 = (u8 *)0xb;\n  pIn_00[1].buf.aBuf = (u8 *)0xb;\nLAB_000b6458:\n  while (iStack_ac != *piVar21) {\n    (**(code **)(puVar22 + 0xdac70))();\nLAB_000b6830:\n    p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\nLAB_000b65d4:\n    puVar9 = (u8 *)sessionChangesetBufferRecord(pIn_00,(int)p_Var14,pnByte);\n    pIn_00[1].buf.aBuf = puVar9;\n    if (puVar9 == (u8 *)0x0) {\n      *abPK_00 = (int)(pIn_00->aData + pIn_00->iNext);\n      pIn_00->iNext = pIn_00->iNext + *pnByte;\n      puVar9 = (u8 *)0x64;\n    }\n  }\n  return (int)puVar9;\ncode_r0x000b6070:\n  pnByte = *(int **)pdVar12;\n  ppsVar16 = *(sqlite3_value ***)((int)pdVar12 + 4);\n  dVar23 = *pdVar12;\n  uVar2 = psVar7->flags;\n  abPK_00 = (int *)(uVar2 & 0x2400);\n  if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(sqlite3_value ***)((int)&psVar7->u + 4) = ppsVar16;\n      (psVar7->u).nZero = (int)pnByte;\n      psVar7->flags = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(psVar7);\n    }\n  }\n  else {\n    nByte = (int)pnByte;\n    ppsStack_3c = ppsVar16;\n    if ((uVar2 & 0x2400) == 0) {\n      psVar7->flags = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(psVar7);\n    }\n    if (!NAN(dVar23)) {\n      (psVar7->u).r = dVar23;\n      psVar7->flags = 8;\n    }\n  }\n  unaff_s4 = (sqlite3_value **)(uint)(iVar19 < nCol);\n  pIn->iNext = pIn->iNext + 8;\n  if (unaff_s4 == (sqlite3_value **)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar19;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}\n\n" (function_definition "int sessionReadRecord(SessionInput *pIn,int nCol,u8 *abPK,sqlite3_value **apOut)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  sqlite3_value *psVar7;\n  int iVar8;\n  u8 *puVar9;\n  undefined1 *puVar10;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var11;\n  double *pdVar12;\n  SessionInput *pIn_00;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var13;\n  int *abPK_00;\n  int *pnByte;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var14;\n  u8 *puVar15;\n  sqlite3_value **ppsVar16;\n  undefined4 uVar17;\n  sqlite3_value **ppsVar18;\n  int iVar19;\n  u8 *unaff_s0;\n  undefined *unaff_s1;\n  sqlite3_value **apOut_00;\n  int unaff_s2;\n  int unaff_s3;\n  int iVar20;\n  sqlite3_value **unaff_s4;\n  int *piVar21;\n  undefined *unaff_s5;\n  int unaff_s7;\n  undefined *puVar22;\n  SessionInput *unaff_s8;\n  double dVar23;\n  u8 *puStack_b4;\n  int iStack_b0;\n  int iStack_ac;\n  u8 *puStack_a8;\n  undefined *puStack_a4;\n  int iStack_a0;\n  int iStack_9c;\n  sqlite3_value **ppsStack_98;\n  undefined *puStack_94;\n  undefined *puStack_90;\n  int iStack_8c;\n  SessionInput *pSStack_88;\n  code *pcStack_84;\n  undefined *puStack_70;\n  int nByte;\n  sqlite3_value **ppsStack_3c;\n  SessionInput *pSStack_34;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar22 = PTR_LAB_00190bc0;\n  pSStack_34 = *(SessionInput **)PTR___stack_chk_guard_00190e24;\n  abPK_00 = (int *)nCol;\n  pnByte = (int *)abPK;\n  ppsVar16 = apOut;\n  if (0 < nCol) {\n    iVar19 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = 1;\n    unaff_s7 = iVar19;\nLAB_000b5db4:\n    while ((abPK != (u8 *)0x0 && (abPK[unaff_s7] == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if (nCol <= unaff_s7) goto LAB_000b5de4;\n    }\n    abPK_00 = (int *)&DAT_00000009;\n    iVar6 = sessionInputBuffer(pIn,9);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar19 = pIn->iNext;\n    abPK_00 = (int *)(iVar19 + 1);\n    if (pIn->nData <= iVar19) {\n      ppsVar16 = (sqlite3_value **)0x300ea;\nLAB_000b5e90:\n      puStack_70 = PTR_LAB_00190958 + 0x625c;\n      pnByte = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      abPK_00 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    pIn->iNext = (int)abPK_00;\n    unaff_s5 = (undefined *)(uint)pIn->aData[iVar19];\n    if (unaff_s5 != (undefined *)0x0) {\n      ppsVar16 = (sqlite3_value **)&DAT_00000028;\n      pnByte = (int *)0x0;\n      unaff_s4 = apOut + unaff_s7;\n      psVar7 = (sqlite3_value *)(*pcVar4)(0);\n      if (psVar7 == (sqlite3_value *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = (sqlite3_value *)0x0;\n        goto LAB_000b5de4;\n      }\n      psVar7->flags = 1;\n      psVar7->db = (sqlite3 *)0x0;\n      *unaff_s4 = psVar7;\n      pnByte = (int *)pIn->iNext;\n      pdVar12 = (double *)(pIn->aData + (int)pnByte);\n      if (unaff_s5 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar12 < '\0') {\n          iVar19 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte);\n          pnByte = (int *)pIn->iNext;\n        }\n        else {\n          iVar19 = 1;\n          nByte = (uint)*(byte *)pdVar12;\n        }\n        pIn->iNext = (int)(iVar19 + (int)pnByte);\n        abPK_00 = (int *)nByte;\n        iVar6 = sessionInputBuffer(pIn,nByte);\n        iVar19 = nByte;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        ppsVar16 = (sqlite3_value **)0x30000;\n        if ((nByte < 0) || (piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte)) {\n          ppsVar16 = (sqlite3_value **)0x300fd;\n          unaff_s3 = nByte;\n          goto LAB_000b5e90;\n        }\n        psVar7 = *unaff_s4;\n        unaff_s4 = (sqlite3_value **)pIn->aData;\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        pnByte = piVar21;\n        unaff_s3 = iVar19;\n        if (iVar6 == 0) {\n          abPK_00 = (int *)(iVar19 + 1);\n          iVar6 = (*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f));\n          if (iVar6 != 0) {\n            pnByte = (int *)iVar19;\n            uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));\n            iVar6 = 0;\n            if (psVar7 == (sqlite3_value *)0x0) {\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            iVar19 = unaff_s7 + 1;\n            nByte = (int)abPK_00;\n            if (iVar19 < nCol) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        pIn->iNext = pIn->iNext + nByte;\n        goto LAB_000b5de4;\n      }\n      iVar19 = unaff_s7 + 1;\n      abPK_00 = (int *)(uint)(unaff_s5 + -1 < &SUB_00000002);\n      if (abPK_00 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = abPK;\n    unaff_s2 = nCol;\n    unaff_s8 = pIn;\n    if (nCol <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  iVar6 = 0;\n  abPK = unaff_s0;\n  nCol = unaff_s2;\n  pIn = unaff_s8;\nLAB_000b5de4:\n  if (pSStack_34 == *(SessionInput **)puVar3) {\n    return iVar6;\n  }\n  pcVar4 = sessionChangesetNext;\n  pIn_00 = pSStack_34;\n  puVar22 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_90 = puVar3;\n  piVar21 = *(int **)(puVar22 + 0xdac9c);\n  iVar19 = pIn_00[2].iCurrent;\n  iStack_ac = *piVar21;\n  puStack_a8 = abPK;\n  puStack_a4 = unaff_s1;\n  iStack_a0 = nCol;\n  iStack_9c = unaff_s3;\n  ppsStack_98 = unaff_s4;\n  puStack_94 = unaff_s5;\n  iStack_8c = unaff_s7;\n  pSStack_88 = pIn;\n  pcStack_84 = pcVar4;\n  if (iVar19 != 0) {\n    p_Var14 = pIn_00[1].xInput;\n    iVar6 = 0;\n    if (0 < (int)p_Var14) {\n      iVar20 = *(int *)(puVar22 + 0xdaa20);\n      do {\n        iVar8 = iVar6 * 4;\n        iVar6 = iVar6 + 1;\n        (*(code *)(iVar20 + -0x18d4))(*(undefined4 *)(iVar19 + iVar8));\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = pIn_00[2].iCurrent;\n      } while (iVar6 < (int)p_Var14 << 1);\n    }\n    (**(code **)(puVar22 + 0xdabd0))(iVar19,0,(int)p_Var14 << 3);\n  }\n  puVar9 = (u8 *)sessionInputBuffer(pIn_00,2);\n  pIn_00[1].buf.aBuf = puVar9;\n  if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n  if (pIn_00->nData <= pIn_00->iNext) {\nLAB_000b6494:\n    puVar9 = (u8 *)0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(puVar22 + 0xdaa1c) + 0x27a4))(pIn_00);\n  iVar19 = pIn_00->iNext;\n  puVar9 = pIn_00->aData;\n  iVar6 = *(int *)(puVar22 + 0xdaa20);\n  pIn_00->iCurrent = iVar19;\n  pIn_00->iNext = iVar19 + 1;\n  bVar1 = puVar9[iVar19];\n  while (puVar10 = (undefined1 *)(uint)bVar1, ((uint)puVar10 & 0xfb) == 0x50) {\n    if (ppsVar16 != (sqlite3_value **)0x0) {\n      *ppsVar16 = (sqlite3_value *)0x1;\n    }\n    pIn_00[1].aData = (u8 *)(uint)(puVar10 == (undefined1 *)0x50);\n    puStack_b4 = (u8 *)sessionChangesetBufferTblhdr(pIn_00,&iStack_b0);\n    if (puStack_b4 != (u8 *)0x0) {\nLAB_000b6434:\n      p_Var14 = pIn_00[1].xInput;\n      iVar19 = pIn_00[1].bNoDiscard;\n      pIn_00[1].buf.aBuf = puStack_b4;\n      pIn_00[2].iCurrent = iVar19;\n      iVar19 = iVar19 + (int)p_Var14 * 8;\n      pIn_00[2].bNoDiscard = iVar19;\n      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n      puVar9 = puStack_b4;\n      goto LAB_000b6458;\n    }\n    bVar1 = pIn_00->aData[pIn_00->iNext];\n    p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar19 = (*(code *)(iVar6 + 0x3388))(pIn_00->aData + pIn_00->iNext,&pIn_00[1].xInput);\n      p_Var14 = pIn_00[1].xInput;\n    }\n    else {\n      iVar19 = 1;\n      pIn_00[1].xInput = p_Var14;\n    }\n    if ((int)p_Var14 < 1) {\n      (**(code **)(puVar22 + 0xdaa58))\n                (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar22 + 0xda7d0) + 0x625c);\n      puVar9 = (u8 *)0xb;\n      p_Var14 = pIn_00[1].xInput;\n      iVar19 = pIn_00[1].bNoDiscard;\n      pIn_00[1].buf.aBuf = (u8 *)0xb;\n      pIn_00[2].iCurrent = iVar19;\n      iVar19 = iVar19 + (int)p_Var14 * 8;\n      pIn_00[2].bNoDiscard = iVar19;\n      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n      goto LAB_000b6458;\n    }\n    iVar20 = pIn_00->iNext;\n    pIn_00[1].iCurrent = 0;\n    iStack_b0 = iStack_b0 - iVar19;\n    pIn_00->iNext = iVar20 + iVar19;\n    sessionBufferGrow((SessionBuffer *)(pIn_00 + 1),(int)p_Var14 * 8 + iStack_b0,(int *)&puStack_b4)\n    ;\n    if (puStack_b4 != (u8 *)0x0) goto LAB_000b6434;\n    iVar19 = (int)pIn_00[1].xInput * 8;\n    (**(code **)(puVar22 + 0xdabd0))(pIn_00[1].bNoDiscard,0,iVar19);\n    (**(code **)(puVar22 + 0xdaca4))\n              (pIn_00[1].bNoDiscard + iVar19,pIn_00->aData + pIn_00->iNext,iStack_b0);\n    p_Var14 = pIn_00[1].xInput;\n    iVar20 = pIn_00->iNext;\n    iVar19 = pIn_00[1].bNoDiscard + (int)p_Var14 * 8;\n    pIn_00[2].iCurrent = pIn_00[1].bNoDiscard;\n    pIn_00[2].bNoDiscard = iVar19;\n    pIn_00[1].buf.aBuf = puStack_b4;\n    pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n    pIn_00->iNext = iVar20 + iStack_b0;\n    puVar9 = puStack_b4;\n    if (puStack_b4 != (u8 *)0x0) goto LAB_000b6458;\n    puVar9 = (u8 *)sessionInputBuffer(pIn_00,2);\n    pIn_00[1].buf.aBuf = puVar9;\n    if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n    iVar19 = pIn_00->iNext;\n    pIn_00->iCurrent = iVar19;\n    if (pIn_00->nData <= iVar19) goto LAB_000b6494;\n    puVar9 = pIn_00->aData;\n    pIn_00->iNext = iVar19 + 1;\n    bVar1 = puVar9[iVar19];\n  }\n  if ((pIn_00[1].buf.nAlloc == 0) ||\n     ((puVar15 = pIn_00[1].aData, puVar15 != (u8 *)0x0 && (pIn_00[1].nData != 0)))) {\n    uVar17 = 0x301e0;\n  }\n  else {\n    iVar19 = pIn_00->iNext;\n    pIn_00[1].pIn = puVar10;\n    pIn_00->iNext = iVar19 + 1;\n    pIn_00[1].bEof = (uint)puVar9[iVar19];\n    if ((puVar10 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f) < 0)) {\n      p_Var14 = pIn_00[1].xInput;\n      if (abPK_00 != (int *)0x0) {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var14 < 1) goto LAB_000b6830;\n          p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard;\n          p_Var13 = p_Var14 + (int)p_Var11;\n          p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }\n            p_Var11 = p_Var11 + 1;\n            if (p_Var13 == p_Var11) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar10 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var14 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar18 = (sqlite3_value **)pIn_00[2].iCurrent;\n      ppsVar16 = ppsVar18;\n      apOut_00 = ppsVar18 + (int)p_Var14;\n      if (pIn_00[1].nData != 0) {\n        ppsVar16 = ppsVar18 + (int)p_Var14;\n        apOut_00 = ppsVar18;\n      }\n      if (puVar10 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          if (pIn_00[1].nData == 0) goto LAB_000b6734;\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) {\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = 0;\n        if (0 < (int)p_Var14) {\n          do {\n            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 < (int)p_Var14);\n        }\n      }\n      else {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b6678;\n          abPK_00 = (int *)pIn_00[2].bNoDiscard;\n        }\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pIn_00[1].pIn != &DAT_00000009) {\n          p_Var14 = pIn_00[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          puVar9 = (u8 *)0x64;\n          if (pIn_00[1].nData == 0) goto LAB_000b6458;\n          puVar10 = &DAT_00000009;\n        }\n        else {\n          iVar19 = pIn_00[1].nData;\n          puVar10 = &DAT_00000009;\nLAB_000b6780:\n          puVar9 = (u8 *)0x64;\n          if (iVar19 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar10 == (undefined1 *)0x12) {\n          puVar9 = (u8 *)0x64;\n          pIn_00[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar10 == &DAT_00000009) {\n          pIn_00[1].pIn = (void *)0x12;\n          puVar9 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar9 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }\n    uVar17 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(puVar22 + 0xdaa58))\n            (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,uVar17,\n             *(int *)(puVar22 + 0xda7d0) + 0x625c);\n  puVar9 = (u8 *)0xb;\n  pIn_00[1].buf.aBuf = (u8 *)0xb;\nLAB_000b6458:\n  while (iStack_ac != *piVar21) {\n    (**(code **)(puVar22 + 0xdac70))();\nLAB_000b6830:\n    p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\nLAB_000b65d4:\n    puVar9 = (u8 *)sessionChangesetBufferRecord(pIn_00,(int)p_Var14,pnByte);\n    pIn_00[1].buf.aBuf = puVar9;\n    if (puVar9 == (u8 *)0x0) {\n      *abPK_00 = (int)(pIn_00->aData + pIn_00->iNext);\n      pIn_00->iNext = pIn_00->iNext + *pnByte;\n      puVar9 = (u8 *)0x64;\n    }\n  }\n  return (int)puVar9;\ncode_r0x000b6070:\n  pnByte = *(int **)pdVar12;\n  ppsVar16 = *(sqlite3_value ***)((int)pdVar12 + 4);\n  dVar23 = *pdVar12;\n  uVar2 = psVar7->flags;\n  abPK_00 = (int *)(uVar2 & 0x2400);\n  if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(sqlite3_value ***)((int)&psVar7->u + 4) = ppsVar16;\n      (psVar7->u).nZero = (int)pnByte;\n      psVar7->flags = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(psVar7);\n    }\n  }\n  else {\n    nByte = (int)pnByte;\n    ppsStack_3c = ppsVar16;\n    if ((uVar2 & 0x2400) == 0) {\n      psVar7->flags = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(psVar7);\n    }\n    if (!NAN(dVar23)) {\n      (psVar7->u).r = dVar23;\n      psVar7->flags = 8;\n    }\n  }\n  unaff_s4 = (sqlite3_value **)(uint)(iVar19 < nCol);\n  pIn->iNext = pIn->iNext + 8;\n  if (unaff_s4 == (sqlite3_value **)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar19;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" primitive_type (function_declarator "sessionReadRecord(SessionInput *pIn,int nCol,u8 *abPK,sqlite3_value **apOut)" identifier (parameter_list "(SessionInput *pIn,int nCol,u8 *abPK,sqlite3_value **apOut)" ( (parameter_declaration "SessionInput *pIn" type_identifier (pointer_declarator "*pIn" * identifier)) , (parameter_declaration "int nCol" primitive_type identifier) , (parameter_declaration "u8 *abPK" type_identifier (pointer_declarator "*abPK" * identifier)) , (parameter_declaration "sqlite3_value **apOut" type_identifier (pointer_declarator "**apOut" * (pointer_declarator "*apOut" * identifier))) ))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  sqlite3_value *psVar7;\n  int iVar8;\n  u8 *puVar9;\n  undefined1 *puVar10;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var11;\n  double *pdVar12;\n  SessionInput *pIn_00;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var13;\n  int *abPK_00;\n  int *pnByte;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var14;\n  u8 *puVar15;\n  sqlite3_value **ppsVar16;\n  undefined4 uVar17;\n  sqlite3_value **ppsVar18;\n  int iVar19;\n  u8 *unaff_s0;\n  undefined *unaff_s1;\n  sqlite3_value **apOut_00;\n  int unaff_s2;\n  int unaff_s3;\n  int iVar20;\n  sqlite3_value **unaff_s4;\n  int *piVar21;\n  undefined *unaff_s5;\n  int unaff_s7;\n  undefined *puVar22;\n  SessionInput *unaff_s8;\n  double dVar23;\n  u8 *puStack_b4;\n  int iStack_b0;\n  int iStack_ac;\n  u8 *puStack_a8;\n  undefined *puStack_a4;\n  int iStack_a0;\n  int iStack_9c;\n  sqlite3_value **ppsStack_98;\n  undefined *puStack_94;\n  undefined *puStack_90;\n  int iStack_8c;\n  SessionInput *pSStack_88;\n  code *pcStack_84;\n  undefined *puStack_70;\n  int nByte;\n  sqlite3_value **ppsStack_3c;\n  SessionInput *pSStack_34;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar22 = PTR_LAB_00190bc0;\n  pSStack_34 = *(SessionInput **)PTR___stack_chk_guard_00190e24;\n  abPK_00 = (int *)nCol;\n  pnByte = (int *)abPK;\n  ppsVar16 = apOut;\n  if (0 < nCol) {\n    iVar19 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = 1;\n    unaff_s7 = iVar19;\nLAB_000b5db4:\n    while ((abPK != (u8 *)0x0 && (abPK[unaff_s7] == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if (nCol <= unaff_s7) goto LAB_000b5de4;\n    }\n    abPK_00 = (int *)&DAT_00000009;\n    iVar6 = sessionInputBuffer(pIn,9);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar19 = pIn->iNext;\n    abPK_00 = (int *)(iVar19 + 1);\n    if (pIn->nData <= iVar19) {\n      ppsVar16 = (sqlite3_value **)0x300ea;\nLAB_000b5e90:\n      puStack_70 = PTR_LAB_00190958 + 0x625c;\n      pnByte = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      abPK_00 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    pIn->iNext = (int)abPK_00;\n    unaff_s5 = (undefined *)(uint)pIn->aData[iVar19];\n    if (unaff_s5 != (undefined *)0x0) {\n      ppsVar16 = (sqlite3_value **)&DAT_00000028;\n      pnByte = (int *)0x0;\n      unaff_s4 = apOut + unaff_s7;\n      psVar7 = (sqlite3_value *)(*pcVar4)(0);\n      if (psVar7 == (sqlite3_value *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = (sqlite3_value *)0x0;\n        goto LAB_000b5de4;\n      }\n      psVar7->flags = 1;\n      psVar7->db = (sqlite3 *)0x0;\n      *unaff_s4 = psVar7;\n      pnByte = (int *)pIn->iNext;\n      pdVar12 = (double *)(pIn->aData + (int)pnByte);\n      if (unaff_s5 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar12 < '\0') {\n          iVar19 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte);\n          pnByte = (int *)pIn->iNext;\n        }\n        else {\n          iVar19 = 1;\n          nByte = (uint)*(byte *)pdVar12;\n        }\n        pIn->iNext = (int)(iVar19 + (int)pnByte);\n        abPK_00 = (int *)nByte;\n        iVar6 = sessionInputBuffer(pIn,nByte);\n        iVar19 = nByte;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        ppsVar16 = (sqlite3_value **)0x30000;\n        if ((nByte < 0) || (piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte)) {\n          ppsVar16 = (sqlite3_value **)0x300fd;\n          unaff_s3 = nByte;\n          goto LAB_000b5e90;\n        }\n        psVar7 = *unaff_s4;\n        unaff_s4 = (sqlite3_value **)pIn->aData;\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        pnByte = piVar21;\n        unaff_s3 = iVar19;\n        if (iVar6 == 0) {\n          abPK_00 = (int *)(iVar19 + 1);\n          iVar6 = (*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f));\n          if (iVar6 != 0) {\n            pnByte = (int *)iVar19;\n            uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));\n            iVar6 = 0;\n            if (psVar7 == (sqlite3_value *)0x0) {\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            iVar19 = unaff_s7 + 1;\n            nByte = (int)abPK_00;\n            if (iVar19 < nCol) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        pIn->iNext = pIn->iNext + nByte;\n        goto LAB_000b5de4;\n      }\n      iVar19 = unaff_s7 + 1;\n      abPK_00 = (int *)(uint)(unaff_s5 + -1 < &SUB_00000002);\n      if (abPK_00 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = abPK;\n    unaff_s2 = nCol;\n    unaff_s8 = pIn;\n    if (nCol <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  iVar6 = 0;\n  abPK = unaff_s0;\n  nCol = unaff_s2;\n  pIn = unaff_s8;\nLAB_000b5de4:\n  if (pSStack_34 == *(SessionInput **)puVar3) {\n    return iVar6;\n  }\n  pcVar4 = sessionChangesetNext;\n  pIn_00 = pSStack_34;\n  puVar22 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_90 = puVar3;\n  piVar21 = *(int **)(puVar22 + 0xdac9c);\n  iVar19 = pIn_00[2].iCurrent;\n  iStack_ac = *piVar21;\n  puStack_a8 = abPK;\n  puStack_a4 = unaff_s1;\n  iStack_a0 = nCol;\n  iStack_9c = unaff_s3;\n  ppsStack_98 = unaff_s4;\n  puStack_94 = unaff_s5;\n  iStack_8c = unaff_s7;\n  pSStack_88 = pIn;\n  pcStack_84 = pcVar4;\n  if (iVar19 != 0) {\n    p_Var14 = pIn_00[1].xInput;\n    iVar6 = 0;\n    if (0 < (int)p_Var14) {\n      iVar20 = *(int *)(puVar22 + 0xdaa20);\n      do {\n        iVar8 = iVar6 * 4;\n        iVar6 = iVar6 + 1;\n        (*(code *)(iVar20 + -0x18d4))(*(undefined4 *)(iVar19 + iVar8));\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = pIn_00[2].iCurrent;\n      } while (iVar6 < (int)p_Var14 << 1);\n    }\n    (**(code **)(puVar22 + 0xdabd0))(iVar19,0,(int)p_Var14 << 3);\n  }\n  puVar9 = (u8 *)sessionInputBuffer(pIn_00,2);\n  pIn_00[1].buf.aBuf = puVar9;\n  if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n  if (pIn_00->nData <= pIn_00->iNext) {\nLAB_000b6494:\n    puVar9 = (u8 *)0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(puVar22 + 0xdaa1c) + 0x27a4))(pIn_00);\n  iVar19 = pIn_00->iNext;\n  puVar9 = pIn_00->aData;\n  iVar6 = *(int *)(puVar22 + 0xdaa20);\n  pIn_00->iCurrent = iVar19;\n  pIn_00->iNext = iVar19 + 1;\n  bVar1 = puVar9[iVar19];\n  while (puVar10 = (undefined1 *)(uint)bVar1, ((uint)puVar10 & 0xfb) == 0x50) {\n    if (ppsVar16 != (sqlite3_value **)0x0) {\n      *ppsVar16 = (sqlite3_value *)0x1;\n    }\n    pIn_00[1].aData = (u8 *)(uint)(puVar10 == (undefined1 *)0x50);\n    puStack_b4 = (u8 *)sessionChangesetBufferTblhdr(pIn_00,&iStack_b0);\n    if (puStack_b4 != (u8 *)0x0) {\nLAB_000b6434:\n      p_Var14 = pIn_00[1].xInput;\n      iVar19 = pIn_00[1].bNoDiscard;\n      pIn_00[1].buf.aBuf = puStack_b4;\n      pIn_00[2].iCurrent = iVar19;\n      iVar19 = iVar19 + (int)p_Var14 * 8;\n      pIn_00[2].bNoDiscard = iVar19;\n      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n      puVar9 = puStack_b4;\n      goto LAB_000b6458;\n    }\n    bVar1 = pIn_00->aData[pIn_00->iNext];\n    p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar19 = (*(code *)(iVar6 + 0x3388))(pIn_00->aData + pIn_00->iNext,&pIn_00[1].xInput);\n      p_Var14 = pIn_00[1].xInput;\n    }\n    else {\n      iVar19 = 1;\n      pIn_00[1].xInput = p_Var14;\n    }\n    if ((int)p_Var14 < 1) {\n      (**(code **)(puVar22 + 0xdaa58))\n                (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar22 + 0xda7d0) + 0x625c);\n      puVar9 = (u8 *)0xb;\n      p_Var14 = pIn_00[1].xInput;\n      iVar19 = pIn_00[1].bNoDiscard;\n      pIn_00[1].buf.aBuf = (u8 *)0xb;\n      pIn_00[2].iCurrent = iVar19;\n      iVar19 = iVar19 + (int)p_Var14 * 8;\n      pIn_00[2].bNoDiscard = iVar19;\n      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n      goto LAB_000b6458;\n    }\n    iVar20 = pIn_00->iNext;\n    pIn_00[1].iCurrent = 0;\n    iStack_b0 = iStack_b0 - iVar19;\n    pIn_00->iNext = iVar20 + iVar19;\n    sessionBufferGrow((SessionBuffer *)(pIn_00 + 1),(int)p_Var14 * 8 + iStack_b0,(int *)&puStack_b4)\n    ;\n    if (puStack_b4 != (u8 *)0x0) goto LAB_000b6434;\n    iVar19 = (int)pIn_00[1].xInput * 8;\n    (**(code **)(puVar22 + 0xdabd0))(pIn_00[1].bNoDiscard,0,iVar19);\n    (**(code **)(puVar22 + 0xdaca4))\n              (pIn_00[1].bNoDiscard + iVar19,pIn_00->aData + pIn_00->iNext,iStack_b0);\n    p_Var14 = pIn_00[1].xInput;\n    iVar20 = pIn_00->iNext;\n    iVar19 = pIn_00[1].bNoDiscard + (int)p_Var14 * 8;\n    pIn_00[2].iCurrent = pIn_00[1].bNoDiscard;\n    pIn_00[2].bNoDiscard = iVar19;\n    pIn_00[1].buf.aBuf = puStack_b4;\n    pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n    pIn_00->iNext = iVar20 + iStack_b0;\n    puVar9 = puStack_b4;\n    if (puStack_b4 != (u8 *)0x0) goto LAB_000b6458;\n    puVar9 = (u8 *)sessionInputBuffer(pIn_00,2);\n    pIn_00[1].buf.aBuf = puVar9;\n    if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n    iVar19 = pIn_00->iNext;\n    pIn_00->iCurrent = iVar19;\n    if (pIn_00->nData <= iVar19) goto LAB_000b6494;\n    puVar9 = pIn_00->aData;\n    pIn_00->iNext = iVar19 + 1;\n    bVar1 = puVar9[iVar19];\n  }\n  if ((pIn_00[1].buf.nAlloc == 0) ||\n     ((puVar15 = pIn_00[1].aData, puVar15 != (u8 *)0x0 && (pIn_00[1].nData != 0)))) {\n    uVar17 = 0x301e0;\n  }\n  else {\n    iVar19 = pIn_00->iNext;\n    pIn_00[1].pIn = puVar10;\n    pIn_00->iNext = iVar19 + 1;\n    pIn_00[1].bEof = (uint)puVar9[iVar19];\n    if ((puVar10 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f) < 0)) {\n      p_Var14 = pIn_00[1].xInput;\n      if (abPK_00 != (int *)0x0) {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var14 < 1) goto LAB_000b6830;\n          p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard;\n          p_Var13 = p_Var14 + (int)p_Var11;\n          p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }\n            p_Var11 = p_Var11 + 1;\n            if (p_Var13 == p_Var11) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar10 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var14 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar18 = (sqlite3_value **)pIn_00[2].iCurrent;\n      ppsVar16 = ppsVar18;\n      apOut_00 = ppsVar18 + (int)p_Var14;\n      if (pIn_00[1].nData != 0) {\n        ppsVar16 = ppsVar18 + (int)p_Var14;\n        apOut_00 = ppsVar18;\n      }\n      if (puVar10 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          if (pIn_00[1].nData == 0) goto LAB_000b6734;\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) {\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = 0;\n        if (0 < (int)p_Var14) {\n          do {\n            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 < (int)p_Var14);\n        }\n      }\n      else {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b6678;\n          abPK_00 = (int *)pIn_00[2].bNoDiscard;\n        }\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pIn_00[1].pIn != &DAT_00000009) {\n          p_Var14 = pIn_00[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          puVar9 = (u8 *)0x64;\n          if (pIn_00[1].nData == 0) goto LAB_000b6458;\n          puVar10 = &DAT_00000009;\n        }\n        else {\n          iVar19 = pIn_00[1].nData;\n          puVar10 = &DAT_00000009;\nLAB_000b6780:\n          puVar9 = (u8 *)0x64;\n          if (iVar19 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar10 == (undefined1 *)0x12) {\n          puVar9 = (u8 *)0x64;\n          pIn_00[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar10 == &DAT_00000009) {\n          pIn_00[1].pIn = (void *)0x12;\n          puVar9 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar9 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }\n    uVar17 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(puVar22 + 0xdaa58))\n            (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,uVar17,\n             *(int *)(puVar22 + 0xda7d0) + 0x625c);\n  puVar9 = (u8 *)0xb;\n  pIn_00[1].buf.aBuf = (u8 *)0xb;\nLAB_000b6458:\n  while (iStack_ac != *piVar21) {\n    (**(code **)(puVar22 + 0xdac70))();\nLAB_000b6830:\n    p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\nLAB_000b65d4:\n    puVar9 = (u8 *)sessionChangesetBufferRecord(pIn_00,(int)p_Var14,pnByte);\n    pIn_00[1].buf.aBuf = puVar9;\n    if (puVar9 == (u8 *)0x0) {\n      *abPK_00 = (int)(pIn_00->aData + pIn_00->iNext);\n      pIn_00->iNext = pIn_00->iNext + *pnByte;\n      puVar9 = (u8 *)0x64;\n    }\n  }\n  return (int)puVar9;\ncode_r0x000b6070:\n  pnByte = *(int **)pdVar12;\n  ppsVar16 = *(sqlite3_value ***)((int)pdVar12 + 4);\n  dVar23 = *pdVar12;\n  uVar2 = psVar7->flags;\n  abPK_00 = (int *)(uVar2 & 0x2400);\n  if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(sqlite3_value ***)((int)&psVar7->u + 4) = ppsVar16;\n      (psVar7->u).nZero = (int)pnByte;\n      psVar7->flags = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(psVar7);\n    }\n  }\n  else {\n    nByte = (int)pnByte;\n    ppsStack_3c = ppsVar16;\n    if ((uVar2 & 0x2400) == 0) {\n      psVar7->flags = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(psVar7);\n    }\n    if (!NAN(dVar23)) {\n      (psVar7->u).r = dVar23;\n      psVar7->flags = 8;\n    }\n  }\n  unaff_s4 = (sqlite3_value **)(uint)(iVar19 < nCol);\n  pIn->iNext = pIn->iNext + 8;\n  if (unaff_s4 == (sqlite3_value **)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar19;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "sqlite3_value *psVar7;" type_identifier (pointer_declarator "*psVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "u8 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "_func_int_void_ptr_void_ptr_int_ptr *p_Var11;" type_identifier (pointer_declarator "*p_Var11" * identifier) ;) (declaration "double *pdVar12;" primitive_type (pointer_declarator "*pdVar12" * identifier) ;) (declaration "SessionInput *pIn_00;" type_identifier (pointer_declarator "*pIn_00" * identifier) ;) (declaration "_func_int_void_ptr_void_ptr_int_ptr *p_Var13;" type_identifier (pointer_declarator "*p_Var13" * identifier) ;) (declaration "int *abPK_00;" primitive_type (pointer_declarator "*abPK_00" * identifier) ;) (declaration "int *pnByte;" primitive_type (pointer_declarator "*pnByte" * identifier) ;) (declaration "_func_int_void_ptr_void_ptr_int_ptr *p_Var14;" type_identifier (pointer_declarator "*p_Var14" * identifier) ;) (declaration "u8 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "sqlite3_value **ppsVar16;" type_identifier (pointer_declarator "**ppsVar16" * (pointer_declarator "*ppsVar16" * identifier)) ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "sqlite3_value **ppsVar18;" type_identifier (pointer_declarator "**ppsVar18" * (pointer_declarator "*ppsVar18" * identifier)) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "u8 *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "undefined *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "sqlite3_value **apOut_00;" type_identifier (pointer_declarator "**apOut_00" * (pointer_declarator "*apOut_00" * identifier)) ;) (declaration "int unaff_s2;" primitive_type identifier ;) (declaration "int unaff_s3;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "sqlite3_value **unaff_s4;" type_identifier (pointer_declarator "**unaff_s4" * (pointer_declarator "*unaff_s4" * identifier)) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int unaff_s7;" primitive_type identifier ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "SessionInput *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "double dVar23;" primitive_type identifier ;) (declaration "u8 *puStack_b4;" type_identifier (pointer_declarator "*puStack_b4" * identifier) ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "int iStack_ac;" primitive_type identifier ;) (declaration "u8 *puStack_a8;" type_identifier (pointer_declarator "*puStack_a8" * identifier) ;) (declaration "undefined *puStack_a4;" type_identifier (pointer_declarator "*puStack_a4" * identifier) ;) (declaration "int iStack_a0;" primitive_type identifier ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "sqlite3_value **ppsStack_98;" type_identifier (pointer_declarator "**ppsStack_98" * (pointer_declarator "*ppsStack_98" * identifier)) ;) (declaration "undefined *puStack_94;" type_identifier (pointer_declarator "*puStack_94" * identifier) ;) (declaration "undefined *puStack_90;" type_identifier (pointer_declarator "*puStack_90" * identifier) ;) (declaration "int iStack_8c;" primitive_type identifier ;) (declaration "SessionInput *pSStack_88;" type_identifier (pointer_declarator "*pSStack_88" * identifier) ;) (declaration "code *pcStack_84;" type_identifier (pointer_declarator "*pcStack_84" * identifier) ;) (declaration "undefined *puStack_70;" type_identifier (pointer_declarator "*puStack_70" * identifier) ;) (declaration "int nByte;" primitive_type identifier ;) (declaration "sqlite3_value **ppsStack_3c;" type_identifier (pointer_declarator "**ppsStack_3c" * (pointer_declarator "*ppsStack_3c" * identifier)) ;) (declaration "SessionInput *pSStack_34;" type_identifier (pointer_declarator "*pSStack_34" * identifier) ;) (expression_statement "puVar3 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar3 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "puVar22 = PTR_LAB_00190bc0;" (assignment_expression "puVar22 = PTR_LAB_00190bc0" identifier = identifier) ;) (expression_statement "pSStack_34 = *(SessionInput **)PTR___stack_chk_guard_00190e24;" (assignment_expression "pSStack_34 = *(SessionInput **)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(SessionInput **)PTR___stack_chk_guard_00190e24" * (cast_expression "(SessionInput **)PTR___stack_chk_guard_00190e24" ( (type_descriptor "SessionInput **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "abPK_00 = (int *)nCol;" (assignment_expression "abPK_00 = (int *)nCol" identifier = (cast_expression "(int *)nCol" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pnByte = (int *)abPK;" (assignment_expression "pnByte = (int *)abPK" identifier = (cast_expression "(int *)abPK" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppsVar16 = apOut;" (assignment_expression "ppsVar16 = apOut" identifier = identifier) ;) (if_statement "if (0 < nCol) {\n    iVar19 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = 1;\n    unaff_s7 = iVar19;\nLAB_000b5db4:\n    while ((abPK != (u8 *)0x0 && (abPK[unaff_s7] == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if (nCol <= unaff_s7) goto LAB_000b5de4;\n    }\n    abPK_00 = (int *)&DAT_00000009;\n    iVar6 = sessionInputBuffer(pIn,9);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar19 = pIn->iNext;\n    abPK_00 = (int *)(iVar19 + 1);\n    if (pIn->nData <= iVar19) {\n      ppsVar16 = (sqlite3_value **)0x300ea;\nLAB_000b5e90:\n      puStack_70 = PTR_LAB_00190958 + 0x625c;\n      pnByte = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      abPK_00 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    pIn->iNext = (int)abPK_00;\n    unaff_s5 = (undefined *)(uint)pIn->aData[iVar19];\n    if (unaff_s5 != (undefined *)0x0) {\n      ppsVar16 = (sqlite3_value **)&DAT_00000028;\n      pnByte = (int *)0x0;\n      unaff_s4 = apOut + unaff_s7;\n      psVar7 = (sqlite3_value *)(*pcVar4)(0);\n      if (psVar7 == (sqlite3_value *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = (sqlite3_value *)0x0;\n        goto LAB_000b5de4;\n      }\n      psVar7->flags = 1;\n      psVar7->db = (sqlite3 *)0x0;\n      *unaff_s4 = psVar7;\n      pnByte = (int *)pIn->iNext;\n      pdVar12 = (double *)(pIn->aData + (int)pnByte);\n      if (unaff_s5 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar12 < '\0') {\n          iVar19 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte);\n          pnByte = (int *)pIn->iNext;\n        }\n        else {\n          iVar19 = 1;\n          nByte = (uint)*(byte *)pdVar12;\n        }\n        pIn->iNext = (int)(iVar19 + (int)pnByte);\n        abPK_00 = (int *)nByte;\n        iVar6 = sessionInputBuffer(pIn,nByte);\n        iVar19 = nByte;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        ppsVar16 = (sqlite3_value **)0x30000;\n        if ((nByte < 0) || (piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte)) {\n          ppsVar16 = (sqlite3_value **)0x300fd;\n          unaff_s3 = nByte;\n          goto LAB_000b5e90;\n        }\n        psVar7 = *unaff_s4;\n        unaff_s4 = (sqlite3_value **)pIn->aData;\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        pnByte = piVar21;\n        unaff_s3 = iVar19;\n        if (iVar6 == 0) {\n          abPK_00 = (int *)(iVar19 + 1);\n          iVar6 = (*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f));\n          if (iVar6 != 0) {\n            pnByte = (int *)iVar19;\n            uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));\n            iVar6 = 0;\n            if (psVar7 == (sqlite3_value *)0x0) {\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            iVar19 = unaff_s7 + 1;\n            nByte = (int)abPK_00;\n            if (iVar19 < nCol) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        pIn->iNext = pIn->iNext + nByte;\n        goto LAB_000b5de4;\n      }\n      iVar19 = unaff_s7 + 1;\n      abPK_00 = (int *)(uint)(unaff_s5 + -1 < &SUB_00000002);\n      if (abPK_00 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = abPK;\n    unaff_s2 = nCol;\n    unaff_s8 = pIn;\n    if (nCol <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" if (parenthesized_expression "(0 < nCol)" ( (binary_expression "0 < nCol" number_literal < identifier) )) (compound_statement "{\n    iVar19 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = 1;\n    unaff_s7 = iVar19;\nLAB_000b5db4:\n    while ((abPK != (u8 *)0x0 && (abPK[unaff_s7] == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if (nCol <= unaff_s7) goto LAB_000b5de4;\n    }\n    abPK_00 = (int *)&DAT_00000009;\n    iVar6 = sessionInputBuffer(pIn,9);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar19 = pIn->iNext;\n    abPK_00 = (int *)(iVar19 + 1);\n    if (pIn->nData <= iVar19) {\n      ppsVar16 = (sqlite3_value **)0x300ea;\nLAB_000b5e90:\n      puStack_70 = PTR_LAB_00190958 + 0x625c;\n      pnByte = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      abPK_00 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    pIn->iNext = (int)abPK_00;\n    unaff_s5 = (undefined *)(uint)pIn->aData[iVar19];\n    if (unaff_s5 != (undefined *)0x0) {\n      ppsVar16 = (sqlite3_value **)&DAT_00000028;\n      pnByte = (int *)0x0;\n      unaff_s4 = apOut + unaff_s7;\n      psVar7 = (sqlite3_value *)(*pcVar4)(0);\n      if (psVar7 == (sqlite3_value *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = (sqlite3_value *)0x0;\n        goto LAB_000b5de4;\n      }\n      psVar7->flags = 1;\n      psVar7->db = (sqlite3 *)0x0;\n      *unaff_s4 = psVar7;\n      pnByte = (int *)pIn->iNext;\n      pdVar12 = (double *)(pIn->aData + (int)pnByte);\n      if (unaff_s5 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar12 < '\0') {\n          iVar19 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte);\n          pnByte = (int *)pIn->iNext;\n        }\n        else {\n          iVar19 = 1;\n          nByte = (uint)*(byte *)pdVar12;\n        }\n        pIn->iNext = (int)(iVar19 + (int)pnByte);\n        abPK_00 = (int *)nByte;\n        iVar6 = sessionInputBuffer(pIn,nByte);\n        iVar19 = nByte;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        ppsVar16 = (sqlite3_value **)0x30000;\n        if ((nByte < 0) || (piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte)) {\n          ppsVar16 = (sqlite3_value **)0x300fd;\n          unaff_s3 = nByte;\n          goto LAB_000b5e90;\n        }\n        psVar7 = *unaff_s4;\n        unaff_s4 = (sqlite3_value **)pIn->aData;\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        pnByte = piVar21;\n        unaff_s3 = iVar19;\n        if (iVar6 == 0) {\n          abPK_00 = (int *)(iVar19 + 1);\n          iVar6 = (*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f));\n          if (iVar6 != 0) {\n            pnByte = (int *)iVar19;\n            uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));\n            iVar6 = 0;\n            if (psVar7 == (sqlite3_value *)0x0) {\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            iVar19 = unaff_s7 + 1;\n            nByte = (int)abPK_00;\n            if (iVar19 < nCol) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        pIn->iNext = pIn->iNext + nByte;\n        goto LAB_000b5de4;\n      }\n      iVar19 = unaff_s7 + 1;\n      abPK_00 = (int *)(uint)(unaff_s5 + -1 < &SUB_00000002);\n      if (abPK_00 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = abPK;\n    unaff_s2 = nCol;\n    unaff_s8 = pIn;\n    if (nCol <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x924)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x924)" ( (binary_expression "PTR_LAB_00190ba8 + 0x924" identifier + number_literal) )))) ;) (expression_statement "pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);" (assignment_expression "pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2b48)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2b48" identifier + number_literal) )))) ;) (expression_statement "unaff_s1 = PTR_LAB_00190c2c + 0x57e0;" (assignment_expression "unaff_s1 = PTR_LAB_00190c2c + 0x57e0" identifier = (binary_expression "PTR_LAB_00190c2c + 0x57e0" identifier + number_literal)) ;) (expression_statement "unaff_s5 = PTR_LAB_00190ba8;" (assignment_expression "unaff_s5 = PTR_LAB_00190ba8" identifier = identifier) ;) (labeled_statement "LAB_000b5dac:\n    unaff_s3 = 1;" statement_identifier : (expression_statement "unaff_s3 = 1;" (assignment_expression "unaff_s3 = 1" identifier = number_literal) ;)) (expression_statement "unaff_s7 = iVar19;" (assignment_expression "unaff_s7 = iVar19" identifier = identifier) ;) (labeled_statement "LAB_000b5db4:\n    while ((abPK != (u8 *)0x0 && (abPK[unaff_s7] == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if (nCol <= unaff_s7) goto LAB_000b5de4;\n    }" statement_identifier : (while_statement "while ((abPK != (u8 *)0x0 && (abPK[unaff_s7] == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if (nCol <= unaff_s7) goto LAB_000b5de4;\n    }" while (parenthesized_expression "((abPK != (u8 *)0x0 && (abPK[unaff_s7] == '\0')))" ( (parenthesized_expression "(abPK != (u8 *)0x0 && (abPK[unaff_s7] == '\0'))" ( (binary_expression "abPK != (u8 *)0x0 && (abPK[unaff_s7] == '\0')" (binary_expression "abPK != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(abPK[unaff_s7] == '\0')" ( (binary_expression "abPK[unaff_s7] == '\0'" (subscript_expression "abPK[unaff_s7]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) )) (compound_statement "{\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if (nCol <= unaff_s7) goto LAB_000b5de4;\n    }" { (expression_statement "unaff_s7 = unaff_s7 + 1;" (assignment_expression "unaff_s7 = unaff_s7 + 1" identifier = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (nCol <= unaff_s7) goto LAB_000b5de4;" if (parenthesized_expression "(nCol <= unaff_s7)" ( (binary_expression "nCol <= unaff_s7" identifier <= identifier) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) }))) (expression_statement "abPK_00 = (int *)&DAT_00000009;" (assignment_expression "abPK_00 = (int *)&DAT_00000009" identifier = (cast_expression "(int *)&DAT_00000009" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) ;) (expression_statement "iVar6 = sessionInputBuffer(pIn,9);" (assignment_expression "iVar6 = sessionInputBuffer(pIn,9)" identifier = (call_expression "sessionInputBuffer(pIn,9)" identifier (argument_list "(pIn,9)" ( identifier , number_literal )))) ;) (if_statement "if (iVar6 != 0) goto LAB_000b5de4;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) (expression_statement "iVar19 = pIn->iNext;" (assignment_expression "iVar19 = pIn->iNext" identifier = (field_expression "pIn->iNext" identifier -> field_identifier)) ;) (expression_statement "abPK_00 = (int *)(iVar19 + 1);" (assignment_expression "abPK_00 = (int *)(iVar19 + 1)" identifier = (cast_expression "(int *)(iVar19 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 1)" ( (binary_expression "iVar19 + 1" identifier + number_literal) )))) ;) (if_statement "if (pIn->nData <= iVar19) {\n      ppsVar16 = (sqlite3_value **)0x300ea;\nLAB_000b5e90:\n      puStack_70 = PTR_LAB_00190958 + 0x625c;\n      pnByte = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      abPK_00 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }" if (parenthesized_expression "(pIn->nData <= iVar19)" ( (binary_expression "pIn->nData <= iVar19" (field_expression "pIn->nData" identifier -> field_identifier) <= identifier) )) (compound_statement "{\n      ppsVar16 = (sqlite3_value **)0x300ea;\nLAB_000b5e90:\n      puStack_70 = PTR_LAB_00190958 + 0x625c;\n      pnByte = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      abPK_00 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }" { (expression_statement "ppsVar16 = (sqlite3_value **)0x300ea;" (assignment_expression "ppsVar16 = (sqlite3_value **)0x300ea" identifier = (cast_expression "(sqlite3_value **)0x300ea" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (labeled_statement "LAB_000b5e90:\n      puStack_70 = PTR_LAB_00190958 + 0x625c;" statement_identifier : (expression_statement "puStack_70 = PTR_LAB_00190958 + 0x625c;" (assignment_expression "puStack_70 = PTR_LAB_00190958 + 0x625c" identifier = (binary_expression "PTR_LAB_00190958 + 0x625c" identifier + number_literal)) ;)) (expression_statement "pnByte = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);" (assignment_expression "pnByte = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" identifier = (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64" identifier + number_literal) )))) ;) (expression_statement "abPK_00 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);" (assignment_expression "abPK_00 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" identifier = (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_sqlite3_log_00190be0)(0xb);" (call_expression "(*(code *)PTR_sqlite3_log_00190be0)(0xb)" (parenthesized_expression "(*(code *)PTR_sqlite3_log_00190be0)" ( (pointer_expression "*(code *)PTR_sqlite3_log_00190be0" * (cast_expression "(code *)PTR_sqlite3_log_00190be0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "iVar6 = 0xb;" (assignment_expression "iVar6 = 0xb" identifier = number_literal) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "pIn->iNext = (int)abPK_00;" (assignment_expression "pIn->iNext = (int)abPK_00" (field_expression "pIn->iNext" identifier -> field_identifier) = (cast_expression "(int)abPK_00" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "unaff_s5 = (undefined *)(uint)pIn->aData[iVar19];" (assignment_expression "unaff_s5 = (undefined *)(uint)pIn->aData[iVar19]" identifier = (cast_expression "(undefined *)(uint)pIn->aData[iVar19]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pIn->aData[iVar19]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pIn->aData[iVar19]" (field_expression "pIn->aData" identifier -> field_identifier) [ identifier ])))) ;) (if_statement "if (unaff_s5 != (undefined *)0x0) {\n      ppsVar16 = (sqlite3_value **)&DAT_00000028;\n      pnByte = (int *)0x0;\n      unaff_s4 = apOut + unaff_s7;\n      psVar7 = (sqlite3_value *)(*pcVar4)(0);\n      if (psVar7 == (sqlite3_value *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = (sqlite3_value *)0x0;\n        goto LAB_000b5de4;\n      }\n      psVar7->flags = 1;\n      psVar7->db = (sqlite3 *)0x0;\n      *unaff_s4 = psVar7;\n      pnByte = (int *)pIn->iNext;\n      pdVar12 = (double *)(pIn->aData + (int)pnByte);\n      if (unaff_s5 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar12 < '\0') {\n          iVar19 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte);\n          pnByte = (int *)pIn->iNext;\n        }\n        else {\n          iVar19 = 1;\n          nByte = (uint)*(byte *)pdVar12;\n        }\n        pIn->iNext = (int)(iVar19 + (int)pnByte);\n        abPK_00 = (int *)nByte;\n        iVar6 = sessionInputBuffer(pIn,nByte);\n        iVar19 = nByte;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        ppsVar16 = (sqlite3_value **)0x30000;\n        if ((nByte < 0) || (piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte)) {\n          ppsVar16 = (sqlite3_value **)0x300fd;\n          unaff_s3 = nByte;\n          goto LAB_000b5e90;\n        }\n        psVar7 = *unaff_s4;\n        unaff_s4 = (sqlite3_value **)pIn->aData;\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        pnByte = piVar21;\n        unaff_s3 = iVar19;\n        if (iVar6 == 0) {\n          abPK_00 = (int *)(iVar19 + 1);\n          iVar6 = (*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f));\n          if (iVar6 != 0) {\n            pnByte = (int *)iVar19;\n            uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));\n            iVar6 = 0;\n            if (psVar7 == (sqlite3_value *)0x0) {\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            iVar19 = unaff_s7 + 1;\n            nByte = (int)abPK_00;\n            if (iVar19 < nCol) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        pIn->iNext = pIn->iNext + nByte;\n        goto LAB_000b5de4;\n      }\n      iVar19 = unaff_s7 + 1;\n      abPK_00 = (int *)(uint)(unaff_s5 + -1 < &SUB_00000002);\n      if (abPK_00 != (int *)0x0) goto code_r0x000b6070;\n    }" if (parenthesized_expression "(unaff_s5 != (undefined *)0x0)" ( (binary_expression "unaff_s5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ppsVar16 = (sqlite3_value **)&DAT_00000028;\n      pnByte = (int *)0x0;\n      unaff_s4 = apOut + unaff_s7;\n      psVar7 = (sqlite3_value *)(*pcVar4)(0);\n      if (psVar7 == (sqlite3_value *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = (sqlite3_value *)0x0;\n        goto LAB_000b5de4;\n      }\n      psVar7->flags = 1;\n      psVar7->db = (sqlite3 *)0x0;\n      *unaff_s4 = psVar7;\n      pnByte = (int *)pIn->iNext;\n      pdVar12 = (double *)(pIn->aData + (int)pnByte);\n      if (unaff_s5 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar12 < '\0') {\n          iVar19 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte);\n          pnByte = (int *)pIn->iNext;\n        }\n        else {\n          iVar19 = 1;\n          nByte = (uint)*(byte *)pdVar12;\n        }\n        pIn->iNext = (int)(iVar19 + (int)pnByte);\n        abPK_00 = (int *)nByte;\n        iVar6 = sessionInputBuffer(pIn,nByte);\n        iVar19 = nByte;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        ppsVar16 = (sqlite3_value **)0x30000;\n        if ((nByte < 0) || (piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte)) {\n          ppsVar16 = (sqlite3_value **)0x300fd;\n          unaff_s3 = nByte;\n          goto LAB_000b5e90;\n        }\n        psVar7 = *unaff_s4;\n        unaff_s4 = (sqlite3_value **)pIn->aData;\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        pnByte = piVar21;\n        unaff_s3 = iVar19;\n        if (iVar6 == 0) {\n          abPK_00 = (int *)(iVar19 + 1);\n          iVar6 = (*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f));\n          if (iVar6 != 0) {\n            pnByte = (int *)iVar19;\n            uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));\n            iVar6 = 0;\n            if (psVar7 == (sqlite3_value *)0x0) {\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            iVar19 = unaff_s7 + 1;\n            nByte = (int)abPK_00;\n            if (iVar19 < nCol) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        pIn->iNext = pIn->iNext + nByte;\n        goto LAB_000b5de4;\n      }\n      iVar19 = unaff_s7 + 1;\n      abPK_00 = (int *)(uint)(unaff_s5 + -1 < &SUB_00000002);\n      if (abPK_00 != (int *)0x0) goto code_r0x000b6070;\n    }" { (expression_statement "ppsVar16 = (sqlite3_value **)&DAT_00000028;" (assignment_expression "ppsVar16 = (sqlite3_value **)&DAT_00000028" identifier = (cast_expression "(sqlite3_value **)&DAT_00000028" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&DAT_00000028" & identifier))) ;) (expression_statement "pnByte = (int *)0x0;" (assignment_expression "pnByte = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s4 = apOut + unaff_s7;" (assignment_expression "unaff_s4 = apOut + unaff_s7" identifier = (binary_expression "apOut + unaff_s7" identifier + identifier)) ;) (expression_statement "psVar7 = (sqlite3_value *)(*pcVar4)(0);" (assignment_expression "psVar7 = (sqlite3_value *)(*pcVar4)(0)" identifier = (cast_expression "(sqlite3_value *)(*pcVar4)(0)" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar4)(0)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (psVar7 == (sqlite3_value *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = (sqlite3_value *)0x0;\n        goto LAB_000b5de4;\n      }" if (parenthesized_expression "(psVar7 == (sqlite3_value *)0x0)" ( (binary_expression "psVar7 == (sqlite3_value *)0x0" identifier == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar6 = 7;\n        *unaff_s4 = (sqlite3_value *)0x0;\n        goto LAB_000b5de4;\n      }" { (expression_statement "iVar6 = 7;" (assignment_expression "iVar6 = 7" identifier = number_literal) ;) (expression_statement "*unaff_s4 = (sqlite3_value *)0x0;" (assignment_expression "*unaff_s4 = (sqlite3_value *)0x0" (pointer_expression "*unaff_s4" * identifier) = (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "psVar7->flags = 1;" (assignment_expression "psVar7->flags = 1" (field_expression "psVar7->flags" identifier -> field_identifier) = number_literal) ;) (expression_statement "psVar7->db = (sqlite3 *)0x0;" (assignment_expression "psVar7->db = (sqlite3 *)0x0" (field_expression "psVar7->db" identifier -> field_identifier) = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*unaff_s4 = psVar7;" (assignment_expression "*unaff_s4 = psVar7" (pointer_expression "*unaff_s4" * identifier) = identifier) ;) (expression_statement "pnByte = (int *)pIn->iNext;" (assignment_expression "pnByte = (int *)pIn->iNext" identifier = (cast_expression "(int *)pIn->iNext" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pIn->iNext" identifier -> field_identifier))) ;) (expression_statement "pdVar12 = (double *)(pIn->aData + (int)pnByte);" (assignment_expression "pdVar12 = (double *)(pIn->aData + (int)pnByte)" identifier = (cast_expression "(double *)(pIn->aData + (int)pnByte)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIn->aData + (int)pnByte)" ( (binary_expression "pIn->aData + (int)pnByte" (field_expression "pIn->aData" identifier -> field_identifier) + (cast_expression "(int)pnByte" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (unaff_s5 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar12 < '\0') {\n          iVar19 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte);\n          pnByte = (int *)pIn->iNext;\n        }\n        else {\n          iVar19 = 1;\n          nByte = (uint)*(byte *)pdVar12;\n        }\n        pIn->iNext = (int)(iVar19 + (int)pnByte);\n        abPK_00 = (int *)nByte;\n        iVar6 = sessionInputBuffer(pIn,nByte);\n        iVar19 = nByte;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        ppsVar16 = (sqlite3_value **)0x30000;\n        if ((nByte < 0) || (piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte)) {\n          ppsVar16 = (sqlite3_value **)0x300fd;\n          unaff_s3 = nByte;\n          goto LAB_000b5e90;\n        }\n        psVar7 = *unaff_s4;\n        unaff_s4 = (sqlite3_value **)pIn->aData;\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        pnByte = piVar21;\n        unaff_s3 = iVar19;\n        if (iVar6 == 0) {\n          abPK_00 = (int *)(iVar19 + 1);\n          iVar6 = (*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f));\n          if (iVar6 != 0) {\n            pnByte = (int *)iVar19;\n            uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));\n            iVar6 = 0;\n            if (psVar7 == (sqlite3_value *)0x0) {\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            iVar19 = unaff_s7 + 1;\n            nByte = (int)abPK_00;\n            if (iVar19 < nCol) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        pIn->iNext = pIn->iNext + nByte;\n        goto LAB_000b5de4;\n      }" if (parenthesized_expression "(unaff_s5 + -3 < &SUB_00000002)" ( (binary_expression "unaff_s5 + -3 < &SUB_00000002" (binary_expression "unaff_s5 + -3" identifier + number_literal) < (pointer_expression "&SUB_00000002" & identifier)) )) (compound_statement "{\n        if ((char)*(byte *)pdVar12 < '\0') {\n          iVar19 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte);\n          pnByte = (int *)pIn->iNext;\n        }\n        else {\n          iVar19 = 1;\n          nByte = (uint)*(byte *)pdVar12;\n        }\n        pIn->iNext = (int)(iVar19 + (int)pnByte);\n        abPK_00 = (int *)nByte;\n        iVar6 = sessionInputBuffer(pIn,nByte);\n        iVar19 = nByte;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        ppsVar16 = (sqlite3_value **)0x30000;\n        if ((nByte < 0) || (piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte)) {\n          ppsVar16 = (sqlite3_value **)0x300fd;\n          unaff_s3 = nByte;\n          goto LAB_000b5e90;\n        }\n        psVar7 = *unaff_s4;\n        unaff_s4 = (sqlite3_value **)pIn->aData;\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        pnByte = piVar21;\n        unaff_s3 = iVar19;\n        if (iVar6 == 0) {\n          abPK_00 = (int *)(iVar19 + 1);\n          iVar6 = (*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f));\n          if (iVar6 != 0) {\n            pnByte = (int *)iVar19;\n            uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));\n            iVar6 = 0;\n            if (psVar7 == (sqlite3_value *)0x0) {\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            iVar19 = unaff_s7 + 1;\n            nByte = (int)abPK_00;\n            if (iVar19 < nCol) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        pIn->iNext = pIn->iNext + nByte;\n        goto LAB_000b5de4;\n      }" { (if_statement "if ((char)*(byte *)pdVar12 < '\0') {\n          iVar19 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte);\n          pnByte = (int *)pIn->iNext;\n        }\n        else {\n          iVar19 = 1;\n          nByte = (uint)*(byte *)pdVar12;\n        }" if (parenthesized_expression "((char)*(byte *)pdVar12 < '\0')" ( (binary_expression "(char)*(byte *)pdVar12 < '\0'" (cast_expression "(char)*(byte *)pdVar12" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)pdVar12" * (cast_expression "(byte *)pdVar12" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar19 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte);\n          pnByte = (int *)pIn->iNext;\n        }" { (expression_statement "iVar19 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte);" (assignment_expression "iVar19 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar12,&nByte)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x3388))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x3388)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x3388)" ( (binary_expression "PTR_LAB_00190ba8 + 0x3388" identifier + number_literal) )))) )) (argument_list "(pdVar12,&nByte)" ( identifier , (pointer_expression "&nByte" & identifier) )))) ;) (expression_statement "pnByte = (int *)pIn->iNext;" (assignment_expression "pnByte = (int *)pIn->iNext" identifier = (cast_expression "(int *)pIn->iNext" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pIn->iNext" identifier -> field_identifier))) ;) }) (else_clause "else {\n          iVar19 = 1;\n          nByte = (uint)*(byte *)pdVar12;\n        }" else (compound_statement "{\n          iVar19 = 1;\n          nByte = (uint)*(byte *)pdVar12;\n        }" { (expression_statement "iVar19 = 1;" (assignment_expression "iVar19 = 1" identifier = number_literal) ;) (expression_statement "nByte = (uint)*(byte *)pdVar12;" (assignment_expression "nByte = (uint)*(byte *)pdVar12" identifier = (binary_expression "(uint)*(byte *)pdVar12" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)pdVar12" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (expression_statement "pIn->iNext = (int)(iVar19 + (int)pnByte);" (assignment_expression "pIn->iNext = (int)(iVar19 + (int)pnByte)" (field_expression "pIn->iNext" identifier -> field_identifier) = (cast_expression "(int)(iVar19 + (int)pnByte)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar19 + (int)pnByte)" ( (binary_expression "iVar19 + (int)pnByte" identifier + (cast_expression "(int)pnByte" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "abPK_00 = (int *)nByte;" (assignment_expression "abPK_00 = (int *)nByte" identifier = (cast_expression "(int *)nByte" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar6 = sessionInputBuffer(pIn,nByte);" (assignment_expression "iVar6 = sessionInputBuffer(pIn,nByte)" identifier = (call_expression "sessionInputBuffer(pIn,nByte)" identifier (argument_list "(pIn,nByte)" ( identifier , identifier )))) ;) (expression_statement "iVar19 = nByte;" (assignment_expression "iVar19 = nByte" identifier = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000b5de4;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) (expression_statement "ppsVar16 = (sqlite3_value **)0x30000;" (assignment_expression "ppsVar16 = (sqlite3_value **)0x30000" identifier = (cast_expression "(sqlite3_value **)0x30000" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if ((nByte < 0) || (piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte)) {\n          ppsVar16 = (sqlite3_value **)0x300fd;\n          unaff_s3 = nByte;\n          goto LAB_000b5e90;\n        }" if (parenthesized_expression "((nByte < 0) || (piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte))" ( (binary_expression "(nByte < 0) || (piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte)" (parenthesized_expression "(nByte < 0)" ( (binary_expression "nByte < 0" identifier < number_literal) )) || (parenthesized_expression "(piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte)" ( (comma_expression "piVar21 = (int *)pIn->iNext, pIn->nData - (int)piVar21 < nByte" (assignment_expression "piVar21 = (int *)pIn->iNext" identifier = (cast_expression "(int *)pIn->iNext" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pIn->iNext" identifier -> field_identifier))) , (binary_expression "pIn->nData - (int)piVar21 < nByte" (binary_expression "pIn->nData - (int)piVar21" (field_expression "pIn->nData" identifier -> field_identifier) - (cast_expression "(int)piVar21" ( (type_descriptor "int" primitive_type) ) identifier)) < identifier)) ))) )) (compound_statement "{\n          ppsVar16 = (sqlite3_value **)0x300fd;\n          unaff_s3 = nByte;\n          goto LAB_000b5e90;\n        }" { (expression_statement "ppsVar16 = (sqlite3_value **)0x300fd;" (assignment_expression "ppsVar16 = (sqlite3_value **)0x300fd" identifier = (cast_expression "(sqlite3_value **)0x300fd" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "unaff_s3 = nByte;" (assignment_expression "unaff_s3 = nByte" identifier = identifier) ;) (goto_statement "goto LAB_000b5e90;" goto statement_identifier ;) })) (expression_statement "psVar7 = *unaff_s4;" (assignment_expression "psVar7 = *unaff_s4" identifier = (pointer_expression "*unaff_s4" * identifier)) ;) (expression_statement "unaff_s4 = (sqlite3_value **)pIn->aData;" (assignment_expression "unaff_s4 = (sqlite3_value **)pIn->aData" identifier = (cast_expression "(sqlite3_value **)pIn->aData" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "pIn->aData" identifier -> field_identifier))) ;) (expression_statement "iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();" (assignment_expression "iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)()" identifier = (call_expression "(*(code *)PTR_sqlite3_initialize_00190b88)()" (parenthesized_expression "(*(code *)PTR_sqlite3_initialize_00190b88)" ( (pointer_expression "*(code *)PTR_sqlite3_initialize_00190b88" * (cast_expression "(code *)PTR_sqlite3_initialize_00190b88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "pnByte = piVar21;" (assignment_expression "pnByte = piVar21" identifier = identifier) ;) (expression_statement "unaff_s3 = iVar19;" (assignment_expression "unaff_s3 = iVar19" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\n          abPK_00 = (int *)(iVar19 + 1);\n          iVar6 = (*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f));\n          if (iVar6 != 0) {\n            pnByte = (int *)iVar19;\n            uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));\n            iVar6 = 0;\n            if (psVar7 == (sqlite3_value *)0x0) {\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            iVar19 = unaff_s7 + 1;\n            nByte = (int)abPK_00;\n            if (iVar19 < nCol) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n          abPK_00 = (int *)(iVar19 + 1);\n          iVar6 = (*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f));\n          if (iVar6 != 0) {\n            pnByte = (int *)iVar19;\n            uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));\n            iVar6 = 0;\n            if (psVar7 == (sqlite3_value *)0x0) {\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            iVar19 = unaff_s7 + 1;\n            nByte = (int)abPK_00;\n            if (iVar19 < nCol) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }" { (expression_statement "abPK_00 = (int *)(iVar19 + 1);" (assignment_expression "abPK_00 = (int *)(iVar19 + 1)" identifier = (cast_expression "(int *)(iVar19 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 1)" ( (binary_expression "iVar19 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar6 = (*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f));" (assignment_expression "iVar6 = (*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f))" identifier = (call_expression "(*pcVar5)((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f))" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "((uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f))" ( (binary_expression "(uint)(abPK_00 < (uint)iVar19) + (iVar19 >> 0x1f)" (call_expression "(uint)(abPK_00 < (uint)iVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(abPK_00 < (uint)iVar19)" ( (binary_expression "abPK_00 < (uint)iVar19" identifier < (cast_expression "(uint)iVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) + (parenthesized_expression "(iVar19 >> 0x1f)" ( (binary_expression "iVar19 >> 0x1f" identifier >> number_literal) ))) )))) ;) (if_statement "if (iVar6 != 0) {\n            pnByte = (int *)iVar19;\n            uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));\n            iVar6 = 0;\n            if (psVar7 == (sqlite3_value *)0x0) {\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            iVar19 = unaff_s7 + 1;\n            nByte = (int)abPK_00;\n            if (iVar19 < nCol) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            pnByte = (int *)iVar19;\n            uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));\n            iVar6 = 0;\n            if (psVar7 == (sqlite3_value *)0x0) {\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            iVar19 = unaff_s7 + 1;\n            nByte = (int)abPK_00;\n            if (iVar19 < nCol) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }" { (expression_statement "pnByte = (int *)iVar19;" (assignment_expression "pnByte = (int *)iVar19" identifier = (cast_expression "(int *)iVar19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21));" (assignment_expression "uVar17 = (*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21))" identifier = (call_expression "(*(code *)PTR_memcpy_00190e2c)(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21))" (parenthesized_expression "(*(code *)PTR_memcpy_00190e2c)" ( (pointer_expression "*(code *)PTR_memcpy_00190e2c" * (cast_expression "(code *)PTR_memcpy_00190e2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,(u8 *)((int)unaff_s4 + (int)piVar21))" ( identifier , (cast_expression "(u8 *)((int)unaff_s4 + (int)piVar21)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + (int)piVar21)" ( (binary_expression "(int)unaff_s4 + (int)piVar21" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)piVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (psVar7 == (sqlite3_value *)0x0) {\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }\n            else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }" if (parenthesized_expression "(psVar7 == (sqlite3_value *)0x0)" ( (binary_expression "psVar7 == (sqlite3_value *)0x0" identifier == (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }" { (expression_statement "pIn->iNext = pIn->iNext + nByte;" (assignment_expression "pIn->iNext = pIn->iNext + nByte" (field_expression "pIn->iNext" identifier -> field_identifier) = (binary_expression "pIn->iNext + nByte" (field_expression "pIn->iNext" identifier -> field_identifier) + identifier)) ;) (expression_statement "abPK_00 = (int *)nByte;" (assignment_expression "abPK_00 = (int *)nByte" identifier = (cast_expression "(int *)nByte" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }" else (compound_statement "{\n              ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);\n              puStack_70 = PTR_sqlite3_free_0019096c;\n              pnByte = (int *)iVar19;\n              (*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);\n              pIn->iNext = pIn->iNext + nByte;\n              abPK_00 = (int *)nByte;\n            }" { (expression_statement "ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3);" (assignment_expression "ppsVar16 = (sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3)" identifier = (cast_expression "(sqlite3_value **)(uint)(unaff_s5 == (undefined *)0x3)" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(uint)(unaff_s5 == (undefined *)0x3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s5 == (undefined *)0x3)" ( (binary_expression "unaff_s5 == (undefined *)0x3" identifier == (cast_expression "(undefined *)0x3" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (expression_statement "puStack_70 = PTR_sqlite3_free_0019096c;" (assignment_expression "puStack_70 = PTR_sqlite3_free_0019096c" identifier = identifier) ;) (expression_statement "pnByte = (int *)iVar19;" (assignment_expression "pnByte = (int *)iVar19" identifier = (cast_expression "(int *)iVar19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)(puVar22 + -0x2aec))(psVar7,uVar17);" (call_expression "(*(code *)(puVar22 + -0x2aec))(psVar7,uVar17)" (parenthesized_expression "(*(code *)(puVar22 + -0x2aec))" ( (pointer_expression "*(code *)(puVar22 + -0x2aec)" * (cast_expression "(code *)(puVar22 + -0x2aec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x2aec)" ( (binary_expression "puVar22 + -0x2aec" identifier + number_literal) )))) )) (argument_list "(psVar7,uVar17)" ( identifier , identifier ))) ;) (expression_statement "pIn->iNext = pIn->iNext + nByte;" (assignment_expression "pIn->iNext = pIn->iNext + nByte" (field_expression "pIn->iNext" identifier -> field_identifier) = (binary_expression "pIn->iNext + nByte" (field_expression "pIn->iNext" identifier -> field_identifier) + identifier)) ;) (expression_statement "abPK_00 = (int *)nByte;" (assignment_expression "abPK_00 = (int *)nByte" identifier = (cast_expression "(int *)nByte" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "iVar19 = unaff_s7 + 1;" (assignment_expression "iVar19 = unaff_s7 + 1" identifier = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (expression_statement "nByte = (int)abPK_00;" (assignment_expression "nByte = (int)abPK_00" identifier = (cast_expression "(int)abPK_00" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar19 < nCol) goto LAB_000b5dac;" if (parenthesized_expression "(iVar19 < nCol)" ( (binary_expression "iVar19 < nCol" identifier < identifier) )) (goto_statement "goto LAB_000b5dac;" goto statement_identifier ;)) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) })) (expression_statement "iVar6 = 7;" (assignment_expression "iVar6 = 7" identifier = number_literal) ;) (expression_statement "pIn->iNext = pIn->iNext + nByte;" (assignment_expression "pIn->iNext = pIn->iNext + nByte" (field_expression "pIn->iNext" identifier -> field_identifier) = (binary_expression "pIn->iNext + nByte" (field_expression "pIn->iNext" identifier -> field_identifier) + identifier)) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "iVar19 = unaff_s7 + 1;" (assignment_expression "iVar19 = unaff_s7 + 1" identifier = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (expression_statement "abPK_00 = (int *)(uint)(unaff_s5 + -1 < &SUB_00000002);" (assignment_expression "abPK_00 = (int *)(uint)(unaff_s5 + -1 < &SUB_00000002)" identifier = (cast_expression "(int *)(uint)(unaff_s5 + -1 < &SUB_00000002)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(unaff_s5 + -1 < &SUB_00000002)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s5 + -1 < &SUB_00000002)" ( (binary_expression "unaff_s5 + -1 < &SUB_00000002" (binary_expression "unaff_s5 + -1" identifier + number_literal) < (pointer_expression "&SUB_00000002" & identifier)) ))))) ;) (if_statement "if (abPK_00 != (int *)0x0) goto code_r0x000b6070;" if (parenthesized_expression "(abPK_00 != (int *)0x0)" ( (binary_expression "abPK_00 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto code_r0x000b6070;" goto statement_identifier ;)) })) (expression_statement "unaff_s7 = unaff_s7 + 1;" (assignment_expression "unaff_s7 = unaff_s7 + 1" identifier = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s0 = abPK;" (assignment_expression "unaff_s0 = abPK" identifier = identifier) ;) (expression_statement "unaff_s2 = nCol;" (assignment_expression "unaff_s2 = nCol" identifier = identifier) ;) (expression_statement "unaff_s8 = pIn;" (assignment_expression "unaff_s8 = pIn" identifier = identifier) ;) (if_statement "if (nCol <= unaff_s7) goto LAB_000b5e64;" if (parenthesized_expression "(nCol <= unaff_s7)" ( (binary_expression "nCol <= unaff_s7" identifier <= identifier) )) (goto_statement "goto LAB_000b5e64;" goto statement_identifier ;)) (goto_statement "goto LAB_000b5db4;" goto statement_identifier ;) })) (labeled_statement "LAB_000b5e64:\n  iVar6 = 0;" statement_identifier : (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;)) (expression_statement "abPK = unaff_s0;" (assignment_expression "abPK = unaff_s0" identifier = identifier) ;) (expression_statement "nCol = unaff_s2;" (assignment_expression "nCol = unaff_s2" identifier = identifier) ;) (expression_statement "pIn = unaff_s8;" (assignment_expression "pIn = unaff_s8" identifier = identifier) ;) (labeled_statement "LAB_000b5de4:\n  if (pSStack_34 == *(SessionInput **)puVar3) {\n    return iVar6;\n  }" statement_identifier : (if_statement "if (pSStack_34 == *(SessionInput **)puVar3) {\n    return iVar6;\n  }" if (parenthesized_expression "(pSStack_34 == *(SessionInput **)puVar3)" ( (binary_expression "pSStack_34 == *(SessionInput **)puVar3" identifier == (pointer_expression "*(SessionInput **)puVar3" * (cast_expression "(SessionInput **)puVar3" ( (type_descriptor "SessionInput **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar6;\n  }" { (return_statement "return iVar6;" return identifier ;) }))) (expression_statement "pcVar4 = sessionChangesetNext;" (assignment_expression "pcVar4 = sessionChangesetNext" identifier = identifier) ;) (expression_statement "pIn_00 = pSStack_34;" (assignment_expression "pIn_00 = pSStack_34" identifier = identifier) ;) (expression_statement "puVar22 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar22 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_90 = puVar3;" (assignment_expression "puStack_90 = puVar3" identifier = identifier) ;) (expression_statement "piVar21 = *(int **)(puVar22 + 0xdac9c);" (assignment_expression "piVar21 = *(int **)(puVar22 + 0xdac9c)" identifier = (pointer_expression "*(int **)(puVar22 + 0xdac9c)" * (cast_expression "(int **)(puVar22 + 0xdac9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0xdac9c)" ( (binary_expression "puVar22 + 0xdac9c" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = pIn_00[2].iCurrent;" (assignment_expression "iVar19 = pIn_00[2].iCurrent" identifier = (field_expression "pIn_00[2].iCurrent" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iStack_ac = *piVar21;" (assignment_expression "iStack_ac = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "puStack_a8 = abPK;" (assignment_expression "puStack_a8 = abPK" identifier = identifier) ;) (expression_statement "puStack_a4 = unaff_s1;" (assignment_expression "puStack_a4 = unaff_s1" identifier = identifier) ;) (expression_statement "iStack_a0 = nCol;" (assignment_expression "iStack_a0 = nCol" identifier = identifier) ;) (expression_statement "iStack_9c = unaff_s3;" (assignment_expression "iStack_9c = unaff_s3" identifier = identifier) ;) (expression_statement "ppsStack_98 = unaff_s4;" (assignment_expression "ppsStack_98 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_94 = unaff_s5;" (assignment_expression "puStack_94 = unaff_s5" identifier = identifier) ;) (expression_statement "iStack_8c = unaff_s7;" (assignment_expression "iStack_8c = unaff_s7" identifier = identifier) ;) (expression_statement "pSStack_88 = pIn;" (assignment_expression "pSStack_88 = pIn" identifier = identifier) ;) (expression_statement "pcStack_84 = pcVar4;" (assignment_expression "pcStack_84 = pcVar4" identifier = identifier) ;) (if_statement "if (iVar19 != 0) {\n    p_Var14 = pIn_00[1].xInput;\n    iVar6 = 0;\n    if (0 < (int)p_Var14) {\n      iVar20 = *(int *)(puVar22 + 0xdaa20);\n      do {\n        iVar8 = iVar6 * 4;\n        iVar6 = iVar6 + 1;\n        (*(code *)(iVar20 + -0x18d4))(*(undefined4 *)(iVar19 + iVar8));\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = pIn_00[2].iCurrent;\n      } while (iVar6 < (int)p_Var14 << 1);\n    }\n    (**(code **)(puVar22 + 0xdabd0))(iVar19,0,(int)p_Var14 << 3);\n  }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n    p_Var14 = pIn_00[1].xInput;\n    iVar6 = 0;\n    if (0 < (int)p_Var14) {\n      iVar20 = *(int *)(puVar22 + 0xdaa20);\n      do {\n        iVar8 = iVar6 * 4;\n        iVar6 = iVar6 + 1;\n        (*(code *)(iVar20 + -0x18d4))(*(undefined4 *)(iVar19 + iVar8));\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = pIn_00[2].iCurrent;\n      } while (iVar6 < (int)p_Var14 << 1);\n    }\n    (**(code **)(puVar22 + 0xdabd0))(iVar19,0,(int)p_Var14 << 3);\n  }" { (expression_statement "p_Var14 = pIn_00[1].xInput;" (assignment_expression "p_Var14 = pIn_00[1].xInput" identifier = (field_expression "pIn_00[1].xInput" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)p_Var14) {\n      iVar20 = *(int *)(puVar22 + 0xdaa20);\n      do {\n        iVar8 = iVar6 * 4;\n        iVar6 = iVar6 + 1;\n        (*(code *)(iVar20 + -0x18d4))(*(undefined4 *)(iVar19 + iVar8));\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = pIn_00[2].iCurrent;\n      } while (iVar6 < (int)p_Var14 << 1);\n    }" if (parenthesized_expression "(0 < (int)p_Var14)" ( (binary_expression "0 < (int)p_Var14" number_literal < (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      iVar20 = *(int *)(puVar22 + 0xdaa20);\n      do {\n        iVar8 = iVar6 * 4;\n        iVar6 = iVar6 + 1;\n        (*(code *)(iVar20 + -0x18d4))(*(undefined4 *)(iVar19 + iVar8));\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = pIn_00[2].iCurrent;\n      } while (iVar6 < (int)p_Var14 << 1);\n    }" { (expression_statement "iVar20 = *(int *)(puVar22 + 0xdaa20);" (assignment_expression "iVar20 = *(int *)(puVar22 + 0xdaa20)" identifier = (pointer_expression "*(int *)(puVar22 + 0xdaa20)" * (cast_expression "(int *)(puVar22 + 0xdaa20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0xdaa20)" ( (binary_expression "puVar22 + 0xdaa20" identifier + number_literal) ))))) ;) (do_statement "do {\n        iVar8 = iVar6 * 4;\n        iVar6 = iVar6 + 1;\n        (*(code *)(iVar20 + -0x18d4))(*(undefined4 *)(iVar19 + iVar8));\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = pIn_00[2].iCurrent;\n      } while (iVar6 < (int)p_Var14 << 1);" do (compound_statement "{\n        iVar8 = iVar6 * 4;\n        iVar6 = iVar6 + 1;\n        (*(code *)(iVar20 + -0x18d4))(*(undefined4 *)(iVar19 + iVar8));\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = pIn_00[2].iCurrent;\n      }" { (expression_statement "iVar8 = iVar6 * 4;" (assignment_expression "iVar8 = iVar6 * 4" identifier = (binary_expression "iVar6 * 4" identifier * number_literal)) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)(iVar20 + -0x18d4))(*(undefined4 *)(iVar19 + iVar8));" (call_expression "(*(code *)(iVar20 + -0x18d4))(*(undefined4 *)(iVar19 + iVar8))" (parenthesized_expression "(*(code *)(iVar20 + -0x18d4))" ( (pointer_expression "*(code *)(iVar20 + -0x18d4)" * (cast_expression "(code *)(iVar20 + -0x18d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + -0x18d4)" ( (binary_expression "iVar20 + -0x18d4" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(iVar19 + iVar8))" ( (pointer_expression "*(undefined4 *)(iVar19 + iVar8)" * (cast_expression "(undefined4 *)(iVar19 + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar8)" ( (binary_expression "iVar19 + iVar8" identifier + identifier) )))) ))) ;) (expression_statement "p_Var14 = pIn_00[1].xInput;" (assignment_expression "p_Var14 = pIn_00[1].xInput" identifier = (field_expression "pIn_00[1].xInput" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar19 = pIn_00[2].iCurrent;" (assignment_expression "iVar19 = pIn_00[2].iCurrent" identifier = (field_expression "pIn_00[2].iCurrent" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier)) ;) }) while (parenthesized_expression "(iVar6 < (int)p_Var14 << 1)" ( (binary_expression "iVar6 < (int)p_Var14 << 1" identifier < (binary_expression "(int)p_Var14 << 1" (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )) ;) })) (expression_statement "(**(code **)(puVar22 + 0xdabd0))(iVar19,0,(int)p_Var14 << 3);" (call_expression "(**(code **)(puVar22 + 0xdabd0))(iVar19,0,(int)p_Var14 << 3)" (parenthesized_expression "(**(code **)(puVar22 + 0xdabd0))" ( (pointer_expression "**(code **)(puVar22 + 0xdabd0)" * (pointer_expression "*(code **)(puVar22 + 0xdabd0)" * (cast_expression "(code **)(puVar22 + 0xdabd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0xdabd0)" ( (binary_expression "puVar22 + 0xdabd0" identifier + number_literal) ))))) )) (argument_list "(iVar19,0,(int)p_Var14 << 3)" ( identifier , number_literal , (binary_expression "(int)p_Var14 << 3" (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))) ;) })) (expression_statement "puVar9 = (u8 *)sessionInputBuffer(pIn_00,2);" (assignment_expression "puVar9 = (u8 *)sessionInputBuffer(pIn_00,2)" identifier = (cast_expression "(u8 *)sessionInputBuffer(pIn_00,2)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionInputBuffer(pIn_00,2)" identifier (argument_list "(pIn_00,2)" ( identifier , number_literal ))))) ;) (expression_statement "pIn_00[1].buf.aBuf = puVar9;" (assignment_expression "pIn_00[1].buf.aBuf = puVar9" (field_expression "pIn_00[1].buf.aBuf" (field_expression "pIn_00[1].buf" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (puVar9 != (u8 *)0x0) goto LAB_000b6458;" if (parenthesized_expression "(puVar9 != (u8 *)0x0)" ( (binary_expression "puVar9 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if (pIn_00->nData <= pIn_00->iNext) {\nLAB_000b6494:\n    puVar9 = (u8 *)0x65;\n    goto LAB_000b6458;\n  }" if (parenthesized_expression "(pIn_00->nData <= pIn_00->iNext)" ( (binary_expression "pIn_00->nData <= pIn_00->iNext" (field_expression "pIn_00->nData" identifier -> field_identifier) <= (field_expression "pIn_00->iNext" identifier -> field_identifier)) )) (compound_statement "{\nLAB_000b6494:\n    puVar9 = (u8 *)0x65;\n    goto LAB_000b6458;\n  }" { (labeled_statement "LAB_000b6494:\n    puVar9 = (u8 *)0x65;" statement_identifier : (expression_statement "puVar9 = (u8 *)0x65;" (assignment_expression "puVar9 = (u8 *)0x65" identifier = (cast_expression "(u8 *)0x65" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "(*(code *)(*(int *)(puVar22 + 0xdaa1c) + 0x27a4))(pIn_00);" (call_expression "(*(code *)(*(int *)(puVar22 + 0xdaa1c) + 0x27a4))(pIn_00)" (parenthesized_expression "(*(code *)(*(int *)(puVar22 + 0xdaa1c) + 0x27a4))" ( (pointer_expression "*(code *)(*(int *)(puVar22 + 0xdaa1c) + 0x27a4)" * (cast_expression "(code *)(*(int *)(puVar22 + 0xdaa1c) + 0x27a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar22 + 0xdaa1c) + 0x27a4)" ( (binary_expression "*(int *)(puVar22 + 0xdaa1c) + 0x27a4" (pointer_expression "*(int *)(puVar22 + 0xdaa1c)" * (cast_expression "(int *)(puVar22 + 0xdaa1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0xdaa1c)" ( (binary_expression "puVar22 + 0xdaa1c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pIn_00)" ( identifier ))) ;) (expression_statement "iVar19 = pIn_00->iNext;" (assignment_expression "iVar19 = pIn_00->iNext" identifier = (field_expression "pIn_00->iNext" identifier -> field_identifier)) ;) (expression_statement "puVar9 = pIn_00->aData;" (assignment_expression "puVar9 = pIn_00->aData" identifier = (field_expression "pIn_00->aData" identifier -> field_identifier)) ;) (expression_statement "iVar6 = *(int *)(puVar22 + 0xdaa20);" (assignment_expression "iVar6 = *(int *)(puVar22 + 0xdaa20)" identifier = (pointer_expression "*(int *)(puVar22 + 0xdaa20)" * (cast_expression "(int *)(puVar22 + 0xdaa20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0xdaa20)" ( (binary_expression "puVar22 + 0xdaa20" identifier + number_literal) ))))) ;) (expression_statement "pIn_00->iCurrent = iVar19;" (assignment_expression "pIn_00->iCurrent = iVar19" (field_expression "pIn_00->iCurrent" identifier -> field_identifier) = identifier) ;) (expression_statement "pIn_00->iNext = iVar19 + 1;" (assignment_expression "pIn_00->iNext = iVar19 + 1" (field_expression "pIn_00->iNext" identifier -> field_identifier) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = puVar9[iVar19];" (assignment_expression "bVar1 = puVar9[iVar19]" identifier = (subscript_expression "puVar9[iVar19]" identifier [ identifier ])) ;) (while_statement "while (puVar10 = (undefined1 *)(uint)bVar1, ((uint)puVar10 & 0xfb) == 0x50) {\n    if (ppsVar16 != (sqlite3_value **)0x0) {\n      *ppsVar16 = (sqlite3_value *)0x1;\n    }\n    pIn_00[1].aData = (u8 *)(uint)(puVar10 == (undefined1 *)0x50);\n    puStack_b4 = (u8 *)sessionChangesetBufferTblhdr(pIn_00,&iStack_b0);\n    if (puStack_b4 != (u8 *)0x0) {\nLAB_000b6434:\n      p_Var14 = pIn_00[1].xInput;\n      iVar19 = pIn_00[1].bNoDiscard;\n      pIn_00[1].buf.aBuf = puStack_b4;\n      pIn_00[2].iCurrent = iVar19;\n      iVar19 = iVar19 + (int)p_Var14 * 8;\n      pIn_00[2].bNoDiscard = iVar19;\n      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n      puVar9 = puStack_b4;\n      goto LAB_000b6458;\n    }\n    bVar1 = pIn_00->aData[pIn_00->iNext];\n    p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar19 = (*(code *)(iVar6 + 0x3388))(pIn_00->aData + pIn_00->iNext,&pIn_00[1].xInput);\n      p_Var14 = pIn_00[1].xInput;\n    }\n    else {\n      iVar19 = 1;\n      pIn_00[1].xInput = p_Var14;\n    }\n    if ((int)p_Var14 < 1) {\n      (**(code **)(puVar22 + 0xdaa58))\n                (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar22 + 0xda7d0) + 0x625c);\n      puVar9 = (u8 *)0xb;\n      p_Var14 = pIn_00[1].xInput;\n      iVar19 = pIn_00[1].bNoDiscard;\n      pIn_00[1].buf.aBuf = (u8 *)0xb;\n      pIn_00[2].iCurrent = iVar19;\n      iVar19 = iVar19 + (int)p_Var14 * 8;\n      pIn_00[2].bNoDiscard = iVar19;\n      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n      goto LAB_000b6458;\n    }\n    iVar20 = pIn_00->iNext;\n    pIn_00[1].iCurrent = 0;\n    iStack_b0 = iStack_b0 - iVar19;\n    pIn_00->iNext = iVar20 + iVar19;\n    sessionBufferGrow((SessionBuffer *)(pIn_00 + 1),(int)p_Var14 * 8 + iStack_b0,(int *)&puStack_b4)\n    ;\n    if (puStack_b4 != (u8 *)0x0) goto LAB_000b6434;\n    iVar19 = (int)pIn_00[1].xInput * 8;\n    (**(code **)(puVar22 + 0xdabd0))(pIn_00[1].bNoDiscard,0,iVar19);\n    (**(code **)(puVar22 + 0xdaca4))\n              (pIn_00[1].bNoDiscard + iVar19,pIn_00->aData + pIn_00->iNext,iStack_b0);\n    p_Var14 = pIn_00[1].xInput;\n    iVar20 = pIn_00->iNext;\n    iVar19 = pIn_00[1].bNoDiscard + (int)p_Var14 * 8;\n    pIn_00[2].iCurrent = pIn_00[1].bNoDiscard;\n    pIn_00[2].bNoDiscard = iVar19;\n    pIn_00[1].buf.aBuf = puStack_b4;\n    pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n    pIn_00->iNext = iVar20 + iStack_b0;\n    puVar9 = puStack_b4;\n    if (puStack_b4 != (u8 *)0x0) goto LAB_000b6458;\n    puVar9 = (u8 *)sessionInputBuffer(pIn_00,2);\n    pIn_00[1].buf.aBuf = puVar9;\n    if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n    iVar19 = pIn_00->iNext;\n    pIn_00->iCurrent = iVar19;\n    if (pIn_00->nData <= iVar19) goto LAB_000b6494;\n    puVar9 = pIn_00->aData;\n    pIn_00->iNext = iVar19 + 1;\n    bVar1 = puVar9[iVar19];\n  }" while (parenthesized_expression "(puVar10 = (undefined1 *)(uint)bVar1, ((uint)puVar10 & 0xfb) == 0x50)" ( (comma_expression "puVar10 = (undefined1 *)(uint)bVar1, ((uint)puVar10 & 0xfb) == 0x50" (assignment_expression "puVar10 = (undefined1 *)(uint)bVar1" identifier = (cast_expression "(undefined1 *)(uint)bVar1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) , (binary_expression "((uint)puVar10 & 0xfb) == 0x50" (parenthesized_expression "((uint)puVar10 & 0xfb)" ( (binary_expression "(uint)puVar10 & 0xfb" (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal)) )) (compound_statement "{\n    if (ppsVar16 != (sqlite3_value **)0x0) {\n      *ppsVar16 = (sqlite3_value *)0x1;\n    }\n    pIn_00[1].aData = (u8 *)(uint)(puVar10 == (undefined1 *)0x50);\n    puStack_b4 = (u8 *)sessionChangesetBufferTblhdr(pIn_00,&iStack_b0);\n    if (puStack_b4 != (u8 *)0x0) {\nLAB_000b6434:\n      p_Var14 = pIn_00[1].xInput;\n      iVar19 = pIn_00[1].bNoDiscard;\n      pIn_00[1].buf.aBuf = puStack_b4;\n      pIn_00[2].iCurrent = iVar19;\n      iVar19 = iVar19 + (int)p_Var14 * 8;\n      pIn_00[2].bNoDiscard = iVar19;\n      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n      puVar9 = puStack_b4;\n      goto LAB_000b6458;\n    }\n    bVar1 = pIn_00->aData[pIn_00->iNext];\n    p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar19 = (*(code *)(iVar6 + 0x3388))(pIn_00->aData + pIn_00->iNext,&pIn_00[1].xInput);\n      p_Var14 = pIn_00[1].xInput;\n    }\n    else {\n      iVar19 = 1;\n      pIn_00[1].xInput = p_Var14;\n    }\n    if ((int)p_Var14 < 1) {\n      (**(code **)(puVar22 + 0xdaa58))\n                (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar22 + 0xda7d0) + 0x625c);\n      puVar9 = (u8 *)0xb;\n      p_Var14 = pIn_00[1].xInput;\n      iVar19 = pIn_00[1].bNoDiscard;\n      pIn_00[1].buf.aBuf = (u8 *)0xb;\n      pIn_00[2].iCurrent = iVar19;\n      iVar19 = iVar19 + (int)p_Var14 * 8;\n      pIn_00[2].bNoDiscard = iVar19;\n      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n      goto LAB_000b6458;\n    }\n    iVar20 = pIn_00->iNext;\n    pIn_00[1].iCurrent = 0;\n    iStack_b0 = iStack_b0 - iVar19;\n    pIn_00->iNext = iVar20 + iVar19;\n    sessionBufferGrow((SessionBuffer *)(pIn_00 + 1),(int)p_Var14 * 8 + iStack_b0,(int *)&puStack_b4)\n    ;\n    if (puStack_b4 != (u8 *)0x0) goto LAB_000b6434;\n    iVar19 = (int)pIn_00[1].xInput * 8;\n    (**(code **)(puVar22 + 0xdabd0))(pIn_00[1].bNoDiscard,0,iVar19);\n    (**(code **)(puVar22 + 0xdaca4))\n              (pIn_00[1].bNoDiscard + iVar19,pIn_00->aData + pIn_00->iNext,iStack_b0);\n    p_Var14 = pIn_00[1].xInput;\n    iVar20 = pIn_00->iNext;\n    iVar19 = pIn_00[1].bNoDiscard + (int)p_Var14 * 8;\n    pIn_00[2].iCurrent = pIn_00[1].bNoDiscard;\n    pIn_00[2].bNoDiscard = iVar19;\n    pIn_00[1].buf.aBuf = puStack_b4;\n    pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n    pIn_00->iNext = iVar20 + iStack_b0;\n    puVar9 = puStack_b4;\n    if (puStack_b4 != (u8 *)0x0) goto LAB_000b6458;\n    puVar9 = (u8 *)sessionInputBuffer(pIn_00,2);\n    pIn_00[1].buf.aBuf = puVar9;\n    if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n    iVar19 = pIn_00->iNext;\n    pIn_00->iCurrent = iVar19;\n    if (pIn_00->nData <= iVar19) goto LAB_000b6494;\n    puVar9 = pIn_00->aData;\n    pIn_00->iNext = iVar19 + 1;\n    bVar1 = puVar9[iVar19];\n  }" { (if_statement "if (ppsVar16 != (sqlite3_value **)0x0) {\n      *ppsVar16 = (sqlite3_value *)0x1;\n    }" if (parenthesized_expression "(ppsVar16 != (sqlite3_value **)0x0)" ( (binary_expression "ppsVar16 != (sqlite3_value **)0x0" identifier != (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      *ppsVar16 = (sqlite3_value *)0x1;\n    }" { (expression_statement "*ppsVar16 = (sqlite3_value *)0x1;" (assignment_expression "*ppsVar16 = (sqlite3_value *)0x1" (pointer_expression "*ppsVar16" * identifier) = (cast_expression "(sqlite3_value *)0x1" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "pIn_00[1].aData = (u8 *)(uint)(puVar10 == (undefined1 *)0x50);" (assignment_expression "pIn_00[1].aData = (u8 *)(uint)(puVar10 == (undefined1 *)0x50)" (field_expression "pIn_00[1].aData" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(u8 *)(uint)(puVar10 == (undefined1 *)0x50)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(puVar10 == (undefined1 *)0x50)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar10 == (undefined1 *)0x50)" ( (binary_expression "puVar10 == (undefined1 *)0x50" identifier == (cast_expression "(undefined1 *)0x50" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (expression_statement "puStack_b4 = (u8 *)sessionChangesetBufferTblhdr(pIn_00,&iStack_b0);" (assignment_expression "puStack_b4 = (u8 *)sessionChangesetBufferTblhdr(pIn_00,&iStack_b0)" identifier = (cast_expression "(u8 *)sessionChangesetBufferTblhdr(pIn_00,&iStack_b0)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionChangesetBufferTblhdr(pIn_00,&iStack_b0)" identifier (argument_list "(pIn_00,&iStack_b0)" ( identifier , (pointer_expression "&iStack_b0" & identifier) ))))) ;) (if_statement "if (puStack_b4 != (u8 *)0x0) {\nLAB_000b6434:\n      p_Var14 = pIn_00[1].xInput;\n      iVar19 = pIn_00[1].bNoDiscard;\n      pIn_00[1].buf.aBuf = puStack_b4;\n      pIn_00[2].iCurrent = iVar19;\n      iVar19 = iVar19 + (int)p_Var14 * 8;\n      pIn_00[2].bNoDiscard = iVar19;\n      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n      puVar9 = puStack_b4;\n      goto LAB_000b6458;\n    }" if (parenthesized_expression "(puStack_b4 != (u8 *)0x0)" ( (binary_expression "puStack_b4 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000b6434:\n      p_Var14 = pIn_00[1].xInput;\n      iVar19 = pIn_00[1].bNoDiscard;\n      pIn_00[1].buf.aBuf = puStack_b4;\n      pIn_00[2].iCurrent = iVar19;\n      iVar19 = iVar19 + (int)p_Var14 * 8;\n      pIn_00[2].bNoDiscard = iVar19;\n      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n      puVar9 = puStack_b4;\n      goto LAB_000b6458;\n    }" { (labeled_statement "LAB_000b6434:\n      p_Var14 = pIn_00[1].xInput;" statement_identifier : (expression_statement "p_Var14 = pIn_00[1].xInput;" (assignment_expression "p_Var14 = pIn_00[1].xInput" identifier = (field_expression "pIn_00[1].xInput" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;)) (expression_statement "iVar19 = pIn_00[1].bNoDiscard;" (assignment_expression "iVar19 = pIn_00[1].bNoDiscard" identifier = (field_expression "pIn_00[1].bNoDiscard" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pIn_00[1].buf.aBuf = puStack_b4;" (assignment_expression "pIn_00[1].buf.aBuf = puStack_b4" (field_expression "pIn_00[1].buf.aBuf" (field_expression "pIn_00[1].buf" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "pIn_00[2].iCurrent = iVar19;" (assignment_expression "pIn_00[2].iCurrent = iVar19" (field_expression "pIn_00[2].iCurrent" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "iVar19 = iVar19 + (int)p_Var14 * 8;" (assignment_expression "iVar19 = iVar19 + (int)p_Var14 * 8" identifier = (binary_expression "iVar19 + (int)p_Var14 * 8" identifier + (binary_expression "(int)p_Var14 * 8" (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "pIn_00[2].bNoDiscard = iVar19;" (assignment_expression "pIn_00[2].bNoDiscard = iVar19" (field_expression "pIn_00[2].bNoDiscard" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);" (assignment_expression "pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19)" (field_expression "pIn_00[1].buf.nAlloc" (field_expression "pIn_00[1].buf" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(int)(p_Var14 + iVar19)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_Var14 + iVar19)" ( (binary_expression "p_Var14 + iVar19" identifier + identifier) )))) ;) (expression_statement "puVar9 = puStack_b4;" (assignment_expression "puVar9 = puStack_b4" identifier = identifier) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "bVar1 = pIn_00->aData[pIn_00->iNext];" (assignment_expression "bVar1 = pIn_00->aData[pIn_00->iNext]" identifier = (subscript_expression "pIn_00->aData[pIn_00->iNext]" (field_expression "pIn_00->aData" identifier -> field_identifier) [ (field_expression "pIn_00->iNext" identifier -> field_identifier) ])) ;) (expression_statement "p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1;" (assignment_expression "p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1" ( (type_descriptor "_func_int_void_ptr_void_ptr_int_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((char)bVar1 < '\0') {\n      iVar19 = (*(code *)(iVar6 + 0x3388))(pIn_00->aData + pIn_00->iNext,&pIn_00[1].xInput);\n      p_Var14 = pIn_00[1].xInput;\n    }\n    else {\n      iVar19 = 1;\n      pIn_00[1].xInput = p_Var14;\n    }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar19 = (*(code *)(iVar6 + 0x3388))(pIn_00->aData + pIn_00->iNext,&pIn_00[1].xInput);\n      p_Var14 = pIn_00[1].xInput;\n    }" { (expression_statement "iVar19 = (*(code *)(iVar6 + 0x3388))(pIn_00->aData + pIn_00->iNext,&pIn_00[1].xInput);" (assignment_expression "iVar19 = (*(code *)(iVar6 + 0x3388))(pIn_00->aData + pIn_00->iNext,&pIn_00[1].xInput)" identifier = (call_expression "(*(code *)(iVar6 + 0x3388))(pIn_00->aData + pIn_00->iNext,&pIn_00[1].xInput)" (parenthesized_expression "(*(code *)(iVar6 + 0x3388))" ( (pointer_expression "*(code *)(iVar6 + 0x3388)" * (cast_expression "(code *)(iVar6 + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3388)" ( (binary_expression "iVar6 + 0x3388" identifier + number_literal) )))) )) (argument_list "(pIn_00->aData + pIn_00->iNext,&pIn_00[1].xInput)" ( (binary_expression "pIn_00->aData + pIn_00->iNext" (field_expression "pIn_00->aData" identifier -> field_identifier) + (field_expression "pIn_00->iNext" identifier -> field_identifier)) , (pointer_expression "&pIn_00[1].xInput" & (field_expression "pIn_00[1].xInput" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) )))) ;) (expression_statement "p_Var14 = pIn_00[1].xInput;" (assignment_expression "p_Var14 = pIn_00[1].xInput" identifier = (field_expression "pIn_00[1].xInput" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;) }) (else_clause "else {\n      iVar19 = 1;\n      pIn_00[1].xInput = p_Var14;\n    }" else (compound_statement "{\n      iVar19 = 1;\n      pIn_00[1].xInput = p_Var14;\n    }" { (expression_statement "iVar19 = 1;" (assignment_expression "iVar19 = 1" identifier = number_literal) ;) (expression_statement "pIn_00[1].xInput = p_Var14;" (assignment_expression "pIn_00[1].xInput = p_Var14" (field_expression "pIn_00[1].xInput" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) }))) (if_statement "if ((int)p_Var14 < 1) {\n      (**(code **)(puVar22 + 0xdaa58))\n                (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar22 + 0xda7d0) + 0x625c);\n      puVar9 = (u8 *)0xb;\n      p_Var14 = pIn_00[1].xInput;\n      iVar19 = pIn_00[1].bNoDiscard;\n      pIn_00[1].buf.aBuf = (u8 *)0xb;\n      pIn_00[2].iCurrent = iVar19;\n      iVar19 = iVar19 + (int)p_Var14 * 8;\n      pIn_00[2].bNoDiscard = iVar19;\n      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n      goto LAB_000b6458;\n    }" if (parenthesized_expression "((int)p_Var14 < 1)" ( (binary_expression "(int)p_Var14 < 1" (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      (**(code **)(puVar22 + 0xdaa58))\n                (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar22 + 0xda7d0) + 0x625c);\n      puVar9 = (u8 *)0xb;\n      p_Var14 = pIn_00[1].xInput;\n      iVar19 = pIn_00[1].bNoDiscard;\n      pIn_00[1].buf.aBuf = (u8 *)0xb;\n      pIn_00[2].iCurrent = iVar19;\n      iVar19 = iVar19 + (int)p_Var14 * 8;\n      pIn_00[2].bNoDiscard = iVar19;\n      pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);\n      goto LAB_000b6458;\n    }" { (expression_statement "(**(code **)(puVar22 + 0xdaa58))\n                (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar22 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(puVar22 + 0xdaa58))\n                (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar22 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(puVar22 + 0xdaa58))" ( (pointer_expression "**(code **)(puVar22 + 0xdaa58)" * (pointer_expression "*(code **)(puVar22 + 0xdaa58)" * (cast_expression "(code **)(puVar22 + 0xdaa58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0xdaa58)" ( (binary_expression "puVar22 + 0xdaa58" identifier + number_literal) ))))) )) (argument_list "(0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar22 + 0xda7d0) + 0x625c)" ( number_literal , (binary_expression "*(int *)(puVar22 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(puVar22 + 0xda7d4)" * (cast_expression "(int *)(puVar22 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0xda7d4)" ( (binary_expression "puVar22 + 0xda7d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar22 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(puVar22 + 0xda7d4)" * (cast_expression "(int *)(puVar22 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0xda7d4)" ( (binary_expression "puVar22 + 0xda7d4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar22 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(puVar22 + 0xda7d0)" * (cast_expression "(int *)(puVar22 + 0xda7d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0xda7d0)" ( (binary_expression "puVar22 + 0xda7d0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar9 = (u8 *)0xb;" (assignment_expression "puVar9 = (u8 *)0xb" identifier = (cast_expression "(u8 *)0xb" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p_Var14 = pIn_00[1].xInput;" (assignment_expression "p_Var14 = pIn_00[1].xInput" identifier = (field_expression "pIn_00[1].xInput" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar19 = pIn_00[1].bNoDiscard;" (assignment_expression "iVar19 = pIn_00[1].bNoDiscard" identifier = (field_expression "pIn_00[1].bNoDiscard" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pIn_00[1].buf.aBuf = (u8 *)0xb;" (assignment_expression "pIn_00[1].buf.aBuf = (u8 *)0xb" (field_expression "pIn_00[1].buf.aBuf" (field_expression "pIn_00[1].buf" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(u8 *)0xb" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIn_00[2].iCurrent = iVar19;" (assignment_expression "pIn_00[2].iCurrent = iVar19" (field_expression "pIn_00[2].iCurrent" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "iVar19 = iVar19 + (int)p_Var14 * 8;" (assignment_expression "iVar19 = iVar19 + (int)p_Var14 * 8" identifier = (binary_expression "iVar19 + (int)p_Var14 * 8" identifier + (binary_expression "(int)p_Var14 * 8" (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "pIn_00[2].bNoDiscard = iVar19;" (assignment_expression "pIn_00[2].bNoDiscard = iVar19" (field_expression "pIn_00[2].bNoDiscard" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);" (assignment_expression "pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19)" (field_expression "pIn_00[1].buf.nAlloc" (field_expression "pIn_00[1].buf" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(int)(p_Var14 + iVar19)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_Var14 + iVar19)" ( (binary_expression "p_Var14 + iVar19" identifier + identifier) )))) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "iVar20 = pIn_00->iNext;" (assignment_expression "iVar20 = pIn_00->iNext" identifier = (field_expression "pIn_00->iNext" identifier -> field_identifier)) ;) (expression_statement "pIn_00[1].iCurrent = 0;" (assignment_expression "pIn_00[1].iCurrent = 0" (field_expression "pIn_00[1].iCurrent" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "iStack_b0 = iStack_b0 - iVar19;" (assignment_expression "iStack_b0 = iStack_b0 - iVar19" identifier = (binary_expression "iStack_b0 - iVar19" identifier - identifier)) ;) (expression_statement "pIn_00->iNext = iVar20 + iVar19;" (assignment_expression "pIn_00->iNext = iVar20 + iVar19" (field_expression "pIn_00->iNext" identifier -> field_identifier) = (binary_expression "iVar20 + iVar19" identifier + identifier)) ;) (expression_statement "sessionBufferGrow((SessionBuffer *)(pIn_00 + 1),(int)p_Var14 * 8 + iStack_b0,(int *)&puStack_b4)\n    ;" (call_expression "sessionBufferGrow((SessionBuffer *)(pIn_00 + 1),(int)p_Var14 * 8 + iStack_b0,(int *)&puStack_b4)" identifier (argument_list "((SessionBuffer *)(pIn_00 + 1),(int)p_Var14 * 8 + iStack_b0,(int *)&puStack_b4)" ( (cast_expression "(SessionBuffer *)(pIn_00 + 1)" ( (type_descriptor "SessionBuffer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIn_00 + 1)" ( (binary_expression "pIn_00 + 1" identifier + number_literal) ))) , (binary_expression "(int)p_Var14 * 8 + iStack_b0" (binary_expression "(int)p_Var14 * 8" (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + identifier) , (cast_expression "(int *)&puStack_b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&puStack_b4" & identifier)) ))) ;) (if_statement "if (puStack_b4 != (u8 *)0x0) goto LAB_000b6434;" if (parenthesized_expression "(puStack_b4 != (u8 *)0x0)" ( (binary_expression "puStack_b4 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b6434;" goto statement_identifier ;)) (expression_statement "iVar19 = (int)pIn_00[1].xInput * 8;" (assignment_expression "iVar19 = (int)pIn_00[1].xInput * 8" identifier = (binary_expression "(int)pIn_00[1].xInput * 8" (cast_expression "(int)pIn_00[1].xInput" ( (type_descriptor "int" primitive_type) ) (field_expression "pIn_00[1].xInput" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) * number_literal)) ;) (expression_statement "(**(code **)(puVar22 + 0xdabd0))(pIn_00[1].bNoDiscard,0,iVar19);" (call_expression "(**(code **)(puVar22 + 0xdabd0))(pIn_00[1].bNoDiscard,0,iVar19)" (parenthesized_expression "(**(code **)(puVar22 + 0xdabd0))" ( (pointer_expression "**(code **)(puVar22 + 0xdabd0)" * (pointer_expression "*(code **)(puVar22 + 0xdabd0)" * (cast_expression "(code **)(puVar22 + 0xdabd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0xdabd0)" ( (binary_expression "puVar22 + 0xdabd0" identifier + number_literal) ))))) )) (argument_list "(pIn_00[1].bNoDiscard,0,iVar19)" ( (field_expression "pIn_00[1].bNoDiscard" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) , number_literal , identifier ))) ;) (expression_statement "(**(code **)(puVar22 + 0xdaca4))\n              (pIn_00[1].bNoDiscard + iVar19,pIn_00->aData + pIn_00->iNext,iStack_b0);" (call_expression "(**(code **)(puVar22 + 0xdaca4))\n              (pIn_00[1].bNoDiscard + iVar19,pIn_00->aData + pIn_00->iNext,iStack_b0)" (parenthesized_expression "(**(code **)(puVar22 + 0xdaca4))" ( (pointer_expression "**(code **)(puVar22 + 0xdaca4)" * (pointer_expression "*(code **)(puVar22 + 0xdaca4)" * (cast_expression "(code **)(puVar22 + 0xdaca4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0xdaca4)" ( (binary_expression "puVar22 + 0xdaca4" identifier + number_literal) ))))) )) (argument_list "(pIn_00[1].bNoDiscard + iVar19,pIn_00->aData + pIn_00->iNext,iStack_b0)" ( (binary_expression "pIn_00[1].bNoDiscard + iVar19" (field_expression "pIn_00[1].bNoDiscard" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) + identifier) , (binary_expression "pIn_00->aData + pIn_00->iNext" (field_expression "pIn_00->aData" identifier -> field_identifier) + (field_expression "pIn_00->iNext" identifier -> field_identifier)) , identifier ))) ;) (expression_statement "p_Var14 = pIn_00[1].xInput;" (assignment_expression "p_Var14 = pIn_00[1].xInput" identifier = (field_expression "pIn_00[1].xInput" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar20 = pIn_00->iNext;" (assignment_expression "iVar20 = pIn_00->iNext" identifier = (field_expression "pIn_00->iNext" identifier -> field_identifier)) ;) (expression_statement "iVar19 = pIn_00[1].bNoDiscard + (int)p_Var14 * 8;" (assignment_expression "iVar19 = pIn_00[1].bNoDiscard + (int)p_Var14 * 8" identifier = (binary_expression "pIn_00[1].bNoDiscard + (int)p_Var14 * 8" (field_expression "pIn_00[1].bNoDiscard" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) + (binary_expression "(int)p_Var14 * 8" (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "pIn_00[2].iCurrent = pIn_00[1].bNoDiscard;" (assignment_expression "pIn_00[2].iCurrent = pIn_00[1].bNoDiscard" (field_expression "pIn_00[2].iCurrent" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier) = (field_expression "pIn_00[1].bNoDiscard" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pIn_00[2].bNoDiscard = iVar19;" (assignment_expression "pIn_00[2].bNoDiscard = iVar19" (field_expression "pIn_00[2].bNoDiscard" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pIn_00[1].buf.aBuf = puStack_b4;" (assignment_expression "pIn_00[1].buf.aBuf = puStack_b4" (field_expression "pIn_00[1].buf.aBuf" (field_expression "pIn_00[1].buf" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19);" (assignment_expression "pIn_00[1].buf.nAlloc = (int)(p_Var14 + iVar19)" (field_expression "pIn_00[1].buf.nAlloc" (field_expression "pIn_00[1].buf" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(int)(p_Var14 + iVar19)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_Var14 + iVar19)" ( (binary_expression "p_Var14 + iVar19" identifier + identifier) )))) ;) (expression_statement "pIn_00->iNext = iVar20 + iStack_b0;" (assignment_expression "pIn_00->iNext = iVar20 + iStack_b0" (field_expression "pIn_00->iNext" identifier -> field_identifier) = (binary_expression "iVar20 + iStack_b0" identifier + identifier)) ;) (expression_statement "puVar9 = puStack_b4;" (assignment_expression "puVar9 = puStack_b4" identifier = identifier) ;) (if_statement "if (puStack_b4 != (u8 *)0x0) goto LAB_000b6458;" if (parenthesized_expression "(puStack_b4 != (u8 *)0x0)" ( (binary_expression "puStack_b4 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "puVar9 = (u8 *)sessionInputBuffer(pIn_00,2);" (assignment_expression "puVar9 = (u8 *)sessionInputBuffer(pIn_00,2)" identifier = (cast_expression "(u8 *)sessionInputBuffer(pIn_00,2)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionInputBuffer(pIn_00,2)" identifier (argument_list "(pIn_00,2)" ( identifier , number_literal ))))) ;) (expression_statement "pIn_00[1].buf.aBuf = puVar9;" (assignment_expression "pIn_00[1].buf.aBuf = puVar9" (field_expression "pIn_00[1].buf.aBuf" (field_expression "pIn_00[1].buf" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (puVar9 != (u8 *)0x0) goto LAB_000b6458;" if (parenthesized_expression "(puVar9 != (u8 *)0x0)" ( (binary_expression "puVar9 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "iVar19 = pIn_00->iNext;" (assignment_expression "iVar19 = pIn_00->iNext" identifier = (field_expression "pIn_00->iNext" identifier -> field_identifier)) ;) (expression_statement "pIn_00->iCurrent = iVar19;" (assignment_expression "pIn_00->iCurrent = iVar19" (field_expression "pIn_00->iCurrent" identifier -> field_identifier) = identifier) ;) (if_statement "if (pIn_00->nData <= iVar19) goto LAB_000b6494;" if (parenthesized_expression "(pIn_00->nData <= iVar19)" ( (binary_expression "pIn_00->nData <= iVar19" (field_expression "pIn_00->nData" identifier -> field_identifier) <= identifier) )) (goto_statement "goto LAB_000b6494;" goto statement_identifier ;)) (expression_statement "puVar9 = pIn_00->aData;" (assignment_expression "puVar9 = pIn_00->aData" identifier = (field_expression "pIn_00->aData" identifier -> field_identifier)) ;) (expression_statement "pIn_00->iNext = iVar19 + 1;" (assignment_expression "pIn_00->iNext = iVar19 + 1" (field_expression "pIn_00->iNext" identifier -> field_identifier) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = puVar9[iVar19];" (assignment_expression "bVar1 = puVar9[iVar19]" identifier = (subscript_expression "puVar9[iVar19]" identifier [ identifier ])) ;) })) (if_statement "if ((pIn_00[1].buf.nAlloc == 0) ||\n     ((puVar15 = pIn_00[1].aData, puVar15 != (u8 *)0x0 && (pIn_00[1].nData != 0)))) {\n    uVar17 = 0x301e0;\n  }\n  else {\n    iVar19 = pIn_00->iNext;\n    pIn_00[1].pIn = puVar10;\n    pIn_00->iNext = iVar19 + 1;\n    pIn_00[1].bEof = (uint)puVar9[iVar19];\n    if ((puVar10 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f) < 0)) {\n      p_Var14 = pIn_00[1].xInput;\n      if (abPK_00 != (int *)0x0) {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var14 < 1) goto LAB_000b6830;\n          p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard;\n          p_Var13 = p_Var14 + (int)p_Var11;\n          p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }\n            p_Var11 = p_Var11 + 1;\n            if (p_Var13 == p_Var11) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar10 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var14 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar18 = (sqlite3_value **)pIn_00[2].iCurrent;\n      ppsVar16 = ppsVar18;\n      apOut_00 = ppsVar18 + (int)p_Var14;\n      if (pIn_00[1].nData != 0) {\n        ppsVar16 = ppsVar18 + (int)p_Var14;\n        apOut_00 = ppsVar18;\n      }\n      if (puVar10 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          if (pIn_00[1].nData == 0) goto LAB_000b6734;\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) {\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = 0;\n        if (0 < (int)p_Var14) {\n          do {\n            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 < (int)p_Var14);\n        }\n      }\n      else {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b6678;\n          abPK_00 = (int *)pIn_00[2].bNoDiscard;\n        }\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pIn_00[1].pIn != &DAT_00000009) {\n          p_Var14 = pIn_00[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          puVar9 = (u8 *)0x64;\n          if (pIn_00[1].nData == 0) goto LAB_000b6458;\n          puVar10 = &DAT_00000009;\n        }\n        else {\n          iVar19 = pIn_00[1].nData;\n          puVar10 = &DAT_00000009;\nLAB_000b6780:\n          puVar9 = (u8 *)0x64;\n          if (iVar19 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar10 == (undefined1 *)0x12) {\n          puVar9 = (u8 *)0x64;\n          pIn_00[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar10 == &DAT_00000009) {\n          pIn_00[1].pIn = (void *)0x12;\n          puVar9 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar9 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }\n    uVar17 = 0x301e6;\n  }" if (parenthesized_expression "((pIn_00[1].buf.nAlloc == 0) ||\n     ((puVar15 = pIn_00[1].aData, puVar15 != (u8 *)0x0 && (pIn_00[1].nData != 0))))" ( (binary_expression "(pIn_00[1].buf.nAlloc == 0) ||\n     ((puVar15 = pIn_00[1].aData, puVar15 != (u8 *)0x0 && (pIn_00[1].nData != 0)))" (parenthesized_expression "(pIn_00[1].buf.nAlloc == 0)" ( (binary_expression "pIn_00[1].buf.nAlloc == 0" (field_expression "pIn_00[1].buf.nAlloc" (field_expression "pIn_00[1].buf" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) == number_literal) )) || (parenthesized_expression "((puVar15 = pIn_00[1].aData, puVar15 != (u8 *)0x0 && (pIn_00[1].nData != 0)))" ( (parenthesized_expression "(puVar15 = pIn_00[1].aData, puVar15 != (u8 *)0x0 && (pIn_00[1].nData != 0))" ( (comma_expression "puVar15 = pIn_00[1].aData, puVar15 != (u8 *)0x0 && (pIn_00[1].nData != 0)" (assignment_expression "puVar15 = pIn_00[1].aData" identifier = (field_expression "pIn_00[1].aData" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) , (binary_expression "puVar15 != (u8 *)0x0 && (pIn_00[1].nData != 0)" (binary_expression "puVar15 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(pIn_00[1].nData != 0)" ( (binary_expression "pIn_00[1].nData != 0" (field_expression "pIn_00[1].nData" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) != number_literal) )))) )) ))) )) (compound_statement "{\n    uVar17 = 0x301e0;\n  }" { (expression_statement "uVar17 = 0x301e0;" (assignment_expression "uVar17 = 0x301e0" identifier = number_literal) ;) }) (else_clause "else {\n    iVar19 = pIn_00->iNext;\n    pIn_00[1].pIn = puVar10;\n    pIn_00->iNext = iVar19 + 1;\n    pIn_00[1].bEof = (uint)puVar9[iVar19];\n    if ((puVar10 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f) < 0)) {\n      p_Var14 = pIn_00[1].xInput;\n      if (abPK_00 != (int *)0x0) {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var14 < 1) goto LAB_000b6830;\n          p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard;\n          p_Var13 = p_Var14 + (int)p_Var11;\n          p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }\n            p_Var11 = p_Var11 + 1;\n            if (p_Var13 == p_Var11) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar10 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var14 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar18 = (sqlite3_value **)pIn_00[2].iCurrent;\n      ppsVar16 = ppsVar18;\n      apOut_00 = ppsVar18 + (int)p_Var14;\n      if (pIn_00[1].nData != 0) {\n        ppsVar16 = ppsVar18 + (int)p_Var14;\n        apOut_00 = ppsVar18;\n      }\n      if (puVar10 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          if (pIn_00[1].nData == 0) goto LAB_000b6734;\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) {\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = 0;\n        if (0 < (int)p_Var14) {\n          do {\n            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 < (int)p_Var14);\n        }\n      }\n      else {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b6678;\n          abPK_00 = (int *)pIn_00[2].bNoDiscard;\n        }\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pIn_00[1].pIn != &DAT_00000009) {\n          p_Var14 = pIn_00[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          puVar9 = (u8 *)0x64;\n          if (pIn_00[1].nData == 0) goto LAB_000b6458;\n          puVar10 = &DAT_00000009;\n        }\n        else {\n          iVar19 = pIn_00[1].nData;\n          puVar10 = &DAT_00000009;\nLAB_000b6780:\n          puVar9 = (u8 *)0x64;\n          if (iVar19 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar10 == (undefined1 *)0x12) {\n          puVar9 = (u8 *)0x64;\n          pIn_00[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar10 == &DAT_00000009) {\n          pIn_00[1].pIn = (void *)0x12;\n          puVar9 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar9 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }\n    uVar17 = 0x301e6;\n  }" else (compound_statement "{\n    iVar19 = pIn_00->iNext;\n    pIn_00[1].pIn = puVar10;\n    pIn_00->iNext = iVar19 + 1;\n    pIn_00[1].bEof = (uint)puVar9[iVar19];\n    if ((puVar10 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f) < 0)) {\n      p_Var14 = pIn_00[1].xInput;\n      if (abPK_00 != (int *)0x0) {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var14 < 1) goto LAB_000b6830;\n          p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard;\n          p_Var13 = p_Var14 + (int)p_Var11;\n          p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }\n            p_Var11 = p_Var11 + 1;\n            if (p_Var13 == p_Var11) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar10 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var14 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar18 = (sqlite3_value **)pIn_00[2].iCurrent;\n      ppsVar16 = ppsVar18;\n      apOut_00 = ppsVar18 + (int)p_Var14;\n      if (pIn_00[1].nData != 0) {\n        ppsVar16 = ppsVar18 + (int)p_Var14;\n        apOut_00 = ppsVar18;\n      }\n      if (puVar10 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          if (pIn_00[1].nData == 0) goto LAB_000b6734;\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) {\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = 0;\n        if (0 < (int)p_Var14) {\n          do {\n            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 < (int)p_Var14);\n        }\n      }\n      else {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b6678;\n          abPK_00 = (int *)pIn_00[2].bNoDiscard;\n        }\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pIn_00[1].pIn != &DAT_00000009) {\n          p_Var14 = pIn_00[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          puVar9 = (u8 *)0x64;\n          if (pIn_00[1].nData == 0) goto LAB_000b6458;\n          puVar10 = &DAT_00000009;\n        }\n        else {\n          iVar19 = pIn_00[1].nData;\n          puVar10 = &DAT_00000009;\nLAB_000b6780:\n          puVar9 = (u8 *)0x64;\n          if (iVar19 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar10 == (undefined1 *)0x12) {\n          puVar9 = (u8 *)0x64;\n          pIn_00[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar10 == &DAT_00000009) {\n          pIn_00[1].pIn = (void *)0x12;\n          puVar9 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar9 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }\n    uVar17 = 0x301e6;\n  }" { (expression_statement "iVar19 = pIn_00->iNext;" (assignment_expression "iVar19 = pIn_00->iNext" identifier = (field_expression "pIn_00->iNext" identifier -> field_identifier)) ;) (expression_statement "pIn_00[1].pIn = puVar10;" (assignment_expression "pIn_00[1].pIn = puVar10" (field_expression "pIn_00[1].pIn" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pIn_00->iNext = iVar19 + 1;" (assignment_expression "pIn_00->iNext = iVar19 + 1" (field_expression "pIn_00->iNext" identifier -> field_identifier) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "pIn_00[1].bEof = (uint)puVar9[iVar19];" (assignment_expression "pIn_00[1].bEof = (uint)puVar9[iVar19]" (field_expression "pIn_00[1].bEof" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(uint)puVar9[iVar19]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar9[iVar19]" identifier [ identifier ]))) ;) (if_statement "if ((puVar10 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f) < 0)) {\n      p_Var14 = pIn_00[1].xInput;\n      if (abPK_00 != (int *)0x0) {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var14 < 1) goto LAB_000b6830;\n          p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard;\n          p_Var13 = p_Var14 + (int)p_Var11;\n          p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }\n            p_Var11 = p_Var11 + 1;\n            if (p_Var13 == p_Var11) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar10 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var14 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar18 = (sqlite3_value **)pIn_00[2].iCurrent;\n      ppsVar16 = ppsVar18;\n      apOut_00 = ppsVar18 + (int)p_Var14;\n      if (pIn_00[1].nData != 0) {\n        ppsVar16 = ppsVar18 + (int)p_Var14;\n        apOut_00 = ppsVar18;\n      }\n      if (puVar10 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          if (pIn_00[1].nData == 0) goto LAB_000b6734;\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) {\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = 0;\n        if (0 < (int)p_Var14) {\n          do {\n            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 < (int)p_Var14);\n        }\n      }\n      else {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b6678;\n          abPK_00 = (int *)pIn_00[2].bNoDiscard;\n        }\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pIn_00[1].pIn != &DAT_00000009) {\n          p_Var14 = pIn_00[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          puVar9 = (u8 *)0x64;\n          if (pIn_00[1].nData == 0) goto LAB_000b6458;\n          puVar10 = &DAT_00000009;\n        }\n        else {\n          iVar19 = pIn_00[1].nData;\n          puVar10 = &DAT_00000009;\nLAB_000b6780:\n          puVar9 = (u8 *)0x64;\n          if (iVar19 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar10 == (undefined1 *)0x12) {\n          puVar9 = (u8 *)0x64;\n          pIn_00[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar10 == &DAT_00000009) {\n          pIn_00[1].pIn = (void *)0x12;\n          puVar9 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar9 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }" if (parenthesized_expression "((puVar10 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f) < 0))" ( (binary_expression "(puVar10 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f) < 0)" (parenthesized_expression "(puVar10 < &DAT_00000018)" ( (binary_expression "puVar10 < &DAT_00000018" identifier < (pointer_expression "&DAT_00000018" & identifier)) )) && (parenthesized_expression "((int)((0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f) < 0)" ( (binary_expression "(int)((0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f) < 0" (cast_expression "(int)((0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f)" ( (binary_expression "(0x840200U >> ((uint)puVar10 & 0x1f)) << 0x1f" (parenthesized_expression "(0x840200U >> ((uint)puVar10 & 0x1f))" ( (binary_expression "0x840200U >> ((uint)puVar10 & 0x1f)" number_literal >> (parenthesized_expression "((uint)puVar10 & 0x1f)" ( (binary_expression "(uint)puVar10 & 0x1f" (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) )) << number_literal) ))) < number_literal) ))) )) (compound_statement "{\n      p_Var14 = pIn_00[1].xInput;\n      if (abPK_00 != (int *)0x0) {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var14 < 1) goto LAB_000b6830;\n          p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard;\n          p_Var13 = p_Var14 + (int)p_Var11;\n          p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }\n            p_Var11 = p_Var11 + 1;\n            if (p_Var13 == p_Var11) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar10 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var14 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar18 = (sqlite3_value **)pIn_00[2].iCurrent;\n      ppsVar16 = ppsVar18;\n      apOut_00 = ppsVar18 + (int)p_Var14;\n      if (pIn_00[1].nData != 0) {\n        ppsVar16 = ppsVar18 + (int)p_Var14;\n        apOut_00 = ppsVar18;\n      }\n      if (puVar10 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          if (pIn_00[1].nData == 0) goto LAB_000b6734;\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) {\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = 0;\n        if (0 < (int)p_Var14) {\n          do {\n            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 < (int)p_Var14);\n        }\n      }\n      else {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b6678;\n          abPK_00 = (int *)pIn_00[2].bNoDiscard;\n        }\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pIn_00[1].pIn != &DAT_00000009) {\n          p_Var14 = pIn_00[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          puVar9 = (u8 *)0x64;\n          if (pIn_00[1].nData == 0) goto LAB_000b6458;\n          puVar10 = &DAT_00000009;\n        }\n        else {\n          iVar19 = pIn_00[1].nData;\n          puVar10 = &DAT_00000009;\nLAB_000b6780:\n          puVar9 = (u8 *)0x64;\n          if (iVar19 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar10 == (undefined1 *)0x12) {\n          puVar9 = (u8 *)0x64;\n          pIn_00[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar10 == &DAT_00000009) {\n          pIn_00[1].pIn = (void *)0x12;\n          puVar9 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar9 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }" { (expression_statement "p_Var14 = pIn_00[1].xInput;" (assignment_expression "p_Var14 = pIn_00[1].xInput" identifier = (field_expression "pIn_00[1].xInput" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (abPK_00 != (int *)0x0) {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var14 < 1) goto LAB_000b6830;\n          p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard;\n          p_Var13 = p_Var14 + (int)p_Var11;\n          p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }\n            p_Var11 = p_Var11 + 1;\n            if (p_Var13 == p_Var11) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar10 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var14 << 1);\n        goto LAB_000b65d4;\n      }" if (parenthesized_expression "(abPK_00 != (int *)0x0)" ( (binary_expression "abPK_00 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var14 < 1) goto LAB_000b6830;\n          p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard;\n          p_Var13 = p_Var14 + (int)p_Var11;\n          p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }\n            p_Var11 = p_Var11 + 1;\n            if (p_Var13 == p_Var11) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar10 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var14 << 1);\n        goto LAB_000b65d4;\n      }" { (if_statement "if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var14 < 1) goto LAB_000b6830;\n          p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard;\n          p_Var13 = p_Var14 + (int)p_Var11;\n          p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }\n            p_Var11 = p_Var11 + 1;\n            if (p_Var13 == p_Var11) goto LAB_000b65d4;\n          } while( true );\n        }" if (parenthesized_expression "(puVar15 != (u8 *)0x0)" ( (binary_expression "puVar15 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (puVar10 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var14 < 1) goto LAB_000b6830;\n          p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard;\n          p_Var13 = p_Var14 + (int)p_Var11;\n          p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }\n            p_Var11 = p_Var11 + 1;\n            if (p_Var13 == p_Var11) goto LAB_000b65d4;\n          } while( true );\n        }" { (if_statement "if (puVar10 != &DAT_00000009) goto LAB_000b65d4;" if (parenthesized_expression "(puVar10 != &DAT_00000009)" ( (binary_expression "puVar10 != &DAT_00000009" identifier != (pointer_expression "&DAT_00000009" & identifier)) )) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;)) (if_statement "if ((int)p_Var14 < 1) goto LAB_000b6830;" if (parenthesized_expression "((int)p_Var14 < 1)" ( (binary_expression "(int)p_Var14 < 1" (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_000b6830;" goto statement_identifier ;)) (expression_statement "p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard;" (assignment_expression "p_Var11 = (_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int_ptr *)pIn_00[2].bNoDiscard" ( (type_descriptor "_func_int_void_ptr_void_ptr_int_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIn_00[2].bNoDiscard" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "p_Var13 = p_Var14 + (int)p_Var11;" (assignment_expression "p_Var13 = p_Var14 + (int)p_Var11" identifier = (binary_expression "p_Var14 + (int)p_Var11" identifier + (cast_expression "(int)p_Var11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;" (assignment_expression "p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int_ptr *)0x0" ( (type_descriptor "_func_int_void_ptr_void_ptr_int_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }\n            p_Var11 = p_Var11 + 1;\n            if (p_Var13 == p_Var11) goto LAB_000b65d4;\n          } while( true );" do (compound_statement "{\n            if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }\n            p_Var11 = p_Var11 + 1;\n            if (p_Var13 == p_Var11) goto LAB_000b65d4;\n          }" { (if_statement "if (*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var14 = p_Var14 + 1;\n            }" if (parenthesized_expression "(*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0)" ( (binary_expression "*p_Var11 != (_func_int_void_ptr_void_ptr_int_ptr)0x0" (pointer_expression "*p_Var11" * identifier) != (cast_expression "(_func_int_void_ptr_void_ptr_int_ptr)0x0" ( (type_descriptor "_func_int_void_ptr_void_ptr_int_ptr" type_identifier) ) number_literal)) )) (compound_statement "{\n              p_Var14 = p_Var14 + 1;\n            }" { (expression_statement "p_Var14 = p_Var14 + 1;" (assignment_expression "p_Var14 = p_Var14 + 1" identifier = (binary_expression "p_Var14 + 1" identifier + number_literal)) ;) })) (expression_statement "p_Var11 = p_Var11 + 1;" (assignment_expression "p_Var11 = p_Var11 + 1" identifier = (binary_expression "p_Var11 + 1" identifier + number_literal)) ;) (if_statement "if (p_Var13 == p_Var11) goto LAB_000b65d4;" if (parenthesized_expression "(p_Var13 == p_Var11)" ( (binary_expression "p_Var13 == p_Var11" identifier == identifier) )) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (puVar10 != &DAT_00000017) goto LAB_000b65d4;" if (parenthesized_expression "(puVar10 != &DAT_00000017)" ( (binary_expression "puVar10 != &DAT_00000017" identifier != (pointer_expression "&DAT_00000017" & identifier)) )) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;)) (expression_statement "p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var14 << 1);" (assignment_expression "p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var14 << 1)" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var14 << 1)" ( (type_descriptor "_func_int_void_ptr_void_ptr_int_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var14 << 1)" ( (binary_expression "(int)p_Var14 << 1" (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;) })) (expression_statement "ppsVar18 = (sqlite3_value **)pIn_00[2].iCurrent;" (assignment_expression "ppsVar18 = (sqlite3_value **)pIn_00[2].iCurrent" identifier = (cast_expression "(sqlite3_value **)pIn_00[2].iCurrent" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "pIn_00[2].iCurrent" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "ppsVar16 = ppsVar18;" (assignment_expression "ppsVar16 = ppsVar18" identifier = identifier) ;) (expression_statement "apOut_00 = ppsVar18 + (int)p_Var14;" (assignment_expression "apOut_00 = ppsVar18 + (int)p_Var14" identifier = (binary_expression "ppsVar18 + (int)p_Var14" identifier + (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (pIn_00[1].nData != 0) {\n        ppsVar16 = ppsVar18 + (int)p_Var14;\n        apOut_00 = ppsVar18;\n      }" if (parenthesized_expression "(pIn_00[1].nData != 0)" ( (binary_expression "pIn_00[1].nData != 0" (field_expression "pIn_00[1].nData" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) != number_literal) )) (compound_statement "{\n        ppsVar16 = ppsVar18 + (int)p_Var14;\n        apOut_00 = ppsVar18;\n      }" { (expression_statement "ppsVar16 = ppsVar18 + (int)p_Var14;" (assignment_expression "ppsVar16 = ppsVar18 + (int)p_Var14" identifier = (binary_expression "ppsVar18 + (int)p_Var14" identifier + (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "apOut_00 = ppsVar18;" (assignment_expression "apOut_00 = ppsVar18" identifier = identifier) ;) })) (if_statement "if (puVar10 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          if (pIn_00[1].nData == 0) goto LAB_000b6734;\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) {\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = 0;\n        if (0 < (int)p_Var14) {\n          do {\n            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 < (int)p_Var14);\n        }\n      }\n      else {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b6678;\n          abPK_00 = (int *)pIn_00[2].bNoDiscard;\n        }\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pIn_00[1].pIn != &DAT_00000009) {\n          p_Var14 = pIn_00[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          puVar9 = (u8 *)0x64;\n          if (pIn_00[1].nData == 0) goto LAB_000b6458;\n          puVar10 = &DAT_00000009;\n        }\n        else {\n          iVar19 = pIn_00[1].nData;\n          puVar10 = &DAT_00000009;\nLAB_000b6780:\n          puVar9 = (u8 *)0x64;\n          if (iVar19 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar10 == (undefined1 *)0x12) {\n          puVar9 = (u8 *)0x64;\n          pIn_00[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar10 == &DAT_00000009) {\n          pIn_00[1].pIn = (void *)0x12;\n          puVar9 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }" if (parenthesized_expression "(puVar10 == (undefined1 *)0x12)" ( (binary_expression "puVar10 == (undefined1 *)0x12" identifier == (cast_expression "(undefined1 *)0x12" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000b6678:\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          if (pIn_00[1].nData == 0) goto LAB_000b6734;\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) {\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var14 = pIn_00[1].xInput;\n        iVar19 = 0;\n        if (0 < (int)p_Var14) {\n          do {\n            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 < (int)p_Var14);\n        }\n      }" { (labeled_statement "LAB_000b6678:\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00);" statement_identifier : (expression_statement "puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00);" (assignment_expression "puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00)" identifier = (cast_expression "(u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00)" identifier (argument_list "(pIn_00,(int)p_Var14,(u8 *)0x0,apOut_00)" ( identifier , (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier ))))) ;)) (expression_statement "pIn_00[1].buf.aBuf = puVar9;" (assignment_expression "pIn_00[1].buf.aBuf = puVar9" (field_expression "pIn_00[1].buf.aBuf" (field_expression "pIn_00[1].buf" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (puVar9 != (u8 *)0x0) goto LAB_000b6458;" if (parenthesized_expression "(puVar9 != (u8 *)0x0)" ( (binary_expression "puVar9 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if (pIn_00[1].aData == (u8 *)0x0) {\n          if (pIn_00[1].nData == 0) goto LAB_000b6734;\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) {\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }\n        }" if (parenthesized_expression "(pIn_00[1].aData == (u8 *)0x0)" ( (binary_expression "pIn_00[1].aData == (u8 *)0x0" (field_expression "pIn_00[1].aData" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) == (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (pIn_00[1].nData == 0) goto LAB_000b6734;\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) goto LAB_000b6788;\n        }" { (if_statement "if (pIn_00[1].nData == 0) goto LAB_000b6734;" if (parenthesized_expression "(pIn_00[1].nData == 0)" ( (binary_expression "pIn_00[1].nData == 0" (field_expression "pIn_00[1].nData" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) == number_literal) )) (goto_statement "goto LAB_000b6734;" goto statement_identifier ;)) (expression_statement "puVar10 = (undefined1 *)pIn_00[1].pIn;" (assignment_expression "puVar10 = (undefined1 *)pIn_00[1].pIn" identifier = (cast_expression "(undefined1 *)pIn_00[1].pIn" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIn_00[1].pIn" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (puVar10 != &DAT_00000017) goto LAB_000b6788;" if (parenthesized_expression "(puVar10 != &DAT_00000017)" ( (binary_expression "puVar10 != &DAT_00000017" identifier != (pointer_expression "&DAT_00000017" & identifier)) )) (goto_statement "goto LAB_000b6788;" goto statement_identifier ;)) }) (else_clause "else {\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) {\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }\n        }" else (compound_statement "{\n          puVar10 = (undefined1 *)pIn_00[1].pIn;\n          if (puVar10 != &DAT_00000017) {\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }\n        }" { (expression_statement "puVar10 = (undefined1 *)pIn_00[1].pIn;" (assignment_expression "puVar10 = (undefined1 *)pIn_00[1].pIn" identifier = (cast_expression "(undefined1 *)pIn_00[1].pIn" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIn_00[1].pIn" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (puVar10 != &DAT_00000017) {\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }" if (parenthesized_expression "(puVar10 != &DAT_00000017)" ( (binary_expression "puVar10 != &DAT_00000017" identifier != (pointer_expression "&DAT_00000017" & identifier)) )) (compound_statement "{\n            iVar19 = pIn_00[1].nData;\n            goto LAB_000b6780;\n          }" { (expression_statement "iVar19 = pIn_00[1].nData;" (assignment_expression "iVar19 = pIn_00[1].nData" identifier = (field_expression "pIn_00[1].nData" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (goto_statement "goto LAB_000b6780;" goto statement_identifier ;) })) }))) (expression_statement "p_Var14 = pIn_00[1].xInput;" (assignment_expression "p_Var14 = pIn_00[1].xInput" identifier = (field_expression "pIn_00[1].xInput" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)p_Var14) {\n          do {\n            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 < (int)p_Var14);\n        }" if (parenthesized_expression "(0 < (int)p_Var14)" ( (binary_expression "0 < (int)p_Var14" number_literal < (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          do {\n            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 < (int)p_Var14);\n        }" { (do_statement "do {\n            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 < (int)p_Var14);" do (compound_statement "{\n            if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }\n            iVar19 = iVar19 + 1;\n          }" { (if_statement "if (*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0') {\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }" if (parenthesized_expression "(*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0')" ( (binary_expression "*(char *)(pIn_00[2].bNoDiscard + iVar19) != '\0'" (pointer_expression "*(char *)(pIn_00[2].bNoDiscard + iVar19)" * (cast_expression "(char *)(pIn_00[2].bNoDiscard + iVar19)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIn_00[2].bNoDiscard + iVar19)" ( (binary_expression "pIn_00[2].bNoDiscard + iVar19" (field_expression "pIn_00[2].bNoDiscard" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              *(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);\n              if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;\n              p_Var14 = pIn_00[1].xInput;\n            }" { (expression_statement "*(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4);" (assignment_expression "*(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4) =\n                   *(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4)" (pointer_expression "*(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4)" * (cast_expression "(undefined4 *)(pIn_00[2].iCurrent + iVar19 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIn_00[2].iCurrent + iVar19 * 4)" ( (binary_expression "pIn_00[2].iCurrent + iVar19 * 4" (field_expression "pIn_00[2].iCurrent" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier) + (binary_expression "iVar19 * 4" identifier * number_literal)) )))) = (pointer_expression "*(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4)" * (cast_expression "(undefined4 *)(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4)" ( (binary_expression "pIn_00[2].iCurrent + (int)(p_Var14 + iVar19) * 4" (field_expression "pIn_00[2].iCurrent" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier) + (binary_expression "(int)(p_Var14 + iVar19) * 4" (cast_expression "(int)(p_Var14 + iVar19)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_Var14 + iVar19)" ( (binary_expression "p_Var14 + iVar19" identifier + identifier) ))) * number_literal)) ))))) ;) (if_statement "if (*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0) {\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }" if (parenthesized_expression "(*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0)" ( (binary_expression "*(int *)(pIn_00[2].iCurrent + iVar19 * 4) == 0" (pointer_expression "*(int *)(pIn_00[2].iCurrent + iVar19 * 4)" * (cast_expression "(int *)(pIn_00[2].iCurrent + iVar19 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIn_00[2].iCurrent + iVar19 * 4)" ( (binary_expression "pIn_00[2].iCurrent + iVar19 * 4" (field_expression "pIn_00[2].iCurrent" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier) + (binary_expression "iVar19 * 4" identifier * number_literal)) )))) == number_literal) )) (compound_statement "{\n                uVar17 = 0x30212;\n                goto LAB_000b653c;\n              }" { (expression_statement "uVar17 = 0x30212;" (assignment_expression "uVar17 = 0x30212" identifier = number_literal) ;) (goto_statement "goto LAB_000b653c;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0;" (assignment_expression "*(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4) = 0" (pointer_expression "*(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4)" * (cast_expression "(undefined4 *)(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4)" ( (binary_expression "pIn_00[2].iCurrent + (int)(pIn_00[1].xInput + iVar19) * 4" (field_expression "pIn_00[2].iCurrent" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier) + (binary_expression "(int)(pIn_00[1].xInput + iVar19) * 4" (cast_expression "(int)(pIn_00[1].xInput + iVar19)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pIn_00[1].xInput + iVar19)" ( (binary_expression "pIn_00[1].xInput + iVar19" (field_expression "pIn_00[1].xInput" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) + identifier) ))) * number_literal)) )))) = number_literal) ;) (expression_statement "p_Var14 = pIn_00[1].xInput;" (assignment_expression "p_Var14 = pIn_00[1].xInput" identifier = (field_expression "pIn_00[1].xInput" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;) })) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar19 < (int)p_Var14)" ( (binary_expression "iVar19 < (int)p_Var14" identifier < (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) }) (else_clause "else {\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b6678;\n          abPK_00 = (int *)pIn_00[2].bNoDiscard;\n        }\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pIn_00[1].pIn != &DAT_00000009) {\n          p_Var14 = pIn_00[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          puVar9 = (u8 *)0x64;\n          if (pIn_00[1].nData == 0) goto LAB_000b6458;\n          puVar10 = &DAT_00000009;\n        }\n        else {\n          iVar19 = pIn_00[1].nData;\n          puVar10 = &DAT_00000009;\nLAB_000b6780:\n          puVar9 = (u8 *)0x64;\n          if (iVar19 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar10 == (undefined1 *)0x12) {\n          puVar9 = (u8 *)0x64;\n          pIn_00[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar10 == &DAT_00000009) {\n          pIn_00[1].pIn = (void *)0x12;\n          puVar9 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }" else (compound_statement "{\n        if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b6678;\n          abPK_00 = (int *)pIn_00[2].bNoDiscard;\n        }\n        puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16);\n        pIn_00[1].buf.aBuf = puVar9;\n        if (puVar9 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pIn_00[1].pIn != &DAT_00000009) {\n          p_Var14 = pIn_00[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pIn_00[1].aData == (u8 *)0x0) {\n          puVar9 = (u8 *)0x64;\n          if (pIn_00[1].nData == 0) goto LAB_000b6458;\n          puVar10 = &DAT_00000009;\n        }\n        else {\n          iVar19 = pIn_00[1].nData;\n          puVar10 = &DAT_00000009;\nLAB_000b6780:\n          puVar9 = (u8 *)0x64;\n          if (iVar19 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar10 == (undefined1 *)0x12) {\n          puVar9 = (u8 *)0x64;\n          pIn_00[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar10 == &DAT_00000009) {\n          pIn_00[1].pIn = (void *)0x12;\n          puVar9 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }" { (if_statement "if (puVar15 != (u8 *)0x0) {\n          if (puVar10 != &DAT_00000009) goto LAB_000b6678;\n          abPK_00 = (int *)pIn_00[2].bNoDiscard;\n        }" if (parenthesized_expression "(puVar15 != (u8 *)0x0)" ( (binary_expression "puVar15 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (puVar10 != &DAT_00000009) goto LAB_000b6678;\n          abPK_00 = (int *)pIn_00[2].bNoDiscard;\n        }" { (if_statement "if (puVar10 != &DAT_00000009) goto LAB_000b6678;" if (parenthesized_expression "(puVar10 != &DAT_00000009)" ( (binary_expression "puVar10 != &DAT_00000009" identifier != (pointer_expression "&DAT_00000009" & identifier)) )) (goto_statement "goto LAB_000b6678;" goto statement_identifier ;)) (expression_statement "abPK_00 = (int *)pIn_00[2].bNoDiscard;" (assignment_expression "abPK_00 = (int *)pIn_00[2].bNoDiscard" identifier = (cast_expression "(int *)pIn_00[2].bNoDiscard" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pIn_00[2].bNoDiscard" (subscript_expression "pIn_00[2]" identifier [ number_literal ]) . field_identifier))) ;) })) (expression_statement "puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16);" (assignment_expression "puVar9 = (u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16)" identifier = (cast_expression "(u8 *)sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionReadRecord(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16)" identifier (argument_list "(pIn_00,(int)p_Var14,(u8 *)abPK_00,ppsVar16)" ( identifier , (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(u8 *)abPK_00" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))))) ;) (expression_statement "pIn_00[1].buf.aBuf = puVar9;" (assignment_expression "pIn_00[1].buf.aBuf = puVar9" (field_expression "pIn_00[1].buf.aBuf" (field_expression "pIn_00[1].buf" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (puVar9 != (u8 *)0x0) goto LAB_000b6458;" if (parenthesized_expression "(puVar9 != (u8 *)0x0)" ( (binary_expression "puVar9 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if ((undefined1 *)pIn_00[1].pIn != &DAT_00000009) {\n          p_Var14 = pIn_00[1].xInput;\n          goto LAB_000b6678;\n        }" if (parenthesized_expression "((undefined1 *)pIn_00[1].pIn != &DAT_00000009)" ( (binary_expression "(undefined1 *)pIn_00[1].pIn != &DAT_00000009" (cast_expression "(undefined1 *)pIn_00[1].pIn" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIn_00[1].pIn" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) != (pointer_expression "&DAT_00000009" & identifier)) )) (compound_statement "{\n          p_Var14 = pIn_00[1].xInput;\n          goto LAB_000b6678;\n        }" { (expression_statement "p_Var14 = pIn_00[1].xInput;" (assignment_expression "p_Var14 = pIn_00[1].xInput" identifier = (field_expression "pIn_00[1].xInput" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (goto_statement "goto LAB_000b6678;" goto statement_identifier ;) })) (if_statement "if (pIn_00[1].aData == (u8 *)0x0) {\n          puVar9 = (u8 *)0x64;\n          if (pIn_00[1].nData == 0) goto LAB_000b6458;\n          puVar10 = &DAT_00000009;\n        }\n        else {\n          iVar19 = pIn_00[1].nData;\n          puVar10 = &DAT_00000009;\nLAB_000b6780:\n          puVar9 = (u8 *)0x64;\n          if (iVar19 == 0) goto LAB_000b6458;\n        }" if (parenthesized_expression "(pIn_00[1].aData == (u8 *)0x0)" ( (binary_expression "pIn_00[1].aData == (u8 *)0x0" (field_expression "pIn_00[1].aData" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) == (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar9 = (u8 *)0x64;\n          if (pIn_00[1].nData == 0) goto LAB_000b6458;\n          puVar10 = &DAT_00000009;\n        }" { (expression_statement "puVar9 = (u8 *)0x64;" (assignment_expression "puVar9 = (u8 *)0x64" identifier = (cast_expression "(u8 *)0x64" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pIn_00[1].nData == 0) goto LAB_000b6458;" if (parenthesized_expression "(pIn_00[1].nData == 0)" ( (binary_expression "pIn_00[1].nData == 0" (field_expression "pIn_00[1].nData" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) == number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "puVar10 = &DAT_00000009;" (assignment_expression "puVar10 = &DAT_00000009" identifier = (pointer_expression "&DAT_00000009" & identifier)) ;) }) (else_clause "else {\n          iVar19 = pIn_00[1].nData;\n          puVar10 = &DAT_00000009;\nLAB_000b6780:\n          puVar9 = (u8 *)0x64;\n          if (iVar19 == 0) goto LAB_000b6458;\n        }" else (compound_statement "{\n          iVar19 = pIn_00[1].nData;\n          puVar10 = &DAT_00000009;\nLAB_000b6780:\n          puVar9 = (u8 *)0x64;\n          if (iVar19 == 0) goto LAB_000b6458;\n        }" { (expression_statement "iVar19 = pIn_00[1].nData;" (assignment_expression "iVar19 = pIn_00[1].nData" identifier = (field_expression "pIn_00[1].nData" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar10 = &DAT_00000009;" (assignment_expression "puVar10 = &DAT_00000009" identifier = (pointer_expression "&DAT_00000009" & identifier)) ;) (labeled_statement "LAB_000b6780:\n          puVar9 = (u8 *)0x64;" statement_identifier : (expression_statement "puVar9 = (u8 *)0x64;" (assignment_expression "puVar9 = (u8 *)0x64" identifier = (cast_expression "(u8 *)0x64" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if (iVar19 == 0) goto LAB_000b6458;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000b6788:\n        if (puVar10 == (undefined1 *)0x12) {\n          puVar9 = (u8 *)0x64;\n          pIn_00[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }" statement_identifier : (if_statement "if (puVar10 == (undefined1 *)0x12) {\n          puVar9 = (u8 *)0x64;\n          pIn_00[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }" if (parenthesized_expression "(puVar10 == (undefined1 *)0x12)" ( (binary_expression "puVar10 == (undefined1 *)0x12" identifier == (cast_expression "(undefined1 *)0x12" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar9 = (u8 *)0x64;\n          pIn_00[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }" { (expression_statement "puVar9 = (u8 *)0x64;" (assignment_expression "puVar9 = (u8 *)0x64" identifier = (cast_expression "(u8 *)0x64" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIn_00[1].pIn = &DAT_00000009;" (assignment_expression "pIn_00[1].pIn = &DAT_00000009" (field_expression "pIn_00[1].pIn" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "&DAT_00000009" & identifier)) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) }))) (if_statement "if (puVar10 == &DAT_00000009) {\n          pIn_00[1].pIn = (void *)0x12;\n          puVar9 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }" if (parenthesized_expression "(puVar10 == &DAT_00000009)" ( (binary_expression "puVar10 == &DAT_00000009" identifier == (pointer_expression "&DAT_00000009" & identifier)) )) (compound_statement "{\n          pIn_00[1].pIn = (void *)0x12;\n          puVar9 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }" { (expression_statement "pIn_00[1].pIn = (void *)0x12;" (assignment_expression "pIn_00[1].pIn = (void *)0x12" (field_expression "pIn_00[1].pIn" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(void *)0x12" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar9 = (u8 *)0x64;" (assignment_expression "puVar9 = (u8 *)0x64" identifier = (cast_expression "(u8 *)0x64" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000b6734:\n      puVar9 = (u8 *)0x64;" statement_identifier : (expression_statement "puVar9 = (u8 *)0x64;" (assignment_expression "puVar9 = (u8 *)0x64" identifier = (cast_expression "(u8 *)0x64" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "uVar17 = 0x301e6;" (assignment_expression "uVar17 = 0x301e6" identifier = number_literal) ;) }))) (labeled_statement "LAB_000b653c:\n  (**(code **)(puVar22 + 0xdaa58))\n            (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,uVar17,\n             *(int *)(puVar22 + 0xda7d0) + 0x625c);" statement_identifier : (expression_statement "(**(code **)(puVar22 + 0xdaa58))\n            (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,uVar17,\n             *(int *)(puVar22 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(puVar22 + 0xdaa58))\n            (0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,uVar17,\n             *(int *)(puVar22 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(puVar22 + 0xdaa58))" ( (pointer_expression "**(code **)(puVar22 + 0xdaa58)" * (pointer_expression "*(code **)(puVar22 + 0xdaa58)" * (cast_expression "(code **)(puVar22 + 0xdaa58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0xdaa58)" ( (binary_expression "puVar22 + 0xdaa58" identifier + number_literal) ))))) )) (argument_list "(0xb,*(int *)(puVar22 + 0xda7d4) + -0x6378,*(int *)(puVar22 + 0xda7d4) + -0x5e64,uVar17,\n             *(int *)(puVar22 + 0xda7d0) + 0x625c)" ( number_literal , (binary_expression "*(int *)(puVar22 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(puVar22 + 0xda7d4)" * (cast_expression "(int *)(puVar22 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0xda7d4)" ( (binary_expression "puVar22 + 0xda7d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar22 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(puVar22 + 0xda7d4)" * (cast_expression "(int *)(puVar22 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0xda7d4)" ( (binary_expression "puVar22 + 0xda7d4" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(puVar22 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(puVar22 + 0xda7d0)" * (cast_expression "(int *)(puVar22 + 0xda7d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0xda7d0)" ( (binary_expression "puVar22 + 0xda7d0" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "puVar9 = (u8 *)0xb;" (assignment_expression "puVar9 = (u8 *)0xb" identifier = (cast_expression "(u8 *)0xb" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIn_00[1].buf.aBuf = (u8 *)0xb;" (assignment_expression "pIn_00[1].buf.aBuf = (u8 *)0xb" (field_expression "pIn_00[1].buf.aBuf" (field_expression "pIn_00[1].buf" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(u8 *)0xb" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000b6458:\n  while (iStack_ac != *piVar21) {\n    (**(code **)(puVar22 + 0xdac70))();\nLAB_000b6830:\n    p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\nLAB_000b65d4:\n    puVar9 = (u8 *)sessionChangesetBufferRecord(pIn_00,(int)p_Var14,pnByte);\n    pIn_00[1].buf.aBuf = puVar9;\n    if (puVar9 == (u8 *)0x0) {\n      *abPK_00 = (int)(pIn_00->aData + pIn_00->iNext);\n      pIn_00->iNext = pIn_00->iNext + *pnByte;\n      puVar9 = (u8 *)0x64;\n    }\n  }" statement_identifier : (while_statement "while (iStack_ac != *piVar21) {\n    (**(code **)(puVar22 + 0xdac70))();\nLAB_000b6830:\n    p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\nLAB_000b65d4:\n    puVar9 = (u8 *)sessionChangesetBufferRecord(pIn_00,(int)p_Var14,pnByte);\n    pIn_00[1].buf.aBuf = puVar9;\n    if (puVar9 == (u8 *)0x0) {\n      *abPK_00 = (int)(pIn_00->aData + pIn_00->iNext);\n      pIn_00->iNext = pIn_00->iNext + *pnByte;\n      puVar9 = (u8 *)0x64;\n    }\n  }" while (parenthesized_expression "(iStack_ac != *piVar21)" ( (binary_expression "iStack_ac != *piVar21" identifier != (pointer_expression "*piVar21" * identifier)) )) (compound_statement "{\n    (**(code **)(puVar22 + 0xdac70))();\nLAB_000b6830:\n    p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\nLAB_000b65d4:\n    puVar9 = (u8 *)sessionChangesetBufferRecord(pIn_00,(int)p_Var14,pnByte);\n    pIn_00[1].buf.aBuf = puVar9;\n    if (puVar9 == (u8 *)0x0) {\n      *abPK_00 = (int)(pIn_00->aData + pIn_00->iNext);\n      pIn_00->iNext = pIn_00->iNext + *pnByte;\n      puVar9 = (u8 *)0x64;\n    }\n  }" { (expression_statement "(**(code **)(puVar22 + 0xdac70))();" (call_expression "(**(code **)(puVar22 + 0xdac70))()" (parenthesized_expression "(**(code **)(puVar22 + 0xdac70))" ( (pointer_expression "**(code **)(puVar22 + 0xdac70)" * (pointer_expression "*(code **)(puVar22 + 0xdac70)" * (cast_expression "(code **)(puVar22 + 0xdac70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0xdac70)" ( (binary_expression "puVar22 + 0xdac70" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000b6830:\n    p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;" statement_identifier : (expression_statement "p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;" (assignment_expression "p_Var14 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int_ptr *)0x0" ( (type_descriptor "_func_int_void_ptr_void_ptr_int_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_000b65d4:\n    puVar9 = (u8 *)sessionChangesetBufferRecord(pIn_00,(int)p_Var14,pnByte);" statement_identifier : (expression_statement "puVar9 = (u8 *)sessionChangesetBufferRecord(pIn_00,(int)p_Var14,pnByte);" (assignment_expression "puVar9 = (u8 *)sessionChangesetBufferRecord(pIn_00,(int)p_Var14,pnByte)" identifier = (cast_expression "(u8 *)sessionChangesetBufferRecord(pIn_00,(int)p_Var14,pnByte)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionChangesetBufferRecord(pIn_00,(int)p_Var14,pnByte)" identifier (argument_list "(pIn_00,(int)p_Var14,pnByte)" ( identifier , (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))))) ;)) (expression_statement "pIn_00[1].buf.aBuf = puVar9;" (assignment_expression "pIn_00[1].buf.aBuf = puVar9" (field_expression "pIn_00[1].buf.aBuf" (field_expression "pIn_00[1].buf" (subscript_expression "pIn_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (puVar9 == (u8 *)0x0) {\n      *abPK_00 = (int)(pIn_00->aData + pIn_00->iNext);\n      pIn_00->iNext = pIn_00->iNext + *pnByte;\n      puVar9 = (u8 *)0x64;\n    }" if (parenthesized_expression "(puVar9 == (u8 *)0x0)" ( (binary_expression "puVar9 == (u8 *)0x0" identifier == (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *abPK_00 = (int)(pIn_00->aData + pIn_00->iNext);\n      pIn_00->iNext = pIn_00->iNext + *pnByte;\n      puVar9 = (u8 *)0x64;\n    }" { (expression_statement "*abPK_00 = (int)(pIn_00->aData + pIn_00->iNext);" (assignment_expression "*abPK_00 = (int)(pIn_00->aData + pIn_00->iNext)" (pointer_expression "*abPK_00" * identifier) = (cast_expression "(int)(pIn_00->aData + pIn_00->iNext)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pIn_00->aData + pIn_00->iNext)" ( (binary_expression "pIn_00->aData + pIn_00->iNext" (field_expression "pIn_00->aData" identifier -> field_identifier) + (field_expression "pIn_00->iNext" identifier -> field_identifier)) )))) ;) (expression_statement "pIn_00->iNext = pIn_00->iNext + *pnByte;" (assignment_expression "pIn_00->iNext = pIn_00->iNext + *pnByte" (field_expression "pIn_00->iNext" identifier -> field_identifier) = (binary_expression "pIn_00->iNext + *pnByte" (field_expression "pIn_00->iNext" identifier -> field_identifier) + (pointer_expression "*pnByte" * identifier))) ;) (expression_statement "puVar9 = (u8 *)0x64;" (assignment_expression "puVar9 = (u8 *)0x64" identifier = (cast_expression "(u8 *)0x64" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }))) (return_statement "return (int)puVar9;" return (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) ;) (labeled_statement "code_r0x000b6070:\n  pnByte = *(int **)pdVar12;" statement_identifier : (expression_statement "pnByte = *(int **)pdVar12;" (assignment_expression "pnByte = *(int **)pdVar12" identifier = (pointer_expression "*(int **)pdVar12" * (cast_expression "(int **)pdVar12" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;)) (expression_statement "ppsVar16 = *(sqlite3_value ***)((int)pdVar12 + 4);" (assignment_expression "ppsVar16 = *(sqlite3_value ***)((int)pdVar12 + 4)" identifier = (pointer_expression "*(sqlite3_value ***)((int)pdVar12 + 4)" * (cast_expression "(sqlite3_value ***)((int)pdVar12 + 4)" ( (type_descriptor "sqlite3_value ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pdVar12 + 4)" ( (binary_expression "(int)pdVar12 + 4" (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar23 = *pdVar12;" (assignment_expression "dVar23 = *pdVar12" identifier = (pointer_expression "*pdVar12" * identifier)) ;) (expression_statement "uVar2 = psVar7->flags;" (assignment_expression "uVar2 = psVar7->flags" identifier = (field_expression "psVar7->flags" identifier -> field_identifier)) ;) (expression_statement "abPK_00 = (int *)(uVar2 & 0x2400);" (assignment_expression "abPK_00 = (int *)(uVar2 & 0x2400)" identifier = (cast_expression "(int *)(uVar2 & 0x2400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar2 & 0x2400)" ( (binary_expression "uVar2 & 0x2400" identifier & number_literal) )))) ;) (if_statement "if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(sqlite3_value ***)((int)&psVar7->u + 4) = ppsVar16;\n      (psVar7->u).nZero = (int)pnByte;\n      psVar7->flags = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(psVar7);\n    }\n  }\n  else {\n    nByte = (int)pnByte;\n    ppsStack_3c = ppsVar16;\n    if ((uVar2 & 0x2400) == 0) {\n      psVar7->flags = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(psVar7);\n    }\n    if (!NAN(dVar23)) {\n      (psVar7->u).r = dVar23;\n      psVar7->flags = 8;\n    }\n  }" if (parenthesized_expression "(unaff_s5 == (undefined *)0x1)" ( (binary_expression "unaff_s5 == (undefined *)0x1" identifier == (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((uVar2 & 0x2400) == 0) {\n      *(sqlite3_value ***)((int)&psVar7->u + 4) = ppsVar16;\n      (psVar7->u).nZero = (int)pnByte;\n      psVar7->flags = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(psVar7);\n    }\n  }" { (if_statement "if ((uVar2 & 0x2400) == 0) {\n      *(sqlite3_value ***)((int)&psVar7->u + 4) = ppsVar16;\n      (psVar7->u).nZero = (int)pnByte;\n      psVar7->flags = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(psVar7);\n    }" if (parenthesized_expression "((uVar2 & 0x2400) == 0)" ( (binary_expression "(uVar2 & 0x2400) == 0" (parenthesized_expression "(uVar2 & 0x2400)" ( (binary_expression "uVar2 & 0x2400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      *(sqlite3_value ***)((int)&psVar7->u + 4) = ppsVar16;\n      (psVar7->u).nZero = (int)pnByte;\n      psVar7->flags = 4;\n    }" { (expression_statement "*(sqlite3_value ***)((int)&psVar7->u + 4) = ppsVar16;" (assignment_expression "*(sqlite3_value ***)((int)&psVar7->u + 4) = ppsVar16" (pointer_expression "*(sqlite3_value ***)((int)&psVar7->u + 4)" * (cast_expression "(sqlite3_value ***)((int)&psVar7->u + 4)" ( (type_descriptor "sqlite3_value ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)&psVar7->u + 4)" ( (binary_expression "(int)&psVar7->u + 4" (cast_expression "(int)&psVar7->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar7->u" & (field_expression "psVar7->u" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "(psVar7->u).nZero = (int)pnByte;" (assignment_expression "(psVar7->u).nZero = (int)pnByte" (field_expression "(psVar7->u).nZero" (parenthesized_expression "(psVar7->u)" ( (field_expression "psVar7->u" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(int)pnByte" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "psVar7->flags = 4;" (assignment_expression "psVar7->flags = 4" (field_expression "psVar7->flags" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(psVar7);\n    }" else (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(psVar7);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x20fc))(psVar7);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x20fc))(psVar7)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x20fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x20fc)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x20fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x20fc)" ( (binary_expression "PTR_LAB_00190ba8 + -0x20fc" identifier + number_literal) )))) )) (argument_list "(psVar7)" ( identifier ))) ;) }))) }) (else_clause "else {\n    nByte = (int)pnByte;\n    ppsStack_3c = ppsVar16;\n    if ((uVar2 & 0x2400) == 0) {\n      psVar7->flags = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(psVar7);\n    }\n    if (!NAN(dVar23)) {\n      (psVar7->u).r = dVar23;\n      psVar7->flags = 8;\n    }\n  }" else (compound_statement "{\n    nByte = (int)pnByte;\n    ppsStack_3c = ppsVar16;\n    if ((uVar2 & 0x2400) == 0) {\n      psVar7->flags = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(psVar7);\n    }\n    if (!NAN(dVar23)) {\n      (psVar7->u).r = dVar23;\n      psVar7->flags = 8;\n    }\n  }" { (expression_statement "nByte = (int)pnByte;" (assignment_expression "nByte = (int)pnByte" identifier = (cast_expression "(int)pnByte" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ppsStack_3c = ppsVar16;" (assignment_expression "ppsStack_3c = ppsVar16" identifier = identifier) ;) (if_statement "if ((uVar2 & 0x2400) == 0) {\n      psVar7->flags = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(psVar7);\n    }" if (parenthesized_expression "((uVar2 & 0x2400) == 0)" ( (binary_expression "(uVar2 & 0x2400) == 0" (parenthesized_expression "(uVar2 & 0x2400)" ( (binary_expression "uVar2 & 0x2400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      psVar7->flags = 1;\n    }" { (expression_statement "psVar7->flags = 1;" (assignment_expression "psVar7->flags = 1" (field_expression "psVar7->flags" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(psVar7);\n    }" else (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(psVar7);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x2170))(psVar7);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2170))(psVar7)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2170))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2170)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2170)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2170)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2170" identifier + number_literal) )))) )) (argument_list "(psVar7)" ( identifier ))) ;) }))) (if_statement "if (!NAN(dVar23)) {\n      (psVar7->u).r = dVar23;\n      psVar7->flags = 8;\n    }" if (parenthesized_expression "(!NAN(dVar23))" ( (unary_expression "!NAN(dVar23)" ! (call_expression "NAN(dVar23)" identifier (argument_list "(dVar23)" ( identifier )))) )) (compound_statement "{\n      (psVar7->u).r = dVar23;\n      psVar7->flags = 8;\n    }" { (expression_statement "(psVar7->u).r = dVar23;" (assignment_expression "(psVar7->u).r = dVar23" (field_expression "(psVar7->u).r" (parenthesized_expression "(psVar7->u)" ( (field_expression "psVar7->u" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "psVar7->flags = 8;" (assignment_expression "psVar7->flags = 8" (field_expression "psVar7->flags" identifier -> field_identifier) = number_literal) ;) })) }))) (expression_statement "unaff_s4 = (sqlite3_value **)(uint)(iVar19 < nCol);" (assignment_expression "unaff_s4 = (sqlite3_value **)(uint)(iVar19 < nCol)" identifier = (cast_expression "(sqlite3_value **)(uint)(iVar19 < nCol)" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(uint)(iVar19 < nCol)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar19 < nCol)" ( (binary_expression "iVar19 < nCol" identifier < identifier) ))))) ;) (expression_statement "pIn->iNext = pIn->iNext + 8;" (assignment_expression "pIn->iNext = pIn->iNext + 8" (field_expression "pIn->iNext" identifier -> field_identifier) = (binary_expression "pIn->iNext + 8" (field_expression "pIn->iNext" identifier -> field_identifier) + number_literal)) ;) (if_statement "if (unaff_s4 == (sqlite3_value **)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar19;\n    goto LAB_000b5de4;\n  }" if (parenthesized_expression "(unaff_s4 == (sqlite3_value **)0x0)" ( (binary_expression "unaff_s4 == (sqlite3_value **)0x0" identifier == (cast_expression "(sqlite3_value **)0x0" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    iVar6 = 0;\n    unaff_s7 = iVar19;\n    goto LAB_000b5de4;\n  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "unaff_s7 = iVar19;" (assignment_expression "unaff_s7 = iVar19" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (goto_statement "goto LAB_000b5dac;" goto statement_identifier ;) })))
(translation_unit "int FUN_000b5d20(int param_1,int *param_2,int *param_3,undefined4 *param_4)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  double *pdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *pdVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  int *piVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 uVar18;\n  int iVar19;\n  int iVar20;\n  int *unaff_s0;\n  undefined *unaff_s1;\n  int *unaff_s2;\n  int iVar21;\n  int *unaff_s3;\n  int iVar22;\n  int *unaff_s4;\n  int *piVar23;\n  undefined *unaff_s5;\n  int unaff_s7;\n  undefined *puVar24;\n  int unaff_s8;\n  double dVar25;\n  int iStack_b4;\n  int iStack_b0;\n  int iStack_ac;\n  int *piStack_a8;\n  undefined *puStack_a4;\n  int *piStack_a0;\n  int *piStack_9c;\n  int *piStack_98;\n  undefined *puStack_94;\n  undefined *puStack_90;\n  int iStack_8c;\n  int iStack_88;\n  code *pcStack_84;\n  undefined *local_70;\n  int *local_40;\n  undefined4 *local_3c;\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar24 = PTR_LAB_00190bc0;\n  local_34 = *(int *)PTR___stack_chk_guard_00190e24;\n  piVar13 = param_2;\n  piVar14 = param_3;\n  puVar17 = param_4;\n  if (0 < (int)param_2) {\n    iVar20 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = (int *)0x1;\n    unaff_s7 = iVar20;\nLAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }\n    piVar13 = (int *)&DAT_00000009;\n    iVar6 = FUN_000b57e0(param_1);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar20 = *(int *)(param_1 + 8);\n    piVar13 = (int *)(iVar20 + 1);\n    if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    *(int **)(param_1 + 8) = piVar13;\n    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);\n    if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = param_3;\n    unaff_s2 = param_2;\n    unaff_s8 = param_1;\n    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  iVar6 = 0;\n  param_3 = unaff_s0;\n  param_2 = unaff_s2;\n  param_1 = unaff_s8;\nLAB_000b5de4:\n  if (local_34 == *(int *)puVar3) {\n    return iVar6;\n  }\n  pcVar4 = FUN_000b6188;\n  iVar20 = local_34;\n  puVar24 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_90 = puVar3;\n  piVar23 = *(int **)(puVar24 + 0xdac9c);\n  iVar6 = *(int *)(iVar20 + 0x5c);\n  iStack_ac = *piVar23;\n  piStack_a8 = param_3;\n  puStack_a4 = unaff_s1;\n  piStack_a0 = param_2;\n  piStack_9c = unaff_s3;\n  piStack_98 = unaff_s4;\n  puStack_94 = unaff_s5;\n  iStack_8c = unaff_s7;\n  iStack_88 = param_1;\n  pcStack_84 = pcVar4;\n  if (iVar6 != 0) {\n    iVar16 = *(int *)(iVar20 + 0x4c);\n    iVar21 = 0;\n    if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }\n    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);\n  }\n  iVar6 = FUN_000b57e0(iVar20,2);\n  *(int *)(iVar20 + 0x40) = iVar6;\n  if (iVar6 != 0) goto LAB_000b6458;\n  if (*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)) {\nLAB_000b6494:\n    iVar6 = 0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20);\n  iVar6 = *(int *)(iVar20 + 8);\n  iVar16 = *(int *)(iVar20 + 0xc);\n  iVar21 = *(int *)(puVar24 + 0xdaa20);\n  *(int *)(iVar20 + 4) = iVar6;\n  *(int *)(iVar20 + 8) = iVar6 + 1;\n  bVar1 = *(byte *)(iVar16 + iVar6);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }\n    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);\n    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);\n    if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar20 + 0x30) = 0;\n    iStack_b0 = iStack_b0 - iVar6;\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;\n    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);\n    if (iStack_b4 != 0) goto LAB_000b6434;\n    iVar6 = *(int *)(iVar20 + 0x4c) * 8;\n    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);\n    (**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);\n    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n    *(int *)(iVar20 + 0x58) = iVar6;\n    *(int *)(iVar20 + 0x40) = iStack_b4;\n    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;\n    iVar6 = iStack_b4;\n    if (iStack_b4 != 0) goto LAB_000b6458;\n    iVar6 = FUN_000b57e0(iVar20,2);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 != 0) goto LAB_000b6458;\n    iVar6 = *(int *)(iVar20 + 8);\n    *(int *)(iVar20 + 4) = iVar6;\n    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;\n    iVar16 = *(int *)(iVar20 + 0xc);\n    *(int *)(iVar20 + 8) = iVar6 + 1;\n    bVar1 = *(byte *)(iVar16 + iVar6);\n  }\n  if ((*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c);\n  iVar6 = 0xb;\n  *(undefined4 *)(iVar20 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_ac != *piVar23) {\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }\n  return iVar6;\ncode_r0x000b6070:\n  piVar14 = *(int **)pdVar10;\n  puVar17 = *(undefined4 **)((int)pdVar10 + 4);\n  dVar25 = *pdVar10;\n  uVar2 = *(ushort *)(pdVar7 + 1);\n  piVar13 = (int *)(uVar2 & 0x2400);\n  if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }\n  }\n  else {\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }\n  unaff_s4 = (int *)(uint)(iVar20 < (int)param_2);\n  *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8;\n  if (unaff_s4 == (int *)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar20;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}\n\n" (function_definition "int FUN_000b5d20(int param_1,int *param_2,int *param_3,undefined4 *param_4)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  double *pdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *pdVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  int *piVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 uVar18;\n  int iVar19;\n  int iVar20;\n  int *unaff_s0;\n  undefined *unaff_s1;\n  int *unaff_s2;\n  int iVar21;\n  int *unaff_s3;\n  int iVar22;\n  int *unaff_s4;\n  int *piVar23;\n  undefined *unaff_s5;\n  int unaff_s7;\n  undefined *puVar24;\n  int unaff_s8;\n  double dVar25;\n  int iStack_b4;\n  int iStack_b0;\n  int iStack_ac;\n  int *piStack_a8;\n  undefined *puStack_a4;\n  int *piStack_a0;\n  int *piStack_9c;\n  int *piStack_98;\n  undefined *puStack_94;\n  undefined *puStack_90;\n  int iStack_8c;\n  int iStack_88;\n  code *pcStack_84;\n  undefined *local_70;\n  int *local_40;\n  undefined4 *local_3c;\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar24 = PTR_LAB_00190bc0;\n  local_34 = *(int *)PTR___stack_chk_guard_00190e24;\n  piVar13 = param_2;\n  piVar14 = param_3;\n  puVar17 = param_4;\n  if (0 < (int)param_2) {\n    iVar20 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = (int *)0x1;\n    unaff_s7 = iVar20;\nLAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }\n    piVar13 = (int *)&DAT_00000009;\n    iVar6 = FUN_000b57e0(param_1);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar20 = *(int *)(param_1 + 8);\n    piVar13 = (int *)(iVar20 + 1);\n    if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    *(int **)(param_1 + 8) = piVar13;\n    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);\n    if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = param_3;\n    unaff_s2 = param_2;\n    unaff_s8 = param_1;\n    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  iVar6 = 0;\n  param_3 = unaff_s0;\n  param_2 = unaff_s2;\n  param_1 = unaff_s8;\nLAB_000b5de4:\n  if (local_34 == *(int *)puVar3) {\n    return iVar6;\n  }\n  pcVar4 = FUN_000b6188;\n  iVar20 = local_34;\n  puVar24 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_90 = puVar3;\n  piVar23 = *(int **)(puVar24 + 0xdac9c);\n  iVar6 = *(int *)(iVar20 + 0x5c);\n  iStack_ac = *piVar23;\n  piStack_a8 = param_3;\n  puStack_a4 = unaff_s1;\n  piStack_a0 = param_2;\n  piStack_9c = unaff_s3;\n  piStack_98 = unaff_s4;\n  puStack_94 = unaff_s5;\n  iStack_8c = unaff_s7;\n  iStack_88 = param_1;\n  pcStack_84 = pcVar4;\n  if (iVar6 != 0) {\n    iVar16 = *(int *)(iVar20 + 0x4c);\n    iVar21 = 0;\n    if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }\n    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);\n  }\n  iVar6 = FUN_000b57e0(iVar20,2);\n  *(int *)(iVar20 + 0x40) = iVar6;\n  if (iVar6 != 0) goto LAB_000b6458;\n  if (*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)) {\nLAB_000b6494:\n    iVar6 = 0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20);\n  iVar6 = *(int *)(iVar20 + 8);\n  iVar16 = *(int *)(iVar20 + 0xc);\n  iVar21 = *(int *)(puVar24 + 0xdaa20);\n  *(int *)(iVar20 + 4) = iVar6;\n  *(int *)(iVar20 + 8) = iVar6 + 1;\n  bVar1 = *(byte *)(iVar16 + iVar6);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }\n    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);\n    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);\n    if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar20 + 0x30) = 0;\n    iStack_b0 = iStack_b0 - iVar6;\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;\n    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);\n    if (iStack_b4 != 0) goto LAB_000b6434;\n    iVar6 = *(int *)(iVar20 + 0x4c) * 8;\n    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);\n    (**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);\n    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n    *(int *)(iVar20 + 0x58) = iVar6;\n    *(int *)(iVar20 + 0x40) = iStack_b4;\n    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;\n    iVar6 = iStack_b4;\n    if (iStack_b4 != 0) goto LAB_000b6458;\n    iVar6 = FUN_000b57e0(iVar20,2);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 != 0) goto LAB_000b6458;\n    iVar6 = *(int *)(iVar20 + 8);\n    *(int *)(iVar20 + 4) = iVar6;\n    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;\n    iVar16 = *(int *)(iVar20 + 0xc);\n    *(int *)(iVar20 + 8) = iVar6 + 1;\n    bVar1 = *(byte *)(iVar16 + iVar6);\n  }\n  if ((*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c);\n  iVar6 = 0xb;\n  *(undefined4 *)(iVar20 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_ac != *piVar23) {\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }\n  return iVar6;\ncode_r0x000b6070:\n  piVar14 = *(int **)pdVar10;\n  puVar17 = *(undefined4 **)((int)pdVar10 + 4);\n  dVar25 = *pdVar10;\n  uVar2 = *(ushort *)(pdVar7 + 1);\n  piVar13 = (int *)(uVar2 & 0x2400);\n  if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }\n  }\n  else {\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }\n  unaff_s4 = (int *)(uint)(iVar20 < (int)param_2);\n  *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8;\n  if (unaff_s4 == (int *)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar20;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" primitive_type (function_declarator "FUN_000b5d20(int param_1,int *param_2,int *param_3,undefined4 *param_4)" identifier (parameter_list "(int param_1,int *param_2,int *param_3,undefined4 *param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  double *pdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *pdVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  int *piVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 uVar18;\n  int iVar19;\n  int iVar20;\n  int *unaff_s0;\n  undefined *unaff_s1;\n  int *unaff_s2;\n  int iVar21;\n  int *unaff_s3;\n  int iVar22;\n  int *unaff_s4;\n  int *piVar23;\n  undefined *unaff_s5;\n  int unaff_s7;\n  undefined *puVar24;\n  int unaff_s8;\n  double dVar25;\n  int iStack_b4;\n  int iStack_b0;\n  int iStack_ac;\n  int *piStack_a8;\n  undefined *puStack_a4;\n  int *piStack_a0;\n  int *piStack_9c;\n  int *piStack_98;\n  undefined *puStack_94;\n  undefined *puStack_90;\n  int iStack_8c;\n  int iStack_88;\n  code *pcStack_84;\n  undefined *local_70;\n  int *local_40;\n  undefined4 *local_3c;\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar24 = PTR_LAB_00190bc0;\n  local_34 = *(int *)PTR___stack_chk_guard_00190e24;\n  piVar13 = param_2;\n  piVar14 = param_3;\n  puVar17 = param_4;\n  if (0 < (int)param_2) {\n    iVar20 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = (int *)0x1;\n    unaff_s7 = iVar20;\nLAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }\n    piVar13 = (int *)&DAT_00000009;\n    iVar6 = FUN_000b57e0(param_1);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar20 = *(int *)(param_1 + 8);\n    piVar13 = (int *)(iVar20 + 1);\n    if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    *(int **)(param_1 + 8) = piVar13;\n    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);\n    if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = param_3;\n    unaff_s2 = param_2;\n    unaff_s8 = param_1;\n    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  iVar6 = 0;\n  param_3 = unaff_s0;\n  param_2 = unaff_s2;\n  param_1 = unaff_s8;\nLAB_000b5de4:\n  if (local_34 == *(int *)puVar3) {\n    return iVar6;\n  }\n  pcVar4 = FUN_000b6188;\n  iVar20 = local_34;\n  puVar24 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_90 = puVar3;\n  piVar23 = *(int **)(puVar24 + 0xdac9c);\n  iVar6 = *(int *)(iVar20 + 0x5c);\n  iStack_ac = *piVar23;\n  piStack_a8 = param_3;\n  puStack_a4 = unaff_s1;\n  piStack_a0 = param_2;\n  piStack_9c = unaff_s3;\n  piStack_98 = unaff_s4;\n  puStack_94 = unaff_s5;\n  iStack_8c = unaff_s7;\n  iStack_88 = param_1;\n  pcStack_84 = pcVar4;\n  if (iVar6 != 0) {\n    iVar16 = *(int *)(iVar20 + 0x4c);\n    iVar21 = 0;\n    if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }\n    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);\n  }\n  iVar6 = FUN_000b57e0(iVar20,2);\n  *(int *)(iVar20 + 0x40) = iVar6;\n  if (iVar6 != 0) goto LAB_000b6458;\n  if (*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)) {\nLAB_000b6494:\n    iVar6 = 0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20);\n  iVar6 = *(int *)(iVar20 + 8);\n  iVar16 = *(int *)(iVar20 + 0xc);\n  iVar21 = *(int *)(puVar24 + 0xdaa20);\n  *(int *)(iVar20 + 4) = iVar6;\n  *(int *)(iVar20 + 8) = iVar6 + 1;\n  bVar1 = *(byte *)(iVar16 + iVar6);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }\n    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);\n    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);\n    if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar20 + 0x30) = 0;\n    iStack_b0 = iStack_b0 - iVar6;\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;\n    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);\n    if (iStack_b4 != 0) goto LAB_000b6434;\n    iVar6 = *(int *)(iVar20 + 0x4c) * 8;\n    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);\n    (**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);\n    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n    *(int *)(iVar20 + 0x58) = iVar6;\n    *(int *)(iVar20 + 0x40) = iStack_b4;\n    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;\n    iVar6 = iStack_b4;\n    if (iStack_b4 != 0) goto LAB_000b6458;\n    iVar6 = FUN_000b57e0(iVar20,2);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 != 0) goto LAB_000b6458;\n    iVar6 = *(int *)(iVar20 + 8);\n    *(int *)(iVar20 + 4) = iVar6;\n    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;\n    iVar16 = *(int *)(iVar20 + 0xc);\n    *(int *)(iVar20 + 8) = iVar6 + 1;\n    bVar1 = *(byte *)(iVar16 + iVar6);\n  }\n  if ((*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c);\n  iVar6 = 0xb;\n  *(undefined4 *)(iVar20 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_ac != *piVar23) {\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }\n  return iVar6;\ncode_r0x000b6070:\n  piVar14 = *(int **)pdVar10;\n  puVar17 = *(undefined4 **)((int)pdVar10 + 4);\n  dVar25 = *pdVar10;\n  uVar2 = *(ushort *)(pdVar7 + 1);\n  piVar13 = (int *)(uVar2 & 0x2400);\n  if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }\n  }\n  else {\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }\n  unaff_s4 = (int *)(uint)(iVar20 < (int)param_2);\n  *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8;\n  if (unaff_s4 == (int *)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar20;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "double *pdVar7;" primitive_type (pointer_declarator "*pdVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "double *pdVar10;" primitive_type (pointer_declarator "*pdVar10" * identifier) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int *unaff_s0;" primitive_type (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "undefined *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int *unaff_s2;" primitive_type (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int *unaff_s3;" primitive_type (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int *unaff_s4;" primitive_type (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int unaff_s7;" primitive_type identifier ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "int unaff_s8;" primitive_type identifier ;) (declaration "double dVar25;" primitive_type identifier ;) (declaration "int iStack_b4;" primitive_type identifier ;) (declaration "int iStack_b0;" primitive_type identifier ;) (declaration "int iStack_ac;" primitive_type identifier ;) (declaration "int *piStack_a8;" primitive_type (pointer_declarator "*piStack_a8" * identifier) ;) (declaration "undefined *puStack_a4;" type_identifier (pointer_declarator "*puStack_a4" * identifier) ;) (declaration "int *piStack_a0;" primitive_type (pointer_declarator "*piStack_a0" * identifier) ;) (declaration "int *piStack_9c;" primitive_type (pointer_declarator "*piStack_9c" * identifier) ;) (declaration "int *piStack_98;" primitive_type (pointer_declarator "*piStack_98" * identifier) ;) (declaration "undefined *puStack_94;" type_identifier (pointer_declarator "*puStack_94" * identifier) ;) (declaration "undefined *puStack_90;" type_identifier (pointer_declarator "*puStack_90" * identifier) ;) (declaration "int iStack_8c;" primitive_type identifier ;) (declaration "int iStack_88;" primitive_type identifier ;) (declaration "code *pcStack_84;" type_identifier (pointer_declarator "*pcStack_84" * identifier) ;) (declaration "undefined *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "int *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined4 *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar3 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "puVar24 = PTR_LAB_00190bc0;" (assignment_expression "puVar24 = PTR_LAB_00190bc0" identifier = identifier) ;) (expression_statement "local_34 = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_34 = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar13 = param_2;" (assignment_expression "piVar13 = param_2" identifier = identifier) ;) (expression_statement "piVar14 = param_3;" (assignment_expression "piVar14 = param_3" identifier = identifier) ;) (expression_statement "puVar17 = param_4;" (assignment_expression "puVar17 = param_4" identifier = identifier) ;) (if_statement "if (0 < (int)param_2) {\n    iVar20 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = (int *)0x1;\n    unaff_s7 = iVar20;\nLAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }\n    piVar13 = (int *)&DAT_00000009;\n    iVar6 = FUN_000b57e0(param_1);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar20 = *(int *)(param_1 + 8);\n    piVar13 = (int *)(iVar20 + 1);\n    if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    *(int **)(param_1 + 8) = piVar13;\n    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);\n    if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = param_3;\n    unaff_s2 = param_2;\n    unaff_s8 = param_1;\n    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" if (parenthesized_expression "(0 < (int)param_2)" ( (binary_expression "0 < (int)param_2" number_literal < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    iVar20 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = (int *)0x1;\n    unaff_s7 = iVar20;\nLAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }\n    piVar13 = (int *)&DAT_00000009;\n    iVar6 = FUN_000b57e0(param_1);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar20 = *(int *)(param_1 + 8);\n    piVar13 = (int *)(iVar20 + 1);\n    if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    *(int **)(param_1 + 8) = piVar13;\n    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);\n    if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = param_3;\n    unaff_s2 = param_2;\n    unaff_s8 = param_1;\n    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" { (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x924)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x924)" ( (binary_expression "PTR_LAB_00190ba8 + 0x924" identifier + number_literal) )))) ;) (expression_statement "pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);" (assignment_expression "pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2b48)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2b48" identifier + number_literal) )))) ;) (expression_statement "unaff_s1 = PTR_LAB_00190c2c + 0x57e0;" (assignment_expression "unaff_s1 = PTR_LAB_00190c2c + 0x57e0" identifier = (binary_expression "PTR_LAB_00190c2c + 0x57e0" identifier + number_literal)) ;) (expression_statement "unaff_s5 = PTR_LAB_00190ba8;" (assignment_expression "unaff_s5 = PTR_LAB_00190ba8" identifier = identifier) ;) (labeled_statement "LAB_000b5dac:\n    unaff_s3 = (int *)0x1;" statement_identifier : (expression_statement "unaff_s3 = (int *)0x1;" (assignment_expression "unaff_s3 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "unaff_s7 = iVar20;" (assignment_expression "unaff_s7 = iVar20" identifier = identifier) ;) (labeled_statement "LAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }" statement_identifier : (while_statement "while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }" while (parenthesized_expression "((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0')))" ( (parenthesized_expression "(param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))" ( (binary_expression "param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0')" (binary_expression "param_3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(*(char *)((int)param_3 + unaff_s7) == '\0')" ( (binary_expression "*(char *)((int)param_3 + unaff_s7) == '\0'" (pointer_expression "*(char *)((int)param_3 + unaff_s7)" * (cast_expression "(char *)((int)param_3 + unaff_s7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + unaff_s7)" ( (binary_expression "(int)param_3 + unaff_s7" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) )) (compound_statement "{\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }" { (expression_statement "unaff_s7 = unaff_s7 + 1;" (assignment_expression "unaff_s7 = unaff_s7 + 1" identifier = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;" if (parenthesized_expression "((int)param_2 <= unaff_s7)" ( (binary_expression "(int)param_2 <= unaff_s7" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) }))) (expression_statement "piVar13 = (int *)&DAT_00000009;" (assignment_expression "piVar13 = (int *)&DAT_00000009" identifier = (cast_expression "(int *)&DAT_00000009" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) ;) (expression_statement "iVar6 = FUN_000b57e0(param_1);" (assignment_expression "iVar6 = FUN_000b57e0(param_1)" identifier = (call_expression "FUN_000b57e0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) goto LAB_000b5de4;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) (expression_statement "iVar20 = *(int *)(param_1 + 8);" (assignment_expression "iVar20 = *(int *)(param_1 + 8)" identifier = (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "piVar13 = (int *)(iVar20 + 1);" (assignment_expression "piVar13 = (int *)(iVar20 + 1)" identifier = (cast_expression "(int *)(iVar20 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 1)" ( (binary_expression "iVar20 + 1" identifier + number_literal) )))) ;) (if_statement "if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x10) <= iVar20)" ( (binary_expression "*(int *)(param_1 + 0x10) <= iVar20" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }" { (expression_statement "puVar17 = (undefined4 *)&DAT_000300ea;" (assignment_expression "puVar17 = (undefined4 *)&DAT_000300ea" identifier = (cast_expression "(undefined4 *)&DAT_000300ea" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000300ea" & identifier))) ;) (labeled_statement "LAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;" statement_identifier : (expression_statement "local_70 = PTR_LAB_00190958 + 0x625c;" (assignment_expression "local_70 = PTR_LAB_00190958 + 0x625c" identifier = (binary_expression "PTR_LAB_00190958 + 0x625c" identifier + number_literal)) ;)) (expression_statement "piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);" (assignment_expression "piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" identifier = (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64" identifier + number_literal) )))) ;) (expression_statement "piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);" (assignment_expression "piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" identifier = (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_sqlite3_log_00190be0)(0xb);" (call_expression "(*(code *)PTR_sqlite3_log_00190be0)(0xb)" (parenthesized_expression "(*(code *)PTR_sqlite3_log_00190be0)" ( (pointer_expression "*(code *)PTR_sqlite3_log_00190be0" * (cast_expression "(code *)PTR_sqlite3_log_00190be0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "iVar6 = 0xb;" (assignment_expression "iVar6 = 0xb" identifier = number_literal) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "*(int **)(param_1 + 8) = piVar13;" (assignment_expression "*(int **)(param_1 + 8) = piVar13" (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);" (assignment_expression "unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20)" identifier = (binary_expression "(undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20)" (cast_expression "(undefined *)(uint)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(*(int *)(param_1 + 0xc) + iVar20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0xc) + iVar20)" ( (binary_expression "*(int *)(param_1 + 0xc) + iVar20" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) + identifier) ))))) ;) (if_statement "if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }" if (parenthesized_expression "(unaff_s5 != (undefined *)0x0)" ( (binary_expression "unaff_s5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }" { (expression_statement "puVar17 = (undefined4 *)&DAT_00000028;" (assignment_expression "puVar17 = (undefined4 *)&DAT_00000028" identifier = (cast_expression "(undefined4 *)&DAT_00000028" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000028" & identifier))) ;) (expression_statement "piVar14 = (int *)0x0;" (assignment_expression "piVar14 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s4 = param_4 + unaff_s7;" (assignment_expression "unaff_s4 = param_4 + unaff_s7" identifier = (binary_expression "param_4 + unaff_s7" identifier + identifier)) ;) (expression_statement "pdVar7 = (double *)(*pcVar4)(0);" (assignment_expression "pdVar7 = (double *)(*pcVar4)(0)" identifier = (cast_expression "(double *)(*pcVar4)(0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar4)(0)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }" if (parenthesized_expression "(pdVar7 == (double *)0x0)" ( (binary_expression "pdVar7 == (double *)0x0" identifier == (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }" { (expression_statement "iVar6 = 7;" (assignment_expression "iVar6 = 7" identifier = number_literal) ;) (expression_statement "*unaff_s4 = 0;" (assignment_expression "*unaff_s4 = 0" (pointer_expression "*unaff_s4" * identifier) = number_literal) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "*(undefined2 *)(pdVar7 + 1) = 1;" (assignment_expression "*(undefined2 *)(pdVar7 + 1) = 1" (pointer_expression "*(undefined2 *)(pdVar7 + 1)" * (cast_expression "(undefined2 *)(pdVar7 + 1)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar7 + 1)" ( (binary_expression "pdVar7 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(pdVar7 + 4) = 0;" (assignment_expression "*(undefined4 *)(pdVar7 + 4) = 0" (pointer_expression "*(undefined4 *)(pdVar7 + 4)" * (cast_expression "(undefined4 *)(pdVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar7 + 4)" ( (binary_expression "pdVar7 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*unaff_s4 = (int)pdVar7;" (assignment_expression "*unaff_s4 = (int)pdVar7" (pointer_expression "*unaff_s4" * identifier) = (cast_expression "(int)pdVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar14 = *(int **)(param_1 + 8);" (assignment_expression "piVar14 = *(int **)(param_1 + 8)" identifier = (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);" (assignment_expression "pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14)" identifier = (cast_expression "(double *)(*(int *)(param_1 + 0xc) + (int)piVar14)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0xc) + (int)piVar14)" ( (binary_expression "*(int *)(param_1 + 0xc) + (int)piVar14" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) + (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }" if (parenthesized_expression "(unaff_s5 + -3 < (undefined *)0x2)" ( (binary_expression "unaff_s5 + -3 < (undefined *)0x2" (binary_expression "unaff_s5 + -3" identifier + number_literal) < (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }" { (if_statement "if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }" if (parenthesized_expression "((char)*(byte *)pdVar10 < '\0')" ( (binary_expression "(char)*(byte *)pdVar10 < '\0'" (cast_expression "(char)*(byte *)pdVar10" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)pdVar10" * (cast_expression "(byte *)pdVar10" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }" { (expression_statement "iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);" (assignment_expression "iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x3388))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x3388)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x3388)" ( (binary_expression "PTR_LAB_00190ba8 + 0x3388" identifier + number_literal) )))) )) (argument_list "(pdVar10,&local_40)" ( identifier , (pointer_expression "&local_40" & identifier) )))) ;) (expression_statement "piVar14 = *(int **)(param_1 + 8);" (assignment_expression "piVar14 = *(int **)(param_1 + 8)" identifier = (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }" else (compound_statement "{\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }" { (expression_statement "iVar20 = 1;" (assignment_expression "iVar20 = 1" identifier = number_literal) ;) (expression_statement "local_40 = (int *)(uint)*(byte *)pdVar10;" (assignment_expression "local_40 = (int *)(uint)*(byte *)pdVar10" identifier = (binary_expression "(int *)(uint)*(byte *)pdVar10" (cast_expression "(int *)(uint)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)pdVar10" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (expression_statement "*(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);" (assignment_expression "*(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14)" (pointer_expression "*(undefined1 **)(param_1 + 8)" * (cast_expression "(undefined1 **)(param_1 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = (cast_expression "(undefined1 *)(iVar20 + (int)piVar14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + (int)piVar14)" ( (binary_expression "iVar20 + (int)piVar14" identifier + (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar13 = local_40;" (assignment_expression "piVar13 = local_40" identifier = identifier) ;) (expression_statement "iVar6 = FUN_000b57e0(param_1);" (assignment_expression "iVar6 = FUN_000b57e0(param_1)" identifier = (call_expression "FUN_000b57e0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "piVar23 = local_40;" (assignment_expression "piVar23 = local_40" identifier = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000b5de4;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) (expression_statement "puVar17 = (undefined4 *)&DAT_00030000;" (assignment_expression "puVar17 = (undefined4 *)&DAT_00030000" identifier = (cast_expression "(undefined4 *)&DAT_00030000" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00030000" & identifier))) ;) (if_statement "if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }" if (parenthesized_expression "(((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40))" ( (binary_expression "((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)" (parenthesized_expression "((int)local_40 < 0)" ( (binary_expression "(int)local_40 < 0" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)" ( (comma_expression "piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40" (assignment_expression "piVar15 = *(int **)(param_1 + 8)" identifier = (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) , (binary_expression "*(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40" (binary_expression "*(int *)(param_1 + 0x10) - (int)piVar15" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) - (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }" { (expression_statement "puVar17 = (undefined4 *)&DAT_000300fd;" (assignment_expression "puVar17 = (undefined4 *)&DAT_000300fd" identifier = (cast_expression "(undefined4 *)&DAT_000300fd" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000300fd" & identifier))) ;) (expression_statement "unaff_s3 = local_40;" (assignment_expression "unaff_s3 = local_40" identifier = identifier) ;) (goto_statement "goto LAB_000b5e90;" goto statement_identifier ;) })) (expression_statement "iVar20 = *unaff_s4;" (assignment_expression "iVar20 = *unaff_s4" identifier = (pointer_expression "*unaff_s4" * identifier)) ;) (expression_statement "unaff_s4 = *(int **)(param_1 + 0xc);" (assignment_expression "unaff_s4 = *(int **)(param_1 + 0xc)" identifier = (pointer_expression "*(int **)(param_1 + 0xc)" * (cast_expression "(int **)(param_1 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();" (assignment_expression "iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)()" identifier = (call_expression "(*(code *)PTR_sqlite3_initialize_00190b88)()" (parenthesized_expression "(*(code *)PTR_sqlite3_initialize_00190b88)" ( (pointer_expression "*(code *)PTR_sqlite3_initialize_00190b88" * (cast_expression "(code *)PTR_sqlite3_initialize_00190b88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "piVar14 = piVar15;" (assignment_expression "piVar14 = piVar15" identifier = identifier) ;) (expression_statement "unaff_s3 = piVar23;" (assignment_expression "unaff_s3 = piVar23" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }" { (expression_statement "piVar13 = (int *)((int)piVar23 + 1);" (assignment_expression "piVar13 = (int *)((int)piVar23 + 1)" identifier = (cast_expression "(int *)((int)piVar23 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar23 + 1)" ( (binary_expression "(int)piVar23 + 1" (cast_expression "(int)piVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));" (assignment_expression "iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f))" identifier = (call_expression "(*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f))" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f))" ( (binary_expression "(uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f)" (call_expression "(uint)(piVar13 < piVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar13 < piVar23)" ( (binary_expression "piVar13 < piVar23" identifier < identifier) ))) + (parenthesized_expression "((int)piVar23 >> 0x1f)" ( (binary_expression "(int)piVar23 >> 0x1f" (cast_expression "(int)piVar23" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (if_statement "if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }" { (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" identifier = identifier) ;) (expression_statement "uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));" (assignment_expression "uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15))" identifier = (call_expression "(*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15))" (parenthesized_expression "(*(code *)PTR_memcpy_00190e2c)" ( (pointer_expression "*(code *)PTR_memcpy_00190e2c" * (cast_expression "(code *)PTR_memcpy_00190e2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15))" ( identifier , (cast_expression "(undefined1 *)((int)unaff_s4 + (int)piVar15)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + (int)piVar15)" ( (binary_expression "(int)unaff_s4 + (int)piVar15" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }" { (expression_statement "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);" (assignment_expression "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" (pointer_expression "*(undefined1 **)(param_1 + 8)" * (cast_expression "(undefined1 **)(param_1 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = (cast_expression "(undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 8) + (int)local_40)" ( (binary_expression "*(int *)(param_1 + 8) + (int)local_40" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) + (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar13 = local_40;" (assignment_expression "piVar13 = local_40" identifier = identifier) ;) }) (else_clause "else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }" else (compound_statement "{\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }" { (expression_statement "puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);" (assignment_expression "puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3)" identifier = (cast_expression "(undefined4 *)(uint)(unaff_s5 == (undefined *)0x3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(unaff_s5 == (undefined *)0x3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s5 == (undefined *)0x3)" ( (binary_expression "unaff_s5 == (undefined *)0x3" identifier == (cast_expression "(undefined *)0x3" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (expression_statement "local_70 = PTR_sqlite3_free_0019096c;" (assignment_expression "local_70 = PTR_sqlite3_free_0019096c" identifier = identifier) ;) (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" identifier = identifier) ;) (expression_statement "(*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);" (call_expression "(*(code *)(puVar24 + -0x2aec))(iVar20,uVar18)" (parenthesized_expression "(*(code *)(puVar24 + -0x2aec))" ( (pointer_expression "*(code *)(puVar24 + -0x2aec)" * (cast_expression "(code *)(puVar24 + -0x2aec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + -0x2aec)" ( (binary_expression "puVar24 + -0x2aec" identifier + number_literal) )))) )) (argument_list "(iVar20,uVar18)" ( identifier , identifier ))) ;) (expression_statement "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);" (assignment_expression "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" (pointer_expression "*(undefined1 **)(param_1 + 8)" * (cast_expression "(undefined1 **)(param_1 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = (cast_expression "(undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 8) + (int)local_40)" ( (binary_expression "*(int *)(param_1 + 8) + (int)local_40" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) + (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar13 = local_40;" (assignment_expression "piVar13 = local_40" identifier = identifier) ;) }))) (expression_statement "iVar20 = unaff_s7 + 1;" (assignment_expression "iVar20 = unaff_s7 + 1" identifier = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (expression_statement "local_40 = piVar13;" (assignment_expression "local_40 = piVar13" identifier = identifier) ;) (if_statement "if (iVar20 < (int)param_2) goto LAB_000b5dac;" if (parenthesized_expression "(iVar20 < (int)param_2)" ( (binary_expression "iVar20 < (int)param_2" identifier < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b5dac;" goto statement_identifier ;)) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) })) (expression_statement "iVar6 = 7;" (assignment_expression "iVar6 = 7" identifier = number_literal) ;) (expression_statement "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);" (assignment_expression "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" (pointer_expression "*(undefined1 **)(param_1 + 8)" * (cast_expression "(undefined1 **)(param_1 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = (cast_expression "(undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 8) + (int)local_40)" ( (binary_expression "*(int *)(param_1 + 8) + (int)local_40" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) + (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "iVar20 = unaff_s7 + 1;" (assignment_expression "iVar20 = unaff_s7 + 1" identifier = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (expression_statement "piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);" (assignment_expression "piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2)" identifier = (cast_expression "(int *)(uint)(unaff_s5 + -1 < (undefined *)0x2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(unaff_s5 + -1 < (undefined *)0x2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s5 + -1 < (undefined *)0x2)" ( (binary_expression "unaff_s5 + -1 < (undefined *)0x2" (binary_expression "unaff_s5 + -1" identifier + number_literal) < (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (if_statement "if (piVar13 != (int *)0x0) goto code_r0x000b6070;" if (parenthesized_expression "(piVar13 != (int *)0x0)" ( (binary_expression "piVar13 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto code_r0x000b6070;" goto statement_identifier ;)) })) (expression_statement "unaff_s7 = unaff_s7 + 1;" (assignment_expression "unaff_s7 = unaff_s7 + 1" identifier = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s0 = param_3;" (assignment_expression "unaff_s0 = param_3" identifier = identifier) ;) (expression_statement "unaff_s2 = param_2;" (assignment_expression "unaff_s2 = param_2" identifier = identifier) ;) (expression_statement "unaff_s8 = param_1;" (assignment_expression "unaff_s8 = param_1" identifier = identifier) ;) (if_statement "if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;" if (parenthesized_expression "((int)param_2 <= unaff_s7)" ( (binary_expression "(int)param_2 <= unaff_s7" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_000b5e64;" goto statement_identifier ;)) (goto_statement "goto LAB_000b5db4;" goto statement_identifier ;) })) (labeled_statement "LAB_000b5e64:\n  iVar6 = 0;" statement_identifier : (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;)) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" identifier = identifier) ;) (expression_statement "param_2 = unaff_s2;" (assignment_expression "param_2 = unaff_s2" identifier = identifier) ;) (expression_statement "param_1 = unaff_s8;" (assignment_expression "param_1 = unaff_s8" identifier = identifier) ;) (labeled_statement "LAB_000b5de4:\n  if (local_34 == *(int *)puVar3) {\n    return iVar6;\n  }" statement_identifier : (if_statement "if (local_34 == *(int *)puVar3) {\n    return iVar6;\n  }" if (parenthesized_expression "(local_34 == *(int *)puVar3)" ( (binary_expression "local_34 == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar6;\n  }" { (return_statement "return iVar6;" return identifier ;) }))) (expression_statement "pcVar4 = FUN_000b6188;" (assignment_expression "pcVar4 = FUN_000b6188" identifier = identifier) ;) (expression_statement "iVar20 = local_34;" (assignment_expression "iVar20 = local_34" identifier = identifier) ;) (expression_statement "puVar24 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar24 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_90 = puVar3;" (assignment_expression "puStack_90 = puVar3" identifier = identifier) ;) (expression_statement "piVar23 = *(int **)(puVar24 + 0xdac9c);" (assignment_expression "piVar23 = *(int **)(puVar24 + 0xdac9c)" identifier = (pointer_expression "*(int **)(puVar24 + 0xdac9c)" * (cast_expression "(int **)(puVar24 + 0xdac9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xdac9c)" ( (binary_expression "puVar24 + 0xdac9c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar20 + 0x5c);" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x5c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "iStack_ac = *piVar23;" (assignment_expression "iStack_ac = *piVar23" identifier = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "piStack_a8 = param_3;" (assignment_expression "piStack_a8 = param_3" identifier = identifier) ;) (expression_statement "puStack_a4 = unaff_s1;" (assignment_expression "puStack_a4 = unaff_s1" identifier = identifier) ;) (expression_statement "piStack_a0 = param_2;" (assignment_expression "piStack_a0 = param_2" identifier = identifier) ;) (expression_statement "piStack_9c = unaff_s3;" (assignment_expression "piStack_9c = unaff_s3" identifier = identifier) ;) (expression_statement "piStack_98 = unaff_s4;" (assignment_expression "piStack_98 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_94 = unaff_s5;" (assignment_expression "puStack_94 = unaff_s5" identifier = identifier) ;) (expression_statement "iStack_8c = unaff_s7;" (assignment_expression "iStack_8c = unaff_s7" identifier = identifier) ;) (expression_statement "iStack_88 = param_1;" (assignment_expression "iStack_88 = param_1" identifier = identifier) ;) (expression_statement "pcStack_84 = pcVar4;" (assignment_expression "pcStack_84 = pcVar4" identifier = identifier) ;) (if_statement "if (iVar6 != 0) {\n    iVar16 = *(int *)(iVar20 + 0x4c);\n    iVar21 = 0;\n    if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }\n    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);\n  }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar16 = *(int *)(iVar20 + 0x4c);\n    iVar21 = 0;\n    if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }\n    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);\n  }" { (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }" if (parenthesized_expression "(0 < iVar16)" ( (binary_expression "0 < iVar16" number_literal < identifier) )) (compound_statement "{\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }" { (expression_statement "iVar22 = *(int *)(puVar24 + 0xdaa20);" (assignment_expression "iVar22 = *(int *)(puVar24 + 0xdaa20)" identifier = (pointer_expression "*(int *)(puVar24 + 0xdaa20)" * (cast_expression "(int *)(puVar24 + 0xdaa20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xdaa20)" ( (binary_expression "puVar24 + 0xdaa20" identifier + number_literal) ))))) ;) (do_statement "do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);" do (compound_statement "{\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      }" { (expression_statement "iVar16 = iVar21 * 4;" (assignment_expression "iVar16 = iVar21 * 4" identifier = (binary_expression "iVar21 * 4" identifier * number_literal)) ;) (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));" (call_expression "(*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16))" (parenthesized_expression "(*(code *)(iVar22 + -0x18d4))" ( (pointer_expression "*(code *)(iVar22 + -0x18d4)" * (cast_expression "(code *)(iVar22 + -0x18d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + -0x18d4)" ( (binary_expression "iVar22 + -0x18d4" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(iVar6 + iVar16))" ( (pointer_expression "*(undefined4 *)(iVar6 + iVar16)" * (cast_expression "(undefined4 *)(iVar6 + iVar16)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar16)" ( (binary_expression "iVar6 + iVar16" identifier + identifier) )))) ))) ;) (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar20 + 0x5c);" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x5c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar21 < iVar16 << 1)" ( (binary_expression "iVar21 < iVar16 << 1" identifier < (binary_expression "iVar16 << 1" identifier << number_literal)) )) ;) })) (expression_statement "(**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);" (call_expression "(**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3)" (parenthesized_expression "(**(code **)(puVar24 + 0xdabd0))" ( (pointer_expression "**(code **)(puVar24 + 0xdabd0)" * (pointer_expression "*(code **)(puVar24 + 0xdabd0)" * (cast_expression "(code **)(puVar24 + 0xdabd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xdabd0)" ( (binary_expression "puVar24 + 0xdabd0" identifier + number_literal) ))))) )) (argument_list "(iVar6,0,iVar16 << 3)" ( identifier , number_literal , (binary_expression "iVar16 << 3" identifier << number_literal) ))) ;) })) (expression_statement "iVar6 = FUN_000b57e0(iVar20,2);" (assignment_expression "iVar6 = FUN_000b57e0(iVar20,2)" identifier = (call_expression "FUN_000b57e0(iVar20,2)" identifier (argument_list "(iVar20,2)" ( identifier , number_literal )))) ;) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000b6458;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)) {\nLAB_000b6494:\n    iVar6 = 0x65;\n    goto LAB_000b6458;\n  }" if (parenthesized_expression "(*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8))" ( (binary_expression "*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)" (pointer_expression "*(int *)(iVar20 + 0x10)" * (cast_expression "(int *)(iVar20 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x10)" ( (binary_expression "iVar20 + 0x10" identifier + number_literal) )))) <= (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_000b6494:\n    iVar6 = 0x65;\n    goto LAB_000b6458;\n  }" { (labeled_statement "LAB_000b6494:\n    iVar6 = 0x65;" statement_identifier : (expression_statement "iVar6 = 0x65;" (assignment_expression "iVar6 = 0x65" identifier = number_literal) ;)) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "(*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20);" (call_expression "(*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20)" (parenthesized_expression "(*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))" ( (pointer_expression "*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4)" * (cast_expression "(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar24 + 0xdaa1c) + 0x27a4)" ( (binary_expression "*(int *)(puVar24 + 0xdaa1c) + 0x27a4" (pointer_expression "*(int *)(puVar24 + 0xdaa1c)" * (cast_expression "(int *)(puVar24 + 0xdaa1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xdaa1c)" ( (binary_expression "puVar24 + 0xdaa1c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar20)" ( identifier ))) ;) (expression_statement "iVar6 = *(int *)(iVar20 + 8);" (assignment_expression "iVar6 = *(int *)(iVar20 + 8)" identifier = (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(iVar20 + 0xc);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0xc)" identifier = (pointer_expression "*(int *)(iVar20 + 0xc)" * (cast_expression "(int *)(iVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar21 = *(int *)(puVar24 + 0xdaa20);" (assignment_expression "iVar21 = *(int *)(puVar24 + 0xdaa20)" identifier = (pointer_expression "*(int *)(puVar24 + 0xdaa20)" * (cast_expression "(int *)(puVar24 + 0xdaa20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xdaa20)" ( (binary_expression "puVar24 + 0xdaa20" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar20 + 4) = iVar6;" (assignment_expression "*(int *)(iVar20 + 4) = iVar6" (pointer_expression "*(int *)(iVar20 + 4)" * (cast_expression "(int *)(iVar20 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 4)" ( (binary_expression "iVar20 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar20 + 8) = iVar6 + 1;" (assignment_expression "*(int *)(iVar20 + 8) = iVar6 + 1" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *(byte *)(iVar16 + iVar6);" (assignment_expression "bVar1 = *(byte *)(iVar16 + iVar6)" identifier = (pointer_expression "*(byte *)(iVar16 + iVar6)" * (cast_expression "(byte *)(iVar16 + iVar6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar6)" ( (binary_expression "iVar16 + iVar6" identifier + identifier) ))))) ;) (while_statement "while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }\n    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);\n    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);\n    if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar20 + 0x30) = 0;\n    iStack_b0 = iStack_b0 - iVar6;\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;\n    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);\n    if (iStack_b4 != 0) goto LAB_000b6434;\n    iVar6 = *(int *)(iVar20 + 0x4c) * 8;\n    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);\n    (**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);\n    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n    *(int *)(iVar20 + 0x58) = iVar6;\n    *(int *)(iVar20 + 0x40) = iStack_b4;\n    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;\n    iVar6 = iStack_b4;\n    if (iStack_b4 != 0) goto LAB_000b6458;\n    iVar6 = FUN_000b57e0(iVar20,2);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 != 0) goto LAB_000b6458;\n    iVar6 = *(int *)(iVar20 + 8);\n    *(int *)(iVar20 + 4) = iVar6;\n    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;\n    iVar16 = *(int *)(iVar20 + 0xc);\n    *(int *)(iVar20 + 8) = iVar6 + 1;\n    bVar1 = *(byte *)(iVar16 + iVar6);\n  }" while (parenthesized_expression "(uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50)" ( (comma_expression "uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50" (assignment_expression "uVar8 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) , (binary_expression "(uVar8 & 0xfb) == 0x50" (parenthesized_expression "(uVar8 & 0xfb)" ( (binary_expression "uVar8 & 0xfb" identifier & number_literal) )) == number_literal)) )) (compound_statement "{\n    if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }\n    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);\n    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);\n    if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar20 + 0x30) = 0;\n    iStack_b0 = iStack_b0 - iVar6;\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;\n    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);\n    if (iStack_b4 != 0) goto LAB_000b6434;\n    iVar6 = *(int *)(iVar20 + 0x4c) * 8;\n    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);\n    (**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);\n    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n    *(int *)(iVar20 + 0x58) = iVar6;\n    *(int *)(iVar20 + 0x40) = iStack_b4;\n    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;\n    iVar6 = iStack_b4;\n    if (iStack_b4 != 0) goto LAB_000b6458;\n    iVar6 = FUN_000b57e0(iVar20,2);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 != 0) goto LAB_000b6458;\n    iVar6 = *(int *)(iVar20 + 8);\n    *(int *)(iVar20 + 4) = iVar6;\n    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;\n    iVar16 = *(int *)(iVar20 + 0xc);\n    *(int *)(iVar20 + 8) = iVar6 + 1;\n    bVar1 = *(byte *)(iVar16 + iVar6);\n  }" { (if_statement "if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }" if (parenthesized_expression "(puVar17 != (undefined4 *)0x0)" ( (binary_expression "puVar17 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *puVar17 = 1;\n    }" { (expression_statement "*puVar17 = 1;" (assignment_expression "*puVar17 = 1" (pointer_expression "*puVar17" * identifier) = number_literal) ;) })) (expression_statement "*(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);" (assignment_expression "*(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50)" (pointer_expression "*(uint *)(iVar20 + 0x38)" * (cast_expression "(uint *)(iVar20 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x38)" ( (binary_expression "iVar20 + 0x38" identifier + number_literal) )))) = (call_expression "(uint)(uVar8 == 0x50)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 == 0x50)" ( (binary_expression "uVar8 == 0x50" identifier == number_literal) )))) ;) (expression_statement "iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);" (assignment_expression "iStack_b4 = FUN_000b5998(iVar20,&iStack_b0)" identifier = (call_expression "FUN_000b5998(iVar20,&iStack_b0)" identifier (argument_list "(iVar20,&iStack_b0)" ( identifier , (pointer_expression "&iStack_b0" & identifier) )))) ;) (if_statement "if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }" if (parenthesized_expression "(iStack_b4 != 0)" ( (binary_expression "iStack_b4 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }" { (labeled_statement "LAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;" statement_identifier : (expression_statement "*(int *)(iVar20 + 0x40) = iStack_b4;" (assignment_expression "*(int *)(iVar20 + 0x40) = iStack_b4" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);" (assignment_expression "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c)" (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) )))) = (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*(int *)(iVar20 + 0x58) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x58) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x58)" * (cast_expression "(int *)(iVar20 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x58)" ( (binary_expression "iVar20 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);" (assignment_expression "*(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c)" (pointer_expression "*(int *)(iVar20 + 0x48)" * (cast_expression "(int *)(iVar20 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x48)" ( (binary_expression "iVar20 + 0x48" identifier + number_literal) )))) = (binary_expression "iVar6 + *(int *)(iVar20 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))))) ;) (expression_statement "iVar6 = iStack_b4;" (assignment_expression "iVar6 = iStack_b4" identifier = identifier) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));" (assignment_expression "pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8))" identifier = (cast_expression "(byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8))" ( (binary_expression "*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8)" (pointer_expression "*(int *)(iVar20 + 0xc)" * (cast_expression "(int *)(iVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) ))))) )))) ;) (expression_statement "bVar1 = *pbVar11;" (assignment_expression "bVar1 = *pbVar11" identifier = (pointer_expression "*pbVar11" * identifier)) ;) (expression_statement "uVar8 = (uint)bVar1;" (assignment_expression "uVar8 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }" { (expression_statement "iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);" (assignment_expression "iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c)" identifier = (call_expression "(*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c)" (parenthesized_expression "(*(code *)(iVar21 + 0x3388))" ( (pointer_expression "*(code *)(iVar21 + 0x3388)" * (cast_expression "(code *)(iVar21 + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x3388)" ( (binary_expression "iVar21 + 0x3388" identifier + number_literal) )))) )) (argument_list "(pbVar11,iVar20 + 0x4c)" ( identifier , (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))) ;) (expression_statement "uVar8 = *(uint *)(iVar20 + 0x4c);" (assignment_expression "uVar8 = *(uint *)(iVar20 + 0x4c)" identifier = (pointer_expression "*(uint *)(iVar20 + 0x4c)" * (cast_expression "(uint *)(iVar20 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }" else (compound_statement "{\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }" { (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (expression_statement "*(uint *)(iVar20 + 0x4c) = uVar8;" (assignment_expression "*(uint *)(iVar20 + 0x4c) = uVar8" (pointer_expression "*(uint *)(iVar20 + 0x4c)" * (cast_expression "(uint *)(iVar20 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))) = identifier) ;) }))) (if_statement "if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }" if (parenthesized_expression "((int)uVar8 < 1)" ( (binary_expression "(int)uVar8 < 1" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }" { (expression_statement "(**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(puVar24 + 0xdaa58))" ( (pointer_expression "**(code **)(puVar24 + 0xdaa58)" * (pointer_expression "*(code **)(puVar24 + 0xdaa58)" * (cast_expression "(code **)(puVar24 + 0xdaa58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xdaa58)" ( (binary_expression "puVar24 + 0xdaa58" identifier + number_literal) ))))) )) (argument_list "(0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c)" ( number_literal , (binary_expression "*(int *)(puVar24 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(puVar24 + 0xda7d4)" * (cast_expression "(int *)(puVar24 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xda7d4)" ( (binary_expression "puVar24 + 0xda7d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar24 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(puVar24 + 0xda7d4)" * (cast_expression "(int *)(puVar24 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xda7d4)" ( (binary_expression "puVar24 + 0xda7d4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar24 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(puVar24 + 0xda7d0)" * (cast_expression "(int *)(puVar24 + 0xda7d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xda7d0)" ( (binary_expression "puVar24 + 0xda7d0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar6 = 0xb;" (assignment_expression "iVar6 = 0xb" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(iVar20 + 0x40) = 0xb;" (assignment_expression "*(undefined4 *)(iVar20 + 0x40) = 0xb" (pointer_expression "*(undefined4 *)(iVar20 + 0x40)" * (cast_expression "(undefined4 *)(iVar20 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);" (assignment_expression "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c)" (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) )))) = (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*(int *)(iVar20 + 0x58) = iVar16;" (assignment_expression "*(int *)(iVar20 + 0x58) = iVar16" (pointer_expression "*(int *)(iVar20 + 0x58)" * (cast_expression "(int *)(iVar20 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x58)" ( (binary_expression "iVar20 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);" (assignment_expression "*(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c)" (pointer_expression "*(int *)(iVar20 + 0x48)" * (cast_expression "(int *)(iVar20 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x48)" ( (binary_expression "iVar20 + 0x48" identifier + number_literal) )))) = (binary_expression "iVar16 + *(int *)(iVar20 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))))) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(iVar20 + 0x30) = 0;" (assignment_expression "*(undefined4 *)(iVar20 + 0x30) = 0" (pointer_expression "*(undefined4 *)(iVar20 + 0x30)" * (cast_expression "(undefined4 *)(iVar20 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x30)" ( (binary_expression "iVar20 + 0x30" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iStack_b0 = iStack_b0 - iVar6;" (assignment_expression "iStack_b0 = iStack_b0 - iVar6" identifier = (binary_expression "iStack_b0 - iVar6" identifier - identifier)) ;) (expression_statement "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;" (assignment_expression "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar20 + 8) + iVar6" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) + identifier)) ;) (expression_statement "FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);" (call_expression "FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4)" identifier (argument_list "(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) , (binary_expression "uVar8 * 8 + iStack_b0" (binary_expression "uVar8 * 8" identifier * number_literal) + identifier) , (pointer_expression "&iStack_b4" & identifier) ))) ;) (if_statement "if (iStack_b4 != 0) goto LAB_000b6434;" if (parenthesized_expression "(iStack_b4 != 0)" ( (binary_expression "iStack_b4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b6434;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)(iVar20 + 0x4c) * 8;" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "(**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);" (call_expression "(**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6)" (parenthesized_expression "(**(code **)(puVar24 + 0xdabd0))" ( (pointer_expression "**(code **)(puVar24 + 0xdabd0)" * (pointer_expression "*(code **)(puVar24 + 0xdabd0)" * (cast_expression "(code **)(puVar24 + 0xdabd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xdabd0)" ( (binary_expression "puVar24 + 0xdabd0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar20 + 0x2c),0,iVar6)" ( (pointer_expression "*(undefined4 *)(iVar20 + 0x2c)" * (cast_expression "(undefined4 *)(iVar20 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) )))) , number_literal , identifier ))) ;) (expression_statement "(**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);" (call_expression "(**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0)" (parenthesized_expression "(**(code **)(puVar24 + 0xdaca4))" ( (pointer_expression "**(code **)(puVar24 + 0xdaca4)" * (pointer_expression "*(code **)(puVar24 + 0xdaca4)" * (cast_expression "(code **)(puVar24 + 0xdaca4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xdaca4)" ( (binary_expression "puVar24 + 0xdaca4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0)" ( (binary_expression "*(int *)(iVar20 + 0x2c) + iVar6" (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) )))) + identifier) , (binary_expression "*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8)" (pointer_expression "*(int *)(iVar20 + 0xc)" * (cast_expression "(int *)(iVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) ))))) , identifier ))) ;) (expression_statement "iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);" (assignment_expression "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c)" (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) )))) = (pointer_expression "*(int *)(iVar20 + 0x2c)" * (cast_expression "(int *)(iVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x2c)" ( (binary_expression "iVar20 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar20 + 0x58) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x58) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x58)" * (cast_expression "(int *)(iVar20 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x58)" ( (binary_expression "iVar20 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar20 + 0x40) = iStack_b4;" (assignment_expression "*(int *)(iVar20 + 0x40) = iStack_b4" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);" (assignment_expression "*(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c)" (pointer_expression "*(int *)(iVar20 + 0x48)" * (cast_expression "(int *)(iVar20 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x48)" ( (binary_expression "iVar20 + 0x48" identifier + number_literal) )))) = (binary_expression "iVar6 + *(int *)(iVar20 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;" (assignment_expression "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar20 + 8) + iStack_b0" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) + identifier)) ;) (expression_statement "iVar6 = iStack_b4;" (assignment_expression "iVar6 = iStack_b4" identifier = identifier) ;) (if_statement "if (iStack_b4 != 0) goto LAB_000b6458;" if (parenthesized_expression "(iStack_b4 != 0)" ( (binary_expression "iStack_b4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "iVar6 = FUN_000b57e0(iVar20,2);" (assignment_expression "iVar6 = FUN_000b57e0(iVar20,2)" identifier = (call_expression "FUN_000b57e0(iVar20,2)" identifier (argument_list "(iVar20,2)" ( identifier , number_literal )))) ;) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000b6458;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)(iVar20 + 8);" (assignment_expression "iVar6 = *(int *)(iVar20 + 8)" identifier = (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar20 + 4) = iVar6;" (assignment_expression "*(int *)(iVar20 + 4) = iVar6" (pointer_expression "*(int *)(iVar20 + 4)" * (cast_expression "(int *)(iVar20 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 4)" ( (binary_expression "iVar20 + 4" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;" if (parenthesized_expression "(*(int *)(iVar20 + 0x10) <= iVar6)" ( (binary_expression "*(int *)(iVar20 + 0x10) <= iVar6" (pointer_expression "*(int *)(iVar20 + 0x10)" * (cast_expression "(int *)(iVar20 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x10)" ( (binary_expression "iVar20 + 0x10" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_000b6494;" goto statement_identifier ;)) (expression_statement "iVar16 = *(int *)(iVar20 + 0xc);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0xc)" identifier = (pointer_expression "*(int *)(iVar20 + 0xc)" * (cast_expression "(int *)(iVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar20 + 8) = iVar6 + 1;" (assignment_expression "*(int *)(iVar20 + 8) = iVar6 + 1" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *(byte *)(iVar16 + iVar6);" (assignment_expression "bVar1 = *(byte *)(iVar16 + iVar6)" identifier = (pointer_expression "*(byte *)(iVar16 + iVar6)" * (cast_expression "(byte *)(iVar16 + iVar6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar6)" ( (binary_expression "iVar16 + iVar6" identifier + identifier) ))))) ;) })) (if_statement "if ((*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" if (parenthesized_expression "((*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0))))" ( (binary_expression "(*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))" (parenthesized_expression "(*(int *)(iVar20 + 0x48) == 0)" ( (binary_expression "*(int *)(iVar20 + 0x48) == 0" (pointer_expression "*(int *)(iVar20 + 0x48)" * (cast_expression "(int *)(iVar20 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x48)" ( (binary_expression "iVar20 + 0x48" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))" ( (parenthesized_expression "(iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0))" ( (comma_expression "iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x38)" identifier = (pointer_expression "*(int *)(iVar20 + 0x38)" * (cast_expression "(int *)(iVar20 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x38)" ( (binary_expression "iVar20 + 0x38" identifier + number_literal) ))))) , (binary_expression "iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)" (binary_expression "iVar6 != 0" identifier != number_literal) && (parenthesized_expression "(*(int *)(iVar20 + 0x3c) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x3c) != 0" (pointer_expression "*(int *)(iVar20 + 0x3c)" * (cast_expression "(int *)(iVar20 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x3c)" ( (binary_expression "iVar20 + 0x3c" identifier + number_literal) )))) != number_literal) )))) )) ))) )) (compound_statement "{\n    uVar18 = 0x301e0;\n  }" { (expression_statement "uVar18 = 0x301e0;" (assignment_expression "uVar18 = 0x301e0" identifier = number_literal) ;) }) (else_clause "else {\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" else (compound_statement "{\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" { (expression_statement "iVar21 = *(int *)(iVar20 + 8);" (assignment_expression "iVar21 = *(int *)(iVar20 + 8)" identifier = (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar20 + 0x50) = uVar8;" (assignment_expression "*(uint *)(iVar20 + 0x50) = uVar8" (pointer_expression "*(uint *)(iVar20 + 0x50)" * (cast_expression "(uint *)(iVar20 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x50)" ( (binary_expression "iVar20 + 0x50" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar20 + 8) = iVar21 + 1;" (assignment_expression "*(int *)(iVar20 + 8) = iVar21 + 1" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);" (assignment_expression "*(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21)" (pointer_expression "*(uint *)(iVar20 + 0x54)" * (cast_expression "(uint *)(iVar20 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x54)" ( (binary_expression "iVar20 + 0x54" identifier + number_literal) )))) = (binary_expression "(uint)*(byte *)(iVar16 + iVar21)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar16 + iVar21)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + iVar21)" ( (binary_expression "iVar16 + iVar21" identifier + identifier) ))))) ;) (if_statement "if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }" if (parenthesized_expression "((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0))" ( (binary_expression "(uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)" (parenthesized_expression "(uVar8 < 0x18)" ( (binary_expression "uVar8 < 0x18" identifier < number_literal) )) && (parenthesized_expression "((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)" ( (binary_expression "(int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0" (cast_expression "(int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x840200U >> (uVar8 & 0x1f)) << 0x1f)" ( (binary_expression "(0x840200U >> (uVar8 & 0x1f)) << 0x1f" (parenthesized_expression "(0x840200U >> (uVar8 & 0x1f))" ( (binary_expression "0x840200U >> (uVar8 & 0x1f)" number_literal >> (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) ))) )) << number_literal) ))) < number_literal) ))) )) (compound_statement "{\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }" { (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) ;) (if_statement "if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }" if (parenthesized_expression "(piVar13 != (int *)0x0)" ( (binary_expression "piVar13 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }" { (if_statement "if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }" { (if_statement "if (uVar8 != 9) goto LAB_000b65d4;" if (parenthesized_expression "(uVar8 != 9)" ( (binary_expression "uVar8 != 9" identifier != number_literal) )) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;)) (if_statement "if (iVar16 < 1) goto LAB_000b6830;" if (parenthesized_expression "(iVar16 < 1)" ( (binary_expression "iVar16 < 1" identifier < number_literal) )) (goto_statement "goto LAB_000b6830;" goto statement_identifier ;)) (expression_statement "pcVar9 = *(char **)(iVar20 + 0x58);" (assignment_expression "pcVar9 = *(char **)(iVar20 + 0x58)" identifier = (pointer_expression "*(char **)(iVar20 + 0x58)" * (cast_expression "(char **)(iVar20 + 0x58)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar20 + 0x58)" ( (binary_expression "iVar20 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "pcVar12 = pcVar9 + iVar16;" (assignment_expression "pcVar12 = pcVar9 + iVar16" identifier = (binary_expression "pcVar9 + iVar16" identifier + identifier)) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );" do (compound_statement "{\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          }" { (if_statement "if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }" if (parenthesized_expression "(*pcVar9 != '\0')" ( (binary_expression "*pcVar9 != '\0'" (pointer_expression "*pcVar9" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar16 = iVar16 + 1;\n            }" { (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) })) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar12 == pcVar9) goto LAB_000b65d4;" if (parenthesized_expression "(pcVar12 == pcVar9)" ( (binary_expression "pcVar12 == pcVar9" identifier == identifier) )) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (uVar8 != 0x17) goto LAB_000b65d4;" if (parenthesized_expression "(uVar8 != 0x17)" ( (binary_expression "uVar8 != 0x17" identifier != number_literal) )) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;)) (expression_statement "iVar16 = iVar16 << 1;" (assignment_expression "iVar16 = iVar16 << 1" identifier = (binary_expression "iVar16 << 1" identifier << number_literal)) ;) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;) })) (expression_statement "iVar19 = *(int *)(iVar20 + 0x5c);" (assignment_expression "iVar19 = *(int *)(iVar20 + 0x5c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = iVar19 + iVar16 * 4;" (assignment_expression "iVar22 = iVar19 + iVar16 * 4" identifier = (binary_expression "iVar19 + iVar16 * 4" identifier + (binary_expression "iVar16 * 4" identifier * number_literal))) ;) (expression_statement "iVar21 = iVar19;" (assignment_expression "iVar21 = iVar19" identifier = identifier) ;) (if_statement "if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }" if (parenthesized_expression "(*(int *)(iVar20 + 0x3c) != 0)" ( (binary_expression "*(int *)(iVar20 + 0x3c) != 0" (pointer_expression "*(int *)(iVar20 + 0x3c)" * (cast_expression "(int *)(iVar20 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x3c)" ( (binary_expression "iVar20 + 0x3c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }" { (expression_statement "iVar21 = iVar22;" (assignment_expression "iVar21 = iVar22" identifier = identifier) ;) (expression_statement "iVar22 = iVar19;" (assignment_expression "iVar22 = iVar19" identifier = identifier) ;) })) (if_statement "if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }" if (parenthesized_expression "(uVar8 == 0x12)" ( (binary_expression "uVar8 == 0x12" identifier == number_literal) )) (compound_statement "{\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }" { (labeled_statement "LAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);" statement_identifier : (expression_statement "iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);" (assignment_expression "iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22)" identifier = (call_expression "FUN_000b5d20(iVar20,iVar16,0,iVar22)" identifier (argument_list "(iVar20,iVar16,0,iVar22)" ( identifier , identifier , number_literal , identifier )))) ;)) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000b6458;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" if (parenthesized_expression "(*(int *)(iVar20 + 0x38) == 0)" ( (binary_expression "*(int *)(iVar20 + 0x38) == 0" (pointer_expression "*(int *)(iVar20 + 0x38)" * (cast_expression "(int *)(iVar20 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x38)" ( (binary_expression "iVar20 + 0x38" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }" { (if_statement "if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;" if (parenthesized_expression "(*(int *)(iVar20 + 0x3c) == 0)" ( (binary_expression "*(int *)(iVar20 + 0x3c) == 0" (pointer_expression "*(int *)(iVar20 + 0x3c)" * (cast_expression "(int *)(iVar20 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x3c)" ( (binary_expression "iVar20 + 0x3c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000b6734;" goto statement_identifier ;)) (expression_statement "iVar16 = *(int *)(iVar20 + 0x50);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x50)" identifier = (pointer_expression "*(int *)(iVar20 + 0x50)" * (cast_expression "(int *)(iVar20 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x50)" ( (binary_expression "iVar20 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (iVar16 != 0x17) goto LAB_000b6788;" if (parenthesized_expression "(iVar16 != 0x17)" ( (binary_expression "iVar16 != 0x17" identifier != number_literal) )) (goto_statement "goto LAB_000b6788;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" else (compound_statement "{\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" { (expression_statement "iVar16 = *(int *)(iVar20 + 0x50);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x50)" identifier = (pointer_expression "*(int *)(iVar20 + 0x50)" * (cast_expression "(int *)(iVar20 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x50)" ( (binary_expression "iVar20 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }" if (parenthesized_expression "(iVar16 != 0x17)" ( (binary_expression "iVar16 != 0x17" identifier != number_literal) )) (compound_statement "{\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }" { (expression_statement "iVar21 = *(int *)(iVar20 + 0x3c);" (assignment_expression "iVar21 = *(int *)(iVar20 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x3c)" * (cast_expression "(int *)(iVar20 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x3c)" ( (binary_expression "iVar20 + 0x3c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b6780;" goto statement_identifier ;) })) }))) (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }" if (parenthesized_expression "(0 < iVar16)" ( (binary_expression "0 < iVar16" number_literal < identifier) )) (compound_statement "{\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }" { (do_statement "do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);" do (compound_statement "{\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          }" { (if_statement "if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }" if (parenthesized_expression "(*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0')" ( (binary_expression "*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0'" (pointer_expression "*(char *)(*(int *)(iVar20 + 0x58) + iVar6)" * (cast_expression "(char *)(*(int *)(iVar20 + 0x58) + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar20 + 0x58) + iVar6)" ( (binary_expression "*(int *)(iVar20 + 0x58) + iVar6" (pointer_expression "*(int *)(iVar20 + 0x58)" * (cast_expression "(int *)(iVar20 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x58)" ( (binary_expression "iVar20 + 0x58" identifier + number_literal) )))) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }" { (expression_statement "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);" (assignment_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4)" (pointer_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" ( (binary_expression "*(int *)(iVar20 + 0x5c) + iVar6 * 4" (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) )))) + (binary_expression "iVar6 * 4" identifier * number_literal)) )))) = (pointer_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4)" ( (binary_expression "*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4" (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) )))) + (binary_expression "(iVar16 + iVar6) * 4" (parenthesized_expression "(iVar16 + iVar6)" ( (binary_expression "iVar16 + iVar6" identifier + identifier) )) * number_literal)) ))))) ;) (if_statement "if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }" if (parenthesized_expression "(*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0)" ( (binary_expression "*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0" (pointer_expression "*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" * (cast_expression "(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" ( (binary_expression "*(int *)(iVar20 + 0x5c) + iVar6 * 4" (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) )))) + (binary_expression "iVar6 * 4" identifier * number_literal)) )))) == number_literal) )) (compound_statement "{\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }" { (expression_statement "uVar18 = 0x30212;" (assignment_expression "uVar18 = 0x30212" identifier = number_literal) ;) (goto_statement "goto LAB_000b653c;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4)" ( (binary_expression "*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4" (pointer_expression "*(int *)(iVar20 + 0x5c)" * (cast_expression "(int *)(iVar20 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5c)" ( (binary_expression "iVar20 + 0x5c" identifier + number_literal) )))) + (binary_expression "(iVar6 + *(int *)(iVar20 + 0x4c)) * 4" (parenthesized_expression "(iVar6 + *(int *)(iVar20 + 0x4c))" ( (binary_expression "iVar6 + *(int *)(iVar20 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) )) * number_literal)) )))) = number_literal) ;) (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) ;) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar16)" ( (binary_expression "iVar6 < iVar16" identifier < identifier) )) ;) })) }) (else_clause "else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }" else (compound_statement "{\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }" { (if_statement "if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }" { (if_statement "if (uVar8 != 9) goto LAB_000b6678;" if (parenthesized_expression "(uVar8 != 9)" ( (binary_expression "uVar8 != 9" identifier != number_literal) )) (goto_statement "goto LAB_000b6678;" goto statement_identifier ;)) (expression_statement "piVar13 = *(int **)(iVar20 + 0x58);" (assignment_expression "piVar13 = *(int **)(iVar20 + 0x58)" identifier = (pointer_expression "*(int **)(iVar20 + 0x58)" * (cast_expression "(int **)(iVar20 + 0x58)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar20 + 0x58)" ( (binary_expression "iVar20 + 0x58" identifier + number_literal) ))))) ;) })) (expression_statement "iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);" (assignment_expression "iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21)" identifier = (call_expression "FUN_000b5d20(iVar20,iVar16,piVar13,iVar21)" identifier (argument_list "(iVar20,iVar16,piVar13,iVar21)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000b6458;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }" if (parenthesized_expression "(*(int *)(iVar20 + 0x50) != 9)" ( (binary_expression "*(int *)(iVar20 + 0x50) != 9" (pointer_expression "*(int *)(iVar20 + 0x50)" * (cast_expression "(int *)(iVar20 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x50)" ( (binary_expression "iVar20 + 0x50" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }" { (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x4c)" * (cast_expression "(int *)(iVar20 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x4c)" ( (binary_expression "iVar20 + 0x4c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b6678;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }" if (parenthesized_expression "(*(int *)(iVar20 + 0x38) == 0)" ( (binary_expression "*(int *)(iVar20 + 0x38) == 0" (pointer_expression "*(int *)(iVar20 + 0x38)" * (cast_expression "(int *)(iVar20 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x38)" ( (binary_expression "iVar20 + 0x38" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }" { (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" identifier = number_literal) ;) (if_statement "if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;" if (parenthesized_expression "(*(int *)(iVar20 + 0x3c) == 0)" ( (binary_expression "*(int *)(iVar20 + 0x3c) == 0" (pointer_expression "*(int *)(iVar20 + 0x3c)" * (cast_expression "(int *)(iVar20 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x3c)" ( (binary_expression "iVar20 + 0x3c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "iVar16 = 9;" (assignment_expression "iVar16 = 9" identifier = number_literal) ;) }) (else_clause "else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }" else (compound_statement "{\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }" { (expression_statement "iVar21 = *(int *)(iVar20 + 0x3c);" (assignment_expression "iVar21 = *(int *)(iVar20 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar20 + 0x3c)" * (cast_expression "(int *)(iVar20 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x3c)" ( (binary_expression "iVar20 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = 9;" (assignment_expression "iVar16 = 9" identifier = number_literal) ;) (labeled_statement "LAB_000b6780:\n          iVar6 = 100;" statement_identifier : (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" identifier = number_literal) ;)) (if_statement "if (iVar21 == 0) goto LAB_000b6458;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" statement_identifier : (if_statement "if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" if (parenthesized_expression "(iVar16 == 0x12)" ( (binary_expression "iVar16 == 0x12" identifier == number_literal) )) (compound_statement "{\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" { (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(iVar20 + 0x50) = 9;" (assignment_expression "*(undefined4 *)(iVar20 + 0x50) = 9" (pointer_expression "*(undefined4 *)(iVar20 + 0x50)" * (cast_expression "(undefined4 *)(iVar20 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x50)" ( (binary_expression "iVar20 + 0x50" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) }))) (if_statement "if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }" if (parenthesized_expression "(iVar16 == 9)" ( (binary_expression "iVar16 == 9" identifier == number_literal) )) (compound_statement "{\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }" { (expression_statement "*(undefined4 *)(iVar20 + 0x50) = 0x12;" (assignment_expression "*(undefined4 *)(iVar20 + 0x50) = 0x12" (pointer_expression "*(undefined4 *)(iVar20 + 0x50)" * (cast_expression "(undefined4 *)(iVar20 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x50)" ( (binary_expression "iVar20 + 0x50" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" identifier = number_literal) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000b6734:\n      iVar6 = 100;" statement_identifier : (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" identifier = number_literal) ;)) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "uVar18 = 0x301e6;" (assignment_expression "uVar18 = 0x301e6" identifier = number_literal) ;) }))) (labeled_statement "LAB_000b653c:\n  (**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c);" statement_identifier : (expression_statement "(**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(puVar24 + 0xdaa58))" ( (pointer_expression "**(code **)(puVar24 + 0xdaa58)" * (pointer_expression "*(code **)(puVar24 + 0xdaa58)" * (cast_expression "(code **)(puVar24 + 0xdaa58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xdaa58)" ( (binary_expression "puVar24 + 0xdaa58" identifier + number_literal) ))))) )) (argument_list "(0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c)" ( number_literal , (binary_expression "*(int *)(puVar24 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(puVar24 + 0xda7d4)" * (cast_expression "(int *)(puVar24 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xda7d4)" ( (binary_expression "puVar24 + 0xda7d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar24 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(puVar24 + 0xda7d4)" * (cast_expression "(int *)(puVar24 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xda7d4)" ( (binary_expression "puVar24 + 0xda7d4" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(puVar24 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(puVar24 + 0xda7d0)" * (cast_expression "(int *)(puVar24 + 0xda7d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xda7d0)" ( (binary_expression "puVar24 + 0xda7d0" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "iVar6 = 0xb;" (assignment_expression "iVar6 = 0xb" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(iVar20 + 0x40) = 0xb;" (assignment_expression "*(undefined4 *)(iVar20 + 0x40) = 0xb" (pointer_expression "*(undefined4 *)(iVar20 + 0x40)" * (cast_expression "(undefined4 *)(iVar20 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_000b6458:\n  while (iStack_ac != *piVar23) {\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }" statement_identifier : (while_statement "while (iStack_ac != *piVar23) {\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }" while (parenthesized_expression "(iStack_ac != *piVar23)" ( (binary_expression "iStack_ac != *piVar23" identifier != (pointer_expression "*piVar23" * identifier)) )) (compound_statement "{\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }" { (expression_statement "(**(code **)(puVar24 + 0xdac70))();" (call_expression "(**(code **)(puVar24 + 0xdac70))()" (parenthesized_expression "(**(code **)(puVar24 + 0xdac70))" ( (pointer_expression "**(code **)(puVar24 + 0xdac70)" * (pointer_expression "*(code **)(puVar24 + 0xdac70)" * (cast_expression "(code **)(puVar24 + 0xdac70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0xdac70)" ( (binary_expression "puVar24 + 0xdac70" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000b6830:\n    iVar16 = 0;" statement_identifier : (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);" statement_identifier : (expression_statement "iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);" (assignment_expression "iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14)" identifier = (call_expression "FUN_000b5b8c(iVar20,iVar16,piVar14)" identifier (argument_list "(iVar20,iVar16,piVar14)" ( identifier , identifier , identifier )))) ;)) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" * (cast_expression "(int *)(iVar20 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x40)" ( (binary_expression "iVar20 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }" { (expression_statement "*piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);" (assignment_expression "*piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8)" (pointer_expression "*piVar13" * identifier) = (binary_expression "*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8)" (pointer_expression "*(int *)(iVar20 + 0xc)" * (cast_expression "(int *)(iVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;" (assignment_expression "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar20 + 8) + *piVar14" (pointer_expression "*(int *)(iVar20 + 8)" * (cast_expression "(int *)(iVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) )))) + (pointer_expression "*piVar14" * identifier))) ;) (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" identifier = number_literal) ;) })) }))) (return_statement "return iVar6;" return identifier ;) (labeled_statement "code_r0x000b6070:\n  piVar14 = *(int **)pdVar10;" statement_identifier : (expression_statement "piVar14 = *(int **)pdVar10;" (assignment_expression "piVar14 = *(int **)pdVar10" identifier = (pointer_expression "*(int **)pdVar10" * (cast_expression "(int **)pdVar10" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;)) (expression_statement "puVar17 = *(undefined4 **)((int)pdVar10 + 4);" (assignment_expression "puVar17 = *(undefined4 **)((int)pdVar10 + 4)" identifier = (pointer_expression "*(undefined4 **)((int)pdVar10 + 4)" * (cast_expression "(undefined4 **)((int)pdVar10 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar10 + 4)" ( (binary_expression "(int)pdVar10 + 4" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar25 = *pdVar10;" (assignment_expression "dVar25 = *pdVar10" identifier = (pointer_expression "*pdVar10" * identifier)) ;) (expression_statement "uVar2 = *(ushort *)(pdVar7 + 1);" (assignment_expression "uVar2 = *(ushort *)(pdVar7 + 1)" identifier = (pointer_expression "*(ushort *)(pdVar7 + 1)" * (cast_expression "(ushort *)(pdVar7 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar7 + 1)" ( (binary_expression "pdVar7 + 1" identifier + number_literal) ))))) ;) (expression_statement "piVar13 = (int *)(uVar2 & 0x2400);" (assignment_expression "piVar13 = (int *)(uVar2 & 0x2400)" identifier = (cast_expression "(int *)(uVar2 & 0x2400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar2 & 0x2400)" ( (binary_expression "uVar2 & 0x2400" identifier & number_literal) )))) ;) (if_statement "if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }\n  }\n  else {\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }" if (parenthesized_expression "(unaff_s5 == (undefined *)0x1)" ( (binary_expression "unaff_s5 == (undefined *)0x1" identifier == (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }\n  }" { (if_statement "if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }" if (parenthesized_expression "((uVar2 & 0x2400) == 0)" ( (binary_expression "(uVar2 & 0x2400) == 0" (parenthesized_expression "(uVar2 & 0x2400)" ( (binary_expression "uVar2 & 0x2400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }" { (expression_statement "*(undefined4 **)((int)pdVar7 + 4) = puVar17;" (assignment_expression "*(undefined4 **)((int)pdVar7 + 4) = puVar17" (pointer_expression "*(undefined4 **)((int)pdVar7 + 4)" * (cast_expression "(undefined4 **)((int)pdVar7 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar7 + 4)" ( (binary_expression "(int)pdVar7 + 4" (cast_expression "(int)pdVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)pdVar7 = piVar14;" (assignment_expression "*(int **)pdVar7 = piVar14" (pointer_expression "*(int **)pdVar7" * (cast_expression "(int **)pdVar7" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined2 *)(pdVar7 + 1) = 4;" (assignment_expression "*(undefined2 *)(pdVar7 + 1) = 4" (pointer_expression "*(undefined2 *)(pdVar7 + 1)" * (cast_expression "(undefined2 *)(pdVar7 + 1)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar7 + 1)" ( (binary_expression "pdVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }" else (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x20fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x20fc)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x20fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x20fc)" ( (binary_expression "PTR_LAB_00190ba8 + -0x20fc" identifier + number_literal) )))) )) (argument_list "(pdVar7)" ( identifier ))) ;) }))) }) (else_clause "else {\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }" else (compound_statement "{\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }" { (expression_statement "local_40 = piVar14;" (assignment_expression "local_40 = piVar14" identifier = identifier) ;) (expression_statement "local_3c = puVar17;" (assignment_expression "local_3c = puVar17" identifier = identifier) ;) (if_statement "if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }" if (parenthesized_expression "((uVar2 & 0x2400) == 0)" ( (binary_expression "(uVar2 & 0x2400) == 0" (parenthesized_expression "(uVar2 & 0x2400)" ( (binary_expression "uVar2 & 0x2400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }" { (expression_statement "*(undefined2 *)(pdVar7 + 1) = 1;" (assignment_expression "*(undefined2 *)(pdVar7 + 1) = 1" (pointer_expression "*(undefined2 *)(pdVar7 + 1)" * (cast_expression "(undefined2 *)(pdVar7 + 1)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar7 + 1)" ( (binary_expression "pdVar7 + 1" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }" else (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2170))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2170)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2170)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2170)" ( (binary_expression "PTR_LAB_00190ba8 + -0x2170" identifier + number_literal) )))) )) (argument_list "(pdVar7)" ( identifier ))) ;) }))) (if_statement "if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }" if (parenthesized_expression "(!NAN(dVar25))" ( (unary_expression "!NAN(dVar25)" ! (call_expression "NAN(dVar25)" identifier (argument_list "(dVar25)" ( identifier )))) )) (compound_statement "{\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }" { (expression_statement "*pdVar7 = dVar25;" (assignment_expression "*pdVar7 = dVar25" (pointer_expression "*pdVar7" * identifier) = identifier) ;) (expression_statement "*(undefined2 *)(pdVar7 + 1) = 8;" (assignment_expression "*(undefined2 *)(pdVar7 + 1) = 8" (pointer_expression "*(undefined2 *)(pdVar7 + 1)" * (cast_expression "(undefined2 *)(pdVar7 + 1)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar7 + 1)" ( (binary_expression "pdVar7 + 1" identifier + number_literal) )))) = number_literal) ;) })) }))) (expression_statement "unaff_s4 = (int *)(uint)(iVar20 < (int)param_2);" (assignment_expression "unaff_s4 = (int *)(uint)(iVar20 < (int)param_2)" identifier = (cast_expression "(int *)(uint)(iVar20 < (int)param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar20 < (int)param_2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar20 < (int)param_2)" ( (binary_expression "iVar20 < (int)param_2" identifier < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 8) + 8" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (unaff_s4 == (int *)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar20;\n    goto LAB_000b5de4;\n  }" if (parenthesized_expression "(unaff_s4 == (int *)0x0)" ( (binary_expression "unaff_s4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar6 = 0;\n    unaff_s7 = iVar20;\n    goto LAB_000b5de4;\n  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "unaff_s7 = iVar20;" (assignment_expression "unaff_s7 = iVar20" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (goto_statement "goto LAB_000b5dac;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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 IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) == (char_literal ' escape_sequence ')) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) 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 = (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) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 (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 , (pointer_expression & 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) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 = (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) )))) + (cast_expression ( (type_descriptor TYPE) ) 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 *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) )))) + (cast_expression ( (type_descriptor TYPE) ) 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 *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_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 ( IDENT , LIT , (binary_expression IDENT << LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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) )))) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 + IDENT) ))))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , (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) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (binary_expression IDENT * LIT) + IDENT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , 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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , IDENT ))) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 + IDENT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) || (parenthesized_expression ( (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 (binary_expression IDENT != LIT) && (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 = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) )) << LIT) ))) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( BOOL )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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 { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_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) )))) + (binary_expression IDENT * LIT)) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_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) )))) + (binary_expression IDENT * LIT)) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_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) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) * LIT)) )))) = 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 = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (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 ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * 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 ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) (return_statement return IDENT ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (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 *)) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (unary_expression ! (call_expression IDENT (argument_list ( IDENT )))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })))
(function_definition "int FUN_000b5d20(int param_1,int *param_2,int *param_3,undefined4 *param_4)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  double *pdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *pdVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  int *piVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 uVar18;\n  int iVar19;\n  int iVar20;\n  int *unaff_s0;\n  undefined *unaff_s1;\n  int *unaff_s2;\n  int iVar21;\n  int *unaff_s3;\n  int iVar22;\n  int *unaff_s4;\n  int *piVar23;\n  undefined *unaff_s5;\n  int unaff_s7;\n  undefined *puVar24;\n  int unaff_s8;\n  double dVar25;\n  int iStack_b4;\n  int iStack_b0;\n  int iStack_ac;\n  int *piStack_a8;\n  undefined *puStack_a4;\n  int *piStack_a0;\n  int *piStack_9c;\n  int *piStack_98;\n  undefined *puStack_94;\n  undefined *puStack_90;\n  int iStack_8c;\n  int iStack_88;\n  code *pcStack_84;\n  undefined *local_70;\n  int *local_40;\n  undefined4 *local_3c;\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar24 = PTR_LAB_00190bc0;\n  local_34 = *(int *)PTR___stack_chk_guard_00190e24;\n  piVar13 = param_2;\n  piVar14 = param_3;\n  puVar17 = param_4;\n  if (0 < (int)param_2) {\n    iVar20 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = (int *)0x1;\n    unaff_s7 = iVar20;\nLAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }\n    piVar13 = (int *)&DAT_00000009;\n    iVar6 = FUN_000b57e0(param_1);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar20 = *(int *)(param_1 + 8);\n    piVar13 = (int *)(iVar20 + 1);\n    if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    *(int **)(param_1 + 8) = piVar13;\n    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);\n    if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = param_3;\n    unaff_s2 = param_2;\n    unaff_s8 = param_1;\n    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  iVar6 = 0;\n  param_3 = unaff_s0;\n  param_2 = unaff_s2;\n  param_1 = unaff_s8;\nLAB_000b5de4:\n  if (local_34 == *(int *)puVar3) {\n    return iVar6;\n  }\n  pcVar4 = FUN_000b6188;\n  iVar20 = local_34;\n  puVar24 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_90 = puVar3;\n  piVar23 = *(int **)(puVar24 + 0xdac9c);\n  iVar6 = *(int *)(iVar20 + 0x5c);\n  iStack_ac = *piVar23;\n  piStack_a8 = param_3;\n  puStack_a4 = unaff_s1;\n  piStack_a0 = param_2;\n  piStack_9c = unaff_s3;\n  piStack_98 = unaff_s4;\n  puStack_94 = unaff_s5;\n  iStack_8c = unaff_s7;\n  iStack_88 = param_1;\n  pcStack_84 = pcVar4;\n  if (iVar6 != 0) {\n    iVar16 = *(int *)(iVar20 + 0x4c);\n    iVar21 = 0;\n    if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }\n    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);\n  }\n  iVar6 = FUN_000b57e0(iVar20,2);\n  *(int *)(iVar20 + 0x40) = iVar6;\n  if (iVar6 != 0) goto LAB_000b6458;\n  if (*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)) {\nLAB_000b6494:\n    iVar6 = 0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20);\n  iVar6 = *(int *)(iVar20 + 8);\n  iVar16 = *(int *)(iVar20 + 0xc);\n  iVar21 = *(int *)(puVar24 + 0xdaa20);\n  *(int *)(iVar20 + 4) = iVar6;\n  *(int *)(iVar20 + 8) = iVar6 + 1;\n  bVar1 = *(byte *)(iVar16 + iVar6);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }\n    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);\n    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);\n    if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar20 + 0x30) = 0;\n    iStack_b0 = iStack_b0 - iVar6;\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;\n    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);\n    if (iStack_b4 != 0) goto LAB_000b6434;\n    iVar6 = *(int *)(iVar20 + 0x4c) * 8;\n    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);\n    (**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);\n    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n    *(int *)(iVar20 + 0x58) = iVar6;\n    *(int *)(iVar20 + 0x40) = iStack_b4;\n    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;\n    iVar6 = iStack_b4;\n    if (iStack_b4 != 0) goto LAB_000b6458;\n    iVar6 = FUN_000b57e0(iVar20,2);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 != 0) goto LAB_000b6458;\n    iVar6 = *(int *)(iVar20 + 8);\n    *(int *)(iVar20 + 4) = iVar6;\n    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;\n    iVar16 = *(int *)(iVar20 + 0xc);\n    *(int *)(iVar20 + 8) = iVar6 + 1;\n    bVar1 = *(byte *)(iVar16 + iVar6);\n  }\n  if ((*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c);\n  iVar6 = 0xb;\n  *(undefined4 *)(iVar20 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_ac != *piVar23) {\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }\n  return iVar6;\ncode_r0x000b6070:\n  piVar14 = *(int **)pdVar10;\n  puVar17 = *(undefined4 **)((int)pdVar10 + 4);\n  dVar25 = *pdVar10;\n  uVar2 = *(ushort *)(pdVar7 + 1);\n  piVar13 = (int *)(uVar2 & 0x2400);\n  if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }\n  }\n  else {\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }\n  unaff_s4 = (int *)(uint)(iVar20 < (int)param_2);\n  *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8;\n  if (unaff_s4 == (int *)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar20;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" (primitive_type "int") (function_declarator "FUN_000b5d20(int param_1,int *param_2,int *param_3,undefined4 *param_4)" (identifier "FUN_000b5d20") (parameter_list "(int param_1,int *param_2,int *param_3,undefined4 *param_4)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "undefined4 *param_4" (type_identifier "undefined4") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  double *pdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *pdVar10;\n  byte *pbVar11;\n  char *pcVar12;\n  int *piVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 uVar18;\n  int iVar19;\n  int iVar20;\n  int *unaff_s0;\n  undefined *unaff_s1;\n  int *unaff_s2;\n  int iVar21;\n  int *unaff_s3;\n  int iVar22;\n  int *unaff_s4;\n  int *piVar23;\n  undefined *unaff_s5;\n  int unaff_s7;\n  undefined *puVar24;\n  int unaff_s8;\n  double dVar25;\n  int iStack_b4;\n  int iStack_b0;\n  int iStack_ac;\n  int *piStack_a8;\n  undefined *puStack_a4;\n  int *piStack_a0;\n  int *piStack_9c;\n  int *piStack_98;\n  undefined *puStack_94;\n  undefined *puStack_90;\n  int iStack_8c;\n  int iStack_88;\n  code *pcStack_84;\n  undefined *local_70;\n  int *local_40;\n  undefined4 *local_3c;\n  int local_34;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar24 = PTR_LAB_00190bc0;\n  local_34 = *(int *)PTR___stack_chk_guard_00190e24;\n  piVar13 = param_2;\n  piVar14 = param_3;\n  puVar17 = param_4;\n  if (0 < (int)param_2) {\n    iVar20 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = (int *)0x1;\n    unaff_s7 = iVar20;\nLAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }\n    piVar13 = (int *)&DAT_00000009;\n    iVar6 = FUN_000b57e0(param_1);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar20 = *(int *)(param_1 + 8);\n    piVar13 = (int *)(iVar20 + 1);\n    if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    *(int **)(param_1 + 8) = piVar13;\n    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);\n    if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = param_3;\n    unaff_s2 = param_2;\n    unaff_s8 = param_1;\n    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  iVar6 = 0;\n  param_3 = unaff_s0;\n  param_2 = unaff_s2;\n  param_1 = unaff_s8;\nLAB_000b5de4:\n  if (local_34 == *(int *)puVar3) {\n    return iVar6;\n  }\n  pcVar4 = FUN_000b6188;\n  iVar20 = local_34;\n  puVar24 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_90 = puVar3;\n  piVar23 = *(int **)(puVar24 + 0xdac9c);\n  iVar6 = *(int *)(iVar20 + 0x5c);\n  iStack_ac = *piVar23;\n  piStack_a8 = param_3;\n  puStack_a4 = unaff_s1;\n  piStack_a0 = param_2;\n  piStack_9c = unaff_s3;\n  piStack_98 = unaff_s4;\n  puStack_94 = unaff_s5;\n  iStack_8c = unaff_s7;\n  iStack_88 = param_1;\n  pcStack_84 = pcVar4;\n  if (iVar6 != 0) {\n    iVar16 = *(int *)(iVar20 + 0x4c);\n    iVar21 = 0;\n    if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }\n    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);\n  }\n  iVar6 = FUN_000b57e0(iVar20,2);\n  *(int *)(iVar20 + 0x40) = iVar6;\n  if (iVar6 != 0) goto LAB_000b6458;\n  if (*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)) {\nLAB_000b6494:\n    iVar6 = 0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20);\n  iVar6 = *(int *)(iVar20 + 8);\n  iVar16 = *(int *)(iVar20 + 0xc);\n  iVar21 = *(int *)(puVar24 + 0xdaa20);\n  *(int *)(iVar20 + 4) = iVar6;\n  *(int *)(iVar20 + 8) = iVar6 + 1;\n  bVar1 = *(byte *)(iVar16 + iVar6);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }\n    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);\n    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);\n    if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar20 + 0x30) = 0;\n    iStack_b0 = iStack_b0 - iVar6;\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;\n    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);\n    if (iStack_b4 != 0) goto LAB_000b6434;\n    iVar6 = *(int *)(iVar20 + 0x4c) * 8;\n    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);\n    (**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);\n    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n    *(int *)(iVar20 + 0x58) = iVar6;\n    *(int *)(iVar20 + 0x40) = iStack_b4;\n    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;\n    iVar6 = iStack_b4;\n    if (iStack_b4 != 0) goto LAB_000b6458;\n    iVar6 = FUN_000b57e0(iVar20,2);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 != 0) goto LAB_000b6458;\n    iVar6 = *(int *)(iVar20 + 8);\n    *(int *)(iVar20 + 4) = iVar6;\n    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;\n    iVar16 = *(int *)(iVar20 + 0xc);\n    *(int *)(iVar20 + 8) = iVar6 + 1;\n    bVar1 = *(byte *)(iVar16 + iVar6);\n  }\n  if ((*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c);\n  iVar6 = 0xb;\n  *(undefined4 *)(iVar20 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_ac != *piVar23) {\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }\n  return iVar6;\ncode_r0x000b6070:\n  piVar14 = *(int **)pdVar10;\n  puVar17 = *(undefined4 **)((int)pdVar10 + 4);\n  dVar25 = *pdVar10;\n  uVar2 = *(ushort *)(pdVar7 + 1);\n  piVar13 = (int *)(uVar2 & 0x2400);\n  if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }\n  }\n  else {\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }\n  unaff_s4 = (int *)(uint)(iVar20 < (int)param_2);\n  *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8;\n  if (unaff_s4 == (int *)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar20;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "ushort uVar2;" (type_identifier "ushort") (identifier "uVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "code *pcVar4;" (type_identifier "code") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "code *pcVar5;" (type_identifier "code") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "double *pdVar7;" (primitive_type "double") (pointer_declarator "*pdVar7" (* "*") (identifier "pdVar7")) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "double *pdVar10;" (primitive_type "double") (pointer_declarator "*pdVar10" (* "*") (identifier "pdVar10")) (; ";")) (declaration "byte *pbVar11;" (type_identifier "byte") (pointer_declarator "*pbVar11" (* "*") (identifier "pbVar11")) (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "undefined4 *puVar17;" (type_identifier "undefined4") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "undefined4 uVar18;" (type_identifier "undefined4") (identifier "uVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "int *unaff_s0;" (primitive_type "int") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")) (; ";")) (declaration "undefined *unaff_s1;" (type_identifier "undefined") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "int *unaff_s2;" (primitive_type "int") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")) (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "int *unaff_s3;" (primitive_type "int") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")) (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "int *unaff_s4;" (primitive_type "int") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")) (; ";")) (declaration "int *piVar23;" (primitive_type "int") (pointer_declarator "*piVar23" (* "*") (identifier "piVar23")) (; ";")) (declaration "undefined *unaff_s5;" (type_identifier "undefined") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "int unaff_s7;" (primitive_type "int") (identifier "unaff_s7") (; ";")) (declaration "undefined *puVar24;" (type_identifier "undefined") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "int unaff_s8;" (primitive_type "int") (identifier "unaff_s8") (; ";")) (declaration "double dVar25;" (primitive_type "double") (identifier "dVar25") (; ";")) (declaration "int iStack_b4;" (primitive_type "int") (identifier "iStack_b4") (; ";")) (declaration "int iStack_b0;" (primitive_type "int") (identifier "iStack_b0") (; ";")) (declaration "int iStack_ac;" (primitive_type "int") (identifier "iStack_ac") (; ";")) (declaration "int *piStack_a8;" (primitive_type "int") (pointer_declarator "*piStack_a8" (* "*") (identifier "piStack_a8")) (; ";")) (declaration "undefined *puStack_a4;" (type_identifier "undefined") (pointer_declarator "*puStack_a4" (* "*") (identifier "puStack_a4")) (; ";")) (declaration "int *piStack_a0;" (primitive_type "int") (pointer_declarator "*piStack_a0" (* "*") (identifier "piStack_a0")) (; ";")) (declaration "int *piStack_9c;" (primitive_type "int") (pointer_declarator "*piStack_9c" (* "*") (identifier "piStack_9c")) (; ";")) (declaration "int *piStack_98;" (primitive_type "int") (pointer_declarator "*piStack_98" (* "*") (identifier "piStack_98")) (; ";")) (declaration "undefined *puStack_94;" (type_identifier "undefined") (pointer_declarator "*puStack_94" (* "*") (identifier "puStack_94")) (; ";")) (declaration "undefined *puStack_90;" (type_identifier "undefined") (pointer_declarator "*puStack_90" (* "*") (identifier "puStack_90")) (; ";")) (declaration "int iStack_8c;" (primitive_type "int") (identifier "iStack_8c") (; ";")) (declaration "int iStack_88;" (primitive_type "int") (identifier "iStack_88") (; ";")) (declaration "code *pcStack_84;" (type_identifier "code") (pointer_declarator "*pcStack_84" (* "*") (identifier "pcStack_84")) (; ";")) (declaration "undefined *local_70;" (type_identifier "undefined") (pointer_declarator "*local_70" (* "*") (identifier "local_70")) (; ";")) (declaration "int *local_40;" (primitive_type "int") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "undefined4 *local_3c;" (type_identifier "undefined4") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (expression_statement "puVar3 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar3 = PTR___stack_chk_guard_00190e24" (identifier "puVar3") (= "=") (identifier "PTR___stack_chk_guard_00190e24")) (; ";")) (expression_statement "puVar24 = PTR_LAB_00190bc0;" (assignment_expression "puVar24 = PTR_LAB_00190bc0" (identifier "puVar24") (= "=") (identifier "PTR_LAB_00190bc0")) (; ";")) (expression_statement "local_34 = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_34 = *(int *)PTR___stack_chk_guard_00190e24" (identifier "local_34") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00190e24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00190e24")))) (; ";")) (expression_statement "piVar13 = param_2;" (assignment_expression "piVar13 = param_2" (identifier "piVar13") (= "=") (identifier "param_2")) (; ";")) (expression_statement "piVar14 = param_3;" (assignment_expression "piVar14 = param_3" (identifier "piVar14") (= "=") (identifier "param_3")) (; ";")) (expression_statement "puVar17 = param_4;" (assignment_expression "puVar17 = param_4" (identifier "puVar17") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (0 < (int)param_2) {\n    iVar20 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = (int *)0x1;\n    unaff_s7 = iVar20;\nLAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }\n    piVar13 = (int *)&DAT_00000009;\n    iVar6 = FUN_000b57e0(param_1);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar20 = *(int *)(param_1 + 8);\n    piVar13 = (int *)(iVar20 + 1);\n    if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    *(int **)(param_1 + 8) = piVar13;\n    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);\n    if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = param_3;\n    unaff_s2 = param_2;\n    unaff_s8 = param_1;\n    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" (if "if") (parenthesized_expression "(0 < (int)param_2)" (( "(") (binary_expression "0 < (int)param_2" (number_literal "0") (< "<") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) () ")")) (compound_statement "{\n    iVar20 = 0;\n    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);\n    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);\n    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;\n    unaff_s5 = PTR_LAB_00190ba8;\nLAB_000b5dac:\n    unaff_s3 = (int *)0x1;\n    unaff_s7 = iVar20;\nLAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }\n    piVar13 = (int *)&DAT_00000009;\n    iVar6 = FUN_000b57e0(param_1);\n    if (iVar6 != 0) goto LAB_000b5de4;\n    iVar20 = *(int *)(param_1 + 8);\n    piVar13 = (int *)(iVar20 + 1);\n    if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }\n    *(int **)(param_1 + 8) = piVar13;\n    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);\n    if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }\n    unaff_s7 = unaff_s7 + 1;\n    unaff_s0 = param_3;\n    unaff_s2 = param_2;\n    unaff_s8 = param_1;\n    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" ({ "{") (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924)" (identifier "pcVar4") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x924)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x924)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x924" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x924")) () ")")))) (; ";")) (expression_statement "pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);" (assignment_expression "pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48)" (identifier "pcVar5") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2b48)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2b48)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x2b48" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x2b48")) () ")")))) (; ";")) (expression_statement "unaff_s1 = PTR_LAB_00190c2c + 0x57e0;" (assignment_expression "unaff_s1 = PTR_LAB_00190c2c + 0x57e0" (identifier "unaff_s1") (= "=") (binary_expression "PTR_LAB_00190c2c + 0x57e0" (identifier "PTR_LAB_00190c2c") (+ "+") (number_literal "0x57e0"))) (; ";")) (expression_statement "unaff_s5 = PTR_LAB_00190ba8;" (assignment_expression "unaff_s5 = PTR_LAB_00190ba8" (identifier "unaff_s5") (= "=") (identifier "PTR_LAB_00190ba8")) (; ";")) (labeled_statement "LAB_000b5dac:\n    unaff_s3 = (int *)0x1;" (statement_identifier "LAB_000b5dac") (: ":") (expression_statement "unaff_s3 = (int *)0x1;" (assignment_expression "unaff_s3 = (int *)0x1" (identifier "unaff_s3") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";"))) (expression_statement "unaff_s7 = iVar20;" (assignment_expression "unaff_s7 = iVar20" (identifier "unaff_s7") (= "=") (identifier "iVar20")) (; ";")) (labeled_statement "LAB_000b5db4:\n    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }" (statement_identifier "LAB_000b5db4") (: ":") (while_statement "while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }" (while "while") (parenthesized_expression "((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0')))" (( "(") (parenthesized_expression "(param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))" (( "(") (binary_expression "param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0')" (binary_expression "param_3 != (int *)0x0" (identifier "param_3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (parenthesized_expression "(*(char *)((int)param_3 + unaff_s7) == '\0')" (( "(") (binary_expression "*(char *)((int)param_3 + unaff_s7) == '\0'" (pointer_expression "*(char *)((int)param_3 + unaff_s7)" (* "*") (cast_expression "(char *)((int)param_3 + unaff_s7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_3 + unaff_s7)" (( "(") (binary_expression "(int)param_3 + unaff_s7" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (+ "+") (identifier "unaff_s7")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")")) (compound_statement "{\n      unaff_s7 = unaff_s7 + 1;\n      iVar6 = 0;\n      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;\n    }" ({ "{") (expression_statement "unaff_s7 = unaff_s7 + 1;" (assignment_expression "unaff_s7 = unaff_s7 + 1" (identifier "unaff_s7") (= "=") (binary_expression "unaff_s7 + 1" (identifier "unaff_s7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;" (if "if") (parenthesized_expression "((int)param_2 <= unaff_s7)" (( "(") (binary_expression "(int)param_2 <= unaff_s7" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (<= "<=") (identifier "unaff_s7")) () ")")) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";"))) (} "}")))) (expression_statement "piVar13 = (int *)&DAT_00000009;" (assignment_expression "piVar13 = (int *)&DAT_00000009" (identifier "piVar13") (= "=") (cast_expression "(int *)&DAT_00000009" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000009" (& "&") (identifier "DAT_00000009")))) (; ";")) (expression_statement "iVar6 = FUN_000b57e0(param_1);" (assignment_expression "iVar6 = FUN_000b57e0(param_1)" (identifier "iVar6") (= "=") (call_expression "FUN_000b57e0(param_1)" (identifier "FUN_000b57e0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_000b5de4;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";"))) (expression_statement "iVar20 = *(int *)(param_1 + 8);" (assignment_expression "iVar20 = *(int *)(param_1 + 8)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "piVar13 = (int *)(iVar20 + 1);" (assignment_expression "piVar13 = (int *)(iVar20 + 1)" (identifier "piVar13") (= "=") (cast_expression "(int *)(iVar20 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 1)" (( "(") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x10) <= iVar20) {\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x10) <= iVar20)" (( "(") (binary_expression "*(int *)(param_1 + 0x10) <= iVar20" (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (<= "<=") (identifier "iVar20")) () ")")) (compound_statement "{\n      puVar17 = (undefined4 *)&DAT_000300ea;\nLAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;\n      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      iVar6 = 0xb;\n      goto LAB_000b5de4;\n    }" ({ "{") (expression_statement "puVar17 = (undefined4 *)&DAT_000300ea;" (assignment_expression "puVar17 = (undefined4 *)&DAT_000300ea" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)&DAT_000300ea" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_000300ea" (& "&") (identifier "DAT_000300ea")))) (; ";")) (labeled_statement "LAB_000b5e90:\n      local_70 = PTR_LAB_00190958 + 0x625c;" (statement_identifier "LAB_000b5e90") (: ":") (expression_statement "local_70 = PTR_LAB_00190958 + 0x625c;" (assignment_expression "local_70 = PTR_LAB_00190958 + 0x625c" (identifier "local_70") (= "=") (binary_expression "PTR_LAB_00190958 + 0x625c" (identifier "PTR_LAB_00190958") (+ "+") (number_literal "0x625c"))) (; ";"))) (expression_statement "piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);" (assignment_expression "piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" (identifier "piVar14") (= "=") (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" (( "(") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x5e64")) () ")")))) (; ";")) (expression_statement "piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);" (assignment_expression "piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" (identifier "piVar13") (= "=") (cast_expression "(int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" (( "(") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x6378")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_sqlite3_log_00190be0)(0xb);" (call_expression "(*(code *)PTR_sqlite3_log_00190be0)(0xb)" (parenthesized_expression "(*(code *)PTR_sqlite3_log_00190be0)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_log_00190be0" (* "*") (cast_expression "(code *)PTR_sqlite3_log_00190be0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_log_00190be0"))) () ")")) (argument_list "(0xb)" (( "(") (number_literal "0xb") () ")"))) (; ";")) (expression_statement "iVar6 = 0xb;" (assignment_expression "iVar6 = 0xb" (identifier "iVar6") (= "=") (number_literal "0xb")) (; ";")) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";")) (} "}"))) (expression_statement "*(int **)(param_1 + 8) = piVar13;" (assignment_expression "*(int **)(param_1 + 8) = piVar13" (pointer_expression "*(int **)(param_1 + 8)" (* "*") (cast_expression "(int **)(param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "piVar13")) (; ";")) (expression_statement "unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);" (assignment_expression "unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20)" (identifier "unaff_s5") (= "=") (binary_expression "(undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20)" (cast_expression "(undefined *)(uint)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)(*(int *)(param_1 + 0xc) + iVar20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0xc) + iVar20)" (( "(") (binary_expression "*(int *)(param_1 + 0xc) + iVar20" (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (identifier "iVar20")) () ")"))))) (; ";")) (if_statement "if (unaff_s5 != (undefined *)0x0) {\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }" (if "if") (parenthesized_expression "(unaff_s5 != (undefined *)0x0)" (( "(") (binary_expression "unaff_s5 != (undefined *)0x0" (identifier "unaff_s5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      puVar17 = (undefined4 *)&DAT_00000028;\n      piVar14 = (int *)0x0;\n      unaff_s4 = param_4 + unaff_s7;\n      pdVar7 = (double *)(*pcVar4)(0);\n      if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(pdVar7 + 1) = 1;\n      *(undefined4 *)(pdVar7 + 4) = 0;\n      *unaff_s4 = (int)pdVar7;\n      piVar14 = *(int **)(param_1 + 8);\n      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);\n      if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }\n      iVar20 = unaff_s7 + 1;\n      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);\n      if (piVar13 != (int *)0x0) goto code_r0x000b6070;\n    }" ({ "{") (expression_statement "puVar17 = (undefined4 *)&DAT_00000028;" (assignment_expression "puVar17 = (undefined4 *)&DAT_00000028" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)&DAT_00000028" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000028" (& "&") (identifier "DAT_00000028")))) (; ";")) (expression_statement "piVar14 = (int *)0x0;" (assignment_expression "piVar14 = (int *)0x0" (identifier "piVar14") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_s4 = param_4 + unaff_s7;" (assignment_expression "unaff_s4 = param_4 + unaff_s7" (identifier "unaff_s4") (= "=") (binary_expression "param_4 + unaff_s7" (identifier "param_4") (+ "+") (identifier "unaff_s7"))) (; ";")) (expression_statement "pdVar7 = (double *)(*pcVar4)(0);" (assignment_expression "pdVar7 = (double *)(*pcVar4)(0)" (identifier "pdVar7") (= "=") (cast_expression "(double *)(*pcVar4)(0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar4)(0)" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (pdVar7 == (double *)0x0) {\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }" (if "if") (parenthesized_expression "(pdVar7 == (double *)0x0)" (( "(") (binary_expression "pdVar7 == (double *)0x0" (identifier "pdVar7") (== "==") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar6 = 7;\n        *unaff_s4 = 0;\n        goto LAB_000b5de4;\n      }" ({ "{") (expression_statement "iVar6 = 7;" (assignment_expression "iVar6 = 7" (identifier "iVar6") (= "=") (number_literal "7")) (; ";")) (expression_statement "*unaff_s4 = 0;" (assignment_expression "*unaff_s4 = 0" (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";")) (} "}"))) (expression_statement "*(undefined2 *)(pdVar7 + 1) = 1;" (assignment_expression "*(undefined2 *)(pdVar7 + 1) = 1" (pointer_expression "*(undefined2 *)(pdVar7 + 1)" (* "*") (cast_expression "(undefined2 *)(pdVar7 + 1)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar7 + 1)" (( "(") (binary_expression "pdVar7 + 1" (identifier "pdVar7") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(pdVar7 + 4) = 0;" (assignment_expression "*(undefined4 *)(pdVar7 + 4) = 0" (pointer_expression "*(undefined4 *)(pdVar7 + 4)" (* "*") (cast_expression "(undefined4 *)(pdVar7 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar7 + 4)" (( "(") (binary_expression "pdVar7 + 4" (identifier "pdVar7") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*unaff_s4 = (int)pdVar7;" (assignment_expression "*unaff_s4 = (int)pdVar7" (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4")) (= "=") (cast_expression "(int)pdVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar7"))) (; ";")) (expression_statement "piVar14 = *(int **)(param_1 + 8);" (assignment_expression "piVar14 = *(int **)(param_1 + 8)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)(param_1 + 8)" (* "*") (cast_expression "(int **)(param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);" (assignment_expression "pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14)" (identifier "pdVar10") (= "=") (cast_expression "(double *)(*(int *)(param_1 + 0xc) + (int)piVar14)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0xc) + (int)piVar14)" (( "(") (binary_expression "*(int *)(param_1 + 0xc) + (int)piVar14" (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14"))) () ")")))) (; ";")) (if_statement "if (unaff_s5 + -3 < (undefined *)0x2) {\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }" (if "if") (parenthesized_expression "(unaff_s5 + -3 < (undefined *)0x2)" (( "(") (binary_expression "unaff_s5 + -3 < (undefined *)0x2" (binary_expression "unaff_s5 + -3" (identifier "unaff_s5") (+ "+") (number_literal "-3")) (< "<") (cast_expression "(undefined *)0x2" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")")) (compound_statement "{\n        if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);\n        piVar13 = local_40;\n        iVar6 = FUN_000b57e0(param_1);\n        piVar23 = local_40;\n        if (iVar6 != 0) goto LAB_000b5de4;\n        puVar17 = (undefined4 *)&DAT_00030000;\n        if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }\n        iVar20 = *unaff_s4;\n        unaff_s4 = *(int **)(param_1 + 0xc);\n        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();\n        piVar14 = piVar15;\n        unaff_s3 = piVar23;\n        if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }\n        iVar6 = 7;\n        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n        goto LAB_000b5de4;\n      }" ({ "{") (if_statement "if ((char)*(byte *)pdVar10 < '\0') {\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }\n        else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }" (if "if") (parenthesized_expression "((char)*(byte *)pdVar10 < '\0')" (( "(") (binary_expression "(char)*(byte *)pdVar10 < '\0'" (cast_expression "(char)*(byte *)pdVar10" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)pdVar10" (* "*") (cast_expression "(byte *)pdVar10" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pdVar10")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);\n          piVar14 = *(int **)(param_1 + 8);\n        }" ({ "{") (expression_statement "iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);" (assignment_expression "iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40)" (identifier "iVar20") (= "=") (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x3388))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x3388)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x3388)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x3388)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x3388" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x3388")) () ")")))) () ")")) (argument_list "(pdVar10,&local_40)" (( "(") (identifier "pdVar10") (, ",") (pointer_expression "&local_40" (& "&") (identifier "local_40")) () ")")))) (; ";")) (expression_statement "piVar14 = *(int **)(param_1 + 8);" (assignment_expression "piVar14 = *(int **)(param_1 + 8)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)(param_1 + 8)" (* "*") (cast_expression "(int **)(param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }" (else "else") (compound_statement "{\n          iVar20 = 1;\n          local_40 = (int *)(uint)*(byte *)pdVar10;\n        }" ({ "{") (expression_statement "iVar20 = 1;" (assignment_expression "iVar20 = 1" (identifier "iVar20") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_40 = (int *)(uint)*(byte *)pdVar10;" (assignment_expression "local_40 = (int *)(uint)*(byte *)pdVar10" (identifier "local_40") (= "=") (binary_expression "(int *)(uint)*(byte *)pdVar10" (cast_expression "(int *)(uint)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)pdVar10" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pdVar10")))) (; ";")) (} "}")))) (expression_statement "*(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);" (assignment_expression "*(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14)" (pointer_expression "*(undefined1 **)(param_1 + 8)" (* "*") (cast_expression "(undefined1 **)(param_1 + 8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (= "=") (cast_expression "(undefined1 *)(iVar20 + (int)piVar14)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + (int)piVar14)" (( "(") (binary_expression "iVar20 + (int)piVar14" (identifier "iVar20") (+ "+") (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14"))) () ")")))) (; ";")) (expression_statement "piVar13 = local_40;" (assignment_expression "piVar13 = local_40" (identifier "piVar13") (= "=") (identifier "local_40")) (; ";")) (expression_statement "iVar6 = FUN_000b57e0(param_1);" (assignment_expression "iVar6 = FUN_000b57e0(param_1)" (identifier "iVar6") (= "=") (call_expression "FUN_000b57e0(param_1)" (identifier "FUN_000b57e0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "piVar23 = local_40;" (assignment_expression "piVar23 = local_40" (identifier "piVar23") (= "=") (identifier "local_40")) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_000b5de4;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";"))) (expression_statement "puVar17 = (undefined4 *)&DAT_00030000;" (assignment_expression "puVar17 = (undefined4 *)&DAT_00030000" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)&DAT_00030000" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00030000" (& "&") (identifier "DAT_00030000")))) (; ";")) (if_statement "if (((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }" (if "if") (parenthesized_expression "(((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40))" (( "(") (binary_expression "((int)local_40 < 0) ||\n           (piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)" (parenthesized_expression "((int)local_40 < 0)" (( "(") (binary_expression "(int)local_40 < 0" (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40")) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)" (( "(") (comma_expression "piVar15 = *(int **)(param_1 + 8),\n           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40" (assignment_expression "piVar15 = *(int **)(param_1 + 8)" (identifier "piVar15") (= "=") (pointer_expression "*(int **)(param_1 + 8)" (* "*") (cast_expression "(int **)(param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (, ",") (binary_expression "*(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40" (binary_expression "*(int *)(param_1 + 0x10) - (int)piVar15" (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (- "-") (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15"))) (< "<") (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40")))) () ")"))) () ")")) (compound_statement "{\n          puVar17 = (undefined4 *)&DAT_000300fd;\n          unaff_s3 = local_40;\n          goto LAB_000b5e90;\n        }" ({ "{") (expression_statement "puVar17 = (undefined4 *)&DAT_000300fd;" (assignment_expression "puVar17 = (undefined4 *)&DAT_000300fd" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)&DAT_000300fd" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_000300fd" (& "&") (identifier "DAT_000300fd")))) (; ";")) (expression_statement "unaff_s3 = local_40;" (assignment_expression "unaff_s3 = local_40" (identifier "unaff_s3") (= "=") (identifier "local_40")) (; ";")) (goto_statement "goto LAB_000b5e90;" (goto "goto") (statement_identifier "LAB_000b5e90") (; ";")) (} "}"))) (expression_statement "iVar20 = *unaff_s4;" (assignment_expression "iVar20 = *unaff_s4" (identifier "iVar20") (= "=") (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4"))) (; ";")) (expression_statement "unaff_s4 = *(int **)(param_1 + 0xc);" (assignment_expression "unaff_s4 = *(int **)(param_1 + 0xc)" (identifier "unaff_s4") (= "=") (pointer_expression "*(int **)(param_1 + 0xc)" (* "*") (cast_expression "(int **)(param_1 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();" (assignment_expression "iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)()" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_sqlite3_initialize_00190b88)()" (parenthesized_expression "(*(code *)PTR_sqlite3_initialize_00190b88)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_initialize_00190b88" (* "*") (cast_expression "(code *)PTR_sqlite3_initialize_00190b88" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_initialize_00190b88"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar14 = piVar15;" (assignment_expression "piVar14 = piVar15" (identifier "piVar14") (= "=") (identifier "piVar15")) (; ";")) (expression_statement "unaff_s3 = piVar23;" (assignment_expression "unaff_s3 = piVar23" (identifier "unaff_s3") (= "=") (identifier "piVar23")) (; ";")) (if_statement "if (iVar6 == 0) {\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          piVar13 = (int *)((int)piVar23 + 1);\n          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));\n          if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }\n        }" ({ "{") (expression_statement "piVar13 = (int *)((int)piVar23 + 1);" (assignment_expression "piVar13 = (int *)((int)piVar23 + 1)" (identifier "piVar13") (= "=") (cast_expression "(int *)((int)piVar23 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar23 + 1)" (( "(") (binary_expression "(int)piVar23 + 1" (cast_expression "(int)piVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar23")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));" (assignment_expression "iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f))" (identifier "iVar6") (= "=") (call_expression "(*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f))" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f))" (( "(") (binary_expression "(uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f)" (call_expression "(uint)(piVar13 < piVar23)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar13 < piVar23)" (( "(") (binary_expression "piVar13 < piVar23" (identifier "piVar13") (< "<") (identifier "piVar23")) () ")"))) (+ "+") (parenthesized_expression "((int)piVar23 >> 0x1f)" (( "(") (binary_expression "(int)piVar23 >> 0x1f" (cast_expression "(int)piVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar23")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            piVar14 = piVar23;\n            uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));\n            iVar6 = 0;\n            if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            iVar20 = unaff_s7 + 1;\n            local_40 = piVar13;\n            if (iVar20 < (int)param_2) goto LAB_000b5dac;\n            goto LAB_000b5de4;\n          }" ({ "{") (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" (identifier "piVar14") (= "=") (identifier "piVar23")) (; ";")) (expression_statement "uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));" (assignment_expression "uVar18 = (*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15))" (identifier "uVar18") (= "=") (call_expression "(*(code *)PTR_memcpy_00190e2c)\n                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15))" (parenthesized_expression "(*(code *)PTR_memcpy_00190e2c)" (( "(") (pointer_expression "*(code *)PTR_memcpy_00190e2c" (* "*") (cast_expression "(code *)PTR_memcpy_00190e2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_00190e2c"))) () ")")) (argument_list "(iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15))" (( "(") (identifier "iVar6") (, ",") (cast_expression "(undefined1 *)((int)unaff_s4 + (int)piVar15)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s4 + (int)piVar15)" (( "(") (binary_expression "(int)unaff_s4 + (int)piVar15" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (+ "+") (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15"))) () ")"))) () ")")))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar20 == 0) {\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }\n            else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }" ({ "{") (expression_statement "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);" (assignment_expression "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" (pointer_expression "*(undefined1 **)(param_1 + 8)" (* "*") (cast_expression "(undefined1 **)(param_1 + 8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (= "=") (cast_expression "(undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 8) + (int)local_40)" (( "(") (binary_expression "*(int *)(param_1 + 8) + (int)local_40" (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (+ "+") (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40"))) () ")")))) (; ";")) (expression_statement "piVar13 = local_40;" (assignment_expression "piVar13 = local_40" (identifier "piVar13") (= "=") (identifier "local_40")) (; ";")) (} "}")) (else_clause "else {\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }" (else "else") (compound_statement "{\n              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);\n              local_70 = PTR_sqlite3_free_0019096c;\n              piVar14 = piVar23;\n              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);\n              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);\n              piVar13 = local_40;\n            }" ({ "{") (expression_statement "puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);" (assignment_expression "puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3)" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)(uint)(unaff_s5 == (undefined *)0x3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(unaff_s5 == (undefined *)0x3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(unaff_s5 == (undefined *)0x3)" (( "(") (binary_expression "unaff_s5 == (undefined *)0x3" (identifier "unaff_s5") (== "==") (cast_expression "(undefined *)0x3" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) () ")"))))) (; ";")) (expression_statement "local_70 = PTR_sqlite3_free_0019096c;" (assignment_expression "local_70 = PTR_sqlite3_free_0019096c" (identifier "local_70") (= "=") (identifier "PTR_sqlite3_free_0019096c")) (; ";")) (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" (identifier "piVar14") (= "=") (identifier "piVar23")) (; ";")) (expression_statement "(*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);" (call_expression "(*(code *)(puVar24 + -0x2aec))(iVar20,uVar18)" (parenthesized_expression "(*(code *)(puVar24 + -0x2aec))" (( "(") (pointer_expression "*(code *)(puVar24 + -0x2aec)" (* "*") (cast_expression "(code *)(puVar24 + -0x2aec)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + -0x2aec)" (( "(") (binary_expression "puVar24 + -0x2aec" (identifier "puVar24") (+ "+") (number_literal "-0x2aec")) () ")")))) () ")")) (argument_list "(iVar20,uVar18)" (( "(") (identifier "iVar20") (, ",") (identifier "uVar18") () ")"))) (; ";")) (expression_statement "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);" (assignment_expression "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" (pointer_expression "*(undefined1 **)(param_1 + 8)" (* "*") (cast_expression "(undefined1 **)(param_1 + 8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (= "=") (cast_expression "(undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 8) + (int)local_40)" (( "(") (binary_expression "*(int *)(param_1 + 8) + (int)local_40" (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (+ "+") (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40"))) () ")")))) (; ";")) (expression_statement "piVar13 = local_40;" (assignment_expression "piVar13 = local_40" (identifier "piVar13") (= "=") (identifier "local_40")) (; ";")) (} "}")))) (expression_statement "iVar20 = unaff_s7 + 1;" (assignment_expression "iVar20 = unaff_s7 + 1" (identifier "iVar20") (= "=") (binary_expression "unaff_s7 + 1" (identifier "unaff_s7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_40 = piVar13;" (assignment_expression "local_40 = piVar13" (identifier "local_40") (= "=") (identifier "piVar13")) (; ";")) (if_statement "if (iVar20 < (int)param_2) goto LAB_000b5dac;" (if "if") (parenthesized_expression "(iVar20 < (int)param_2)" (( "(") (binary_expression "iVar20 < (int)param_2" (identifier "iVar20") (< "<") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) () ")")) (goto_statement "goto LAB_000b5dac;" (goto "goto") (statement_identifier "LAB_000b5dac") (; ";"))) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar6 = 7;" (assignment_expression "iVar6 = 7" (identifier "iVar6") (= "=") (number_literal "7")) (; ";")) (expression_statement "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);" (assignment_expression "*(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" (pointer_expression "*(undefined1 **)(param_1 + 8)" (* "*") (cast_expression "(undefined1 **)(param_1 + 8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (= "=") (cast_expression "(undefined1 *)(*(int *)(param_1 + 8) + (int)local_40)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 8) + (int)local_40)" (( "(") (binary_expression "*(int *)(param_1 + 8) + (int)local_40" (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (+ "+") (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40"))) () ")")))) (; ";")) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";")) (} "}"))) (expression_statement "iVar20 = unaff_s7 + 1;" (assignment_expression "iVar20 = unaff_s7 + 1" (identifier "iVar20") (= "=") (binary_expression "unaff_s7 + 1" (identifier "unaff_s7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);" (assignment_expression "piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2)" (identifier "piVar13") (= "=") (cast_expression "(int *)(uint)(unaff_s5 + -1 < (undefined *)0x2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(unaff_s5 + -1 < (undefined *)0x2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(unaff_s5 + -1 < (undefined *)0x2)" (( "(") (binary_expression "unaff_s5 + -1 < (undefined *)0x2" (binary_expression "unaff_s5 + -1" (identifier "unaff_s5") (+ "+") (number_literal "-1")) (< "<") (cast_expression "(undefined *)0x2" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")"))))) (; ";")) (if_statement "if (piVar13 != (int *)0x0) goto code_r0x000b6070;" (if "if") (parenthesized_expression "(piVar13 != (int *)0x0)" (( "(") (binary_expression "piVar13 != (int *)0x0" (identifier "piVar13") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto code_r0x000b6070;" (goto "goto") (statement_identifier "code_r0x000b6070") (; ";"))) (} "}"))) (expression_statement "unaff_s7 = unaff_s7 + 1;" (assignment_expression "unaff_s7 = unaff_s7 + 1" (identifier "unaff_s7") (= "=") (binary_expression "unaff_s7 + 1" (identifier "unaff_s7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "unaff_s0 = param_3;" (assignment_expression "unaff_s0 = param_3" (identifier "unaff_s0") (= "=") (identifier "param_3")) (; ";")) (expression_statement "unaff_s2 = param_2;" (assignment_expression "unaff_s2 = param_2" (identifier "unaff_s2") (= "=") (identifier "param_2")) (; ";")) (expression_statement "unaff_s8 = param_1;" (assignment_expression "unaff_s8 = param_1" (identifier "unaff_s8") (= "=") (identifier "param_1")) (; ";")) (if_statement "if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;" (if "if") (parenthesized_expression "((int)param_2 <= unaff_s7)" (( "(") (binary_expression "(int)param_2 <= unaff_s7" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (<= "<=") (identifier "unaff_s7")) () ")")) (goto_statement "goto LAB_000b5e64;" (goto "goto") (statement_identifier "LAB_000b5e64") (; ";"))) (goto_statement "goto LAB_000b5db4;" (goto "goto") (statement_identifier "LAB_000b5db4") (; ";")) (} "}"))) (labeled_statement "LAB_000b5e64:\n  iVar6 = 0;" (statement_identifier "LAB_000b5e64") (: ":") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";"))) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" (identifier "param_3") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "param_2 = unaff_s2;" (assignment_expression "param_2 = unaff_s2" (identifier "param_2") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "param_1 = unaff_s8;" (assignment_expression "param_1 = unaff_s8" (identifier "param_1") (= "=") (identifier "unaff_s8")) (; ";")) (labeled_statement "LAB_000b5de4:\n  if (local_34 == *(int *)puVar3) {\n    return iVar6;\n  }" (statement_identifier "LAB_000b5de4") (: ":") (if_statement "if (local_34 == *(int *)puVar3) {\n    return iVar6;\n  }" (if "if") (parenthesized_expression "(local_34 == *(int *)puVar3)" (( "(") (binary_expression "local_34 == *(int *)puVar3" (identifier "local_34") (== "==") (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3")))) () ")")) (compound_statement "{\n    return iVar6;\n  }" ({ "{") (return_statement "return iVar6;" (return "return") (identifier "iVar6") (; ";")) (} "}")))) (expression_statement "pcVar4 = FUN_000b6188;" (assignment_expression "pcVar4 = FUN_000b6188" (identifier "pcVar4") (= "=") (identifier "FUN_000b6188")) (; ";")) (expression_statement "iVar20 = local_34;" (assignment_expression "iVar20 = local_34" (identifier "iVar20") (= "=") (identifier "local_34")) (; ";")) (expression_statement "puVar24 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar24 = PTR___stack_chk_fail_00190df8" (identifier "puVar24") (= "=") (identifier "PTR___stack_chk_fail_00190df8")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00190df8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00190df8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_90 = puVar3;" (assignment_expression "puStack_90 = puVar3" (identifier "puStack_90") (= "=") (identifier "puVar3")) (; ";")) (expression_statement "piVar23 = *(int **)(puVar24 + 0xdac9c);" (assignment_expression "piVar23 = *(int **)(puVar24 + 0xdac9c)" (identifier "piVar23") (= "=") (pointer_expression "*(int **)(puVar24 + 0xdac9c)" (* "*") (cast_expression "(int **)(puVar24 + 0xdac9c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0xdac9c)" (( "(") (binary_expression "puVar24 + 0xdac9c" (identifier "puVar24") (+ "+") (number_literal "0xdac9c")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar20 + 0x5c);" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x5c)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar20 + 0x5c)" (* "*") (cast_expression "(int *)(iVar20 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x5c)" (( "(") (binary_expression "iVar20 + 0x5c" (identifier "iVar20") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (expression_statement "iStack_ac = *piVar23;" (assignment_expression "iStack_ac = *piVar23" (identifier "iStack_ac") (= "=") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) (; ";")) (expression_statement "piStack_a8 = param_3;" (assignment_expression "piStack_a8 = param_3" (identifier "piStack_a8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "puStack_a4 = unaff_s1;" (assignment_expression "puStack_a4 = unaff_s1" (identifier "puStack_a4") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "piStack_a0 = param_2;" (assignment_expression "piStack_a0 = param_2" (identifier "piStack_a0") (= "=") (identifier "param_2")) (; ";")) (expression_statement "piStack_9c = unaff_s3;" (assignment_expression "piStack_9c = unaff_s3" (identifier "piStack_9c") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "piStack_98 = unaff_s4;" (assignment_expression "piStack_98 = unaff_s4" (identifier "piStack_98") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "puStack_94 = unaff_s5;" (assignment_expression "puStack_94 = unaff_s5" (identifier "puStack_94") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "iStack_8c = unaff_s7;" (assignment_expression "iStack_8c = unaff_s7" (identifier "iStack_8c") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "iStack_88 = param_1;" (assignment_expression "iStack_88 = param_1" (identifier "iStack_88") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pcStack_84 = pcVar4;" (assignment_expression "pcStack_84 = pcVar4" (identifier "pcStack_84") (= "=") (identifier "pcVar4")) (; ";")) (if_statement "if (iVar6 != 0) {\n    iVar16 = *(int *)(iVar20 + 0x4c);\n    iVar21 = 0;\n    if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }\n    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);\n  }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar16 = *(int *)(iVar20 + 0x4c);\n    iVar21 = 0;\n    if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }\n    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);\n  }" ({ "{") (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar20 + 0x4c)" (* "*") (cast_expression "(int *)(iVar20 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" (identifier "iVar21") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < iVar16) {\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }" (if "if") (parenthesized_expression "(0 < iVar16)" (( "(") (binary_expression "0 < iVar16" (number_literal "0") (< "<") (identifier "iVar16")) () ")")) (compound_statement "{\n      iVar22 = *(int *)(puVar24 + 0xdaa20);\n      do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);\n    }" ({ "{") (expression_statement "iVar22 = *(int *)(puVar24 + 0xdaa20);" (assignment_expression "iVar22 = *(int *)(puVar24 + 0xdaa20)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(puVar24 + 0xdaa20)" (* "*") (cast_expression "(int *)(puVar24 + 0xdaa20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0xdaa20)" (( "(") (binary_expression "puVar24 + 0xdaa20" (identifier "puVar24") (+ "+") (number_literal "0xdaa20")) () ")"))))) (; ";")) (do_statement "do {\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      } while (iVar21 < iVar16 << 1);" (do "do") (compound_statement "{\n        iVar16 = iVar21 * 4;\n        iVar21 = iVar21 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = *(int *)(iVar20 + 0x5c);\n      }" ({ "{") (expression_statement "iVar16 = iVar21 * 4;" (assignment_expression "iVar16 = iVar21 * 4" (identifier "iVar16") (= "=") (binary_expression "iVar21 * 4" (identifier "iVar21") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" (identifier "iVar21") (= "=") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));" (call_expression "(*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16))" (parenthesized_expression "(*(code *)(iVar22 + -0x18d4))" (( "(") (pointer_expression "*(code *)(iVar22 + -0x18d4)" (* "*") (cast_expression "(code *)(iVar22 + -0x18d4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + -0x18d4)" (( "(") (binary_expression "iVar22 + -0x18d4" (identifier "iVar22") (+ "+") (number_literal "-0x18d4")) () ")")))) () ")")) (argument_list "(*(undefined4 *)(iVar6 + iVar16))" (( "(") (pointer_expression "*(undefined4 *)(iVar6 + iVar16)" (* "*") (cast_expression "(undefined4 *)(iVar6 + iVar16)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + iVar16)" (( "(") (binary_expression "iVar6 + iVar16" (identifier "iVar6") (+ "+") (identifier "iVar16")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar20 + 0x4c)" (* "*") (cast_expression "(int *)(iVar20 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar20 + 0x5c);" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x5c)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar20 + 0x5c)" (* "*") (cast_expression "(int *)(iVar20 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x5c)" (( "(") (binary_expression "iVar20 + 0x5c" (identifier "iVar20") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar21 < iVar16 << 1)" (( "(") (binary_expression "iVar21 < iVar16 << 1" (identifier "iVar21") (< "<") (binary_expression "iVar16 << 1" (identifier "iVar16") (<< "<<") (number_literal "1"))) () ")")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);" (call_expression "(**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3)" (parenthesized_expression "(**(code **)(puVar24 + 0xdabd0))" (( "(") (pointer_expression "**(code **)(puVar24 + 0xdabd0)" (* "*") (pointer_expression "*(code **)(puVar24 + 0xdabd0)" (* "*") (cast_expression "(code **)(puVar24 + 0xdabd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0xdabd0)" (( "(") (binary_expression "puVar24 + 0xdabd0" (identifier "puVar24") (+ "+") (number_literal "0xdabd0")) () ")"))))) () ")")) (argument_list "(iVar6,0,iVar16 << 3)" (( "(") (identifier "iVar6") (, ",") (number_literal "0") (, ",") (binary_expression "iVar16 << 3" (identifier "iVar16") (<< "<<") (number_literal "3")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar6 = FUN_000b57e0(iVar20,2);" (assignment_expression "iVar6 = FUN_000b57e0(iVar20,2)" (identifier "iVar6") (= "=") (call_expression "FUN_000b57e0(iVar20,2)" (identifier "FUN_000b57e0") (argument_list "(iVar20,2)" (( "(") (identifier "iVar20") (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" (* "*") (cast_expression "(int *)(iVar20 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x40)" (( "(") (binary_expression "iVar20 + 0x40" (identifier "iVar20") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_000b6458;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";"))) (if_statement "if (*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)) {\nLAB_000b6494:\n    iVar6 = 0x65;\n    goto LAB_000b6458;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8))" (( "(") (binary_expression "*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)" (pointer_expression "*(int *)(iVar20 + 0x10)" (* "*") (cast_expression "(int *)(iVar20 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x10)" (( "(") (binary_expression "iVar20 + 0x10" (identifier "iVar20") (+ "+") (number_literal "0x10")) () ")")))) (<= "<=") (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\nLAB_000b6494:\n    iVar6 = 0x65;\n    goto LAB_000b6458;\n  }" ({ "{") (labeled_statement "LAB_000b6494:\n    iVar6 = 0x65;" (statement_identifier "LAB_000b6494") (: ":") (expression_statement "iVar6 = 0x65;" (assignment_expression "iVar6 = 0x65" (identifier "iVar6") (= "=") (number_literal "0x65")) (; ";"))) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";")) (} "}"))) (expression_statement "(*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20);" (call_expression "(*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20)" (parenthesized_expression "(*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4)" (* "*") (cast_expression "(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar24 + 0xdaa1c) + 0x27a4)" (( "(") (binary_expression "*(int *)(puVar24 + 0xdaa1c) + 0x27a4" (pointer_expression "*(int *)(puVar24 + 0xdaa1c)" (* "*") (cast_expression "(int *)(puVar24 + 0xdaa1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0xdaa1c)" (( "(") (binary_expression "puVar24 + 0xdaa1c" (identifier "puVar24") (+ "+") (number_literal "0xdaa1c")) () ")")))) (+ "+") (number_literal "0x27a4")) () ")")))) () ")")) (argument_list "(iVar20)" (( "(") (identifier "iVar20") () ")"))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar20 + 8);" (assignment_expression "iVar6 = *(int *)(iVar20 + 8)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar16 = *(int *)(iVar20 + 0xc);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0xc)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar20 + 0xc)" (* "*") (cast_expression "(int *)(iVar20 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0xc)" (( "(") (binary_expression "iVar20 + 0xc" (identifier "iVar20") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar21 = *(int *)(puVar24 + 0xdaa20);" (assignment_expression "iVar21 = *(int *)(puVar24 + 0xdaa20)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(puVar24 + 0xdaa20)" (* "*") (cast_expression "(int *)(puVar24 + 0xdaa20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0xdaa20)" (( "(") (binary_expression "puVar24 + 0xdaa20" (identifier "puVar24") (+ "+") (number_literal "0xdaa20")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar20 + 4) = iVar6;" (assignment_expression "*(int *)(iVar20 + 4) = iVar6" (pointer_expression "*(int *)(iVar20 + 4)" (* "*") (cast_expression "(int *)(iVar20 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 4)" (( "(") (binary_expression "iVar20 + 4" (identifier "iVar20") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(int *)(iVar20 + 8) = iVar6 + 1;" (assignment_expression "*(int *)(iVar20 + 8) = iVar6 + 1" (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar1 = *(byte *)(iVar16 + iVar6);" (assignment_expression "bVar1 = *(byte *)(iVar16 + iVar6)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(iVar16 + iVar6)" (* "*") (cast_expression "(byte *)(iVar16 + iVar6)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + iVar6)" (( "(") (binary_expression "iVar16 + iVar6" (identifier "iVar16") (+ "+") (identifier "iVar6")) () ")"))))) (; ";")) (while_statement "while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }\n    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);\n    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);\n    if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar20 + 0x30) = 0;\n    iStack_b0 = iStack_b0 - iVar6;\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;\n    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);\n    if (iStack_b4 != 0) goto LAB_000b6434;\n    iVar6 = *(int *)(iVar20 + 0x4c) * 8;\n    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);\n    (**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);\n    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n    *(int *)(iVar20 + 0x58) = iVar6;\n    *(int *)(iVar20 + 0x40) = iStack_b4;\n    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;\n    iVar6 = iStack_b4;\n    if (iStack_b4 != 0) goto LAB_000b6458;\n    iVar6 = FUN_000b57e0(iVar20,2);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 != 0) goto LAB_000b6458;\n    iVar6 = *(int *)(iVar20 + 8);\n    *(int *)(iVar20 + 4) = iVar6;\n    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;\n    iVar16 = *(int *)(iVar20 + 0xc);\n    *(int *)(iVar20 + 8) = iVar6 + 1;\n    bVar1 = *(byte *)(iVar16 + iVar6);\n  }" (while "while") (parenthesized_expression "(uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50)" (( "(") (comma_expression "uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50" (assignment_expression "uVar8 = (uint)bVar1" (identifier "uVar8") (= "=") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1"))) (, ",") (binary_expression "(uVar8 & 0xfb) == 0x50" (parenthesized_expression "(uVar8 & 0xfb)" (( "(") (binary_expression "uVar8 & 0xfb" (identifier "uVar8") (& "&") (number_literal "0xfb")) () ")")) (== "==") (number_literal "0x50"))) () ")")) (compound_statement "{\n    if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }\n    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);\n    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);\n    if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar20 + 0x30) = 0;\n    iStack_b0 = iStack_b0 - iVar6;\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;\n    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);\n    if (iStack_b4 != 0) goto LAB_000b6434;\n    iVar6 = *(int *)(iVar20 + 0x4c) * 8;\n    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);\n    (**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);\n    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n    *(int *)(iVar20 + 0x58) = iVar6;\n    *(int *)(iVar20 + 0x40) = iStack_b4;\n    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;\n    iVar6 = iStack_b4;\n    if (iStack_b4 != 0) goto LAB_000b6458;\n    iVar6 = FUN_000b57e0(iVar20,2);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 != 0) goto LAB_000b6458;\n    iVar6 = *(int *)(iVar20 + 8);\n    *(int *)(iVar20 + 4) = iVar6;\n    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;\n    iVar16 = *(int *)(iVar20 + 0xc);\n    *(int *)(iVar20 + 8) = iVar6 + 1;\n    bVar1 = *(byte *)(iVar16 + iVar6);\n  }" ({ "{") (if_statement "if (puVar17 != (undefined4 *)0x0) {\n      *puVar17 = 1;\n    }" (if "if") (parenthesized_expression "(puVar17 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar17 != (undefined4 *)0x0" (identifier "puVar17") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *puVar17 = 1;\n    }" ({ "{") (expression_statement "*puVar17 = 1;" (assignment_expression "*puVar17 = 1" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "*(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);" (assignment_expression "*(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50)" (pointer_expression "*(uint *)(iVar20 + 0x38)" (* "*") (cast_expression "(uint *)(iVar20 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x38)" (( "(") (binary_expression "iVar20 + 0x38" (identifier "iVar20") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (call_expression "(uint)(uVar8 == 0x50)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar8 == 0x50)" (( "(") (binary_expression "uVar8 == 0x50" (identifier "uVar8") (== "==") (number_literal "0x50")) () ")")))) (; ";")) (expression_statement "iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);" (assignment_expression "iStack_b4 = FUN_000b5998(iVar20,&iStack_b0)" (identifier "iStack_b4") (= "=") (call_expression "FUN_000b5998(iVar20,&iStack_b0)" (identifier "FUN_000b5998") (argument_list "(iVar20,&iStack_b0)" (( "(") (identifier "iVar20") (, ",") (pointer_expression "&iStack_b0" (& "&") (identifier "iStack_b0")) () ")")))) (; ";")) (if_statement "if (iStack_b4 != 0) {\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }" (if "if") (parenthesized_expression "(iStack_b4 != 0)" (( "(") (binary_expression "iStack_b4 != 0" (identifier "iStack_b4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar6;\n      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);\n      iVar6 = iStack_b4;\n      goto LAB_000b6458;\n    }" ({ "{") (labeled_statement "LAB_000b6434:\n      *(int *)(iVar20 + 0x40) = iStack_b4;" (statement_identifier "LAB_000b6434") (: ":") (expression_statement "*(int *)(iVar20 + 0x40) = iStack_b4;" (assignment_expression "*(int *)(iVar20 + 0x40) = iStack_b4" (pointer_expression "*(int *)(iVar20 + 0x40)" (* "*") (cast_expression "(int *)(iVar20 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x40)" (( "(") (binary_expression "iVar20 + 0x40" (identifier "iVar20") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "iStack_b4")) (; ";"))) (expression_statement "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);" (assignment_expression "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c)" (pointer_expression "*(int *)(iVar20 + 0x5c)" (* "*") (cast_expression "(int *)(iVar20 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x5c)" (( "(") (binary_expression "iVar20 + 0x5c" (identifier "iVar20") (+ "+") (number_literal "0x5c")) () ")")))) (= "=") (pointer_expression "*(int *)(iVar20 + 0x2c)" (* "*") (cast_expression "(int *)(iVar20 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x2c)" (( "(") (binary_expression "iVar20 + 0x2c" (identifier "iVar20") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" (identifier "iVar6") (= "=") (binary_expression "*(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x2c)" (* "*") (cast_expression "(int *)(iVar20 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x2c)" (( "(") (binary_expression "iVar20 + 0x2c" (identifier "iVar20") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (binary_expression "*(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x4c)" (* "*") (cast_expression "(int *)(iVar20 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")")))) (* "*") (number_literal "8")))) (; ";")) (expression_statement "*(int *)(iVar20 + 0x58) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x58) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x58)" (* "*") (cast_expression "(int *)(iVar20 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x58)" (( "(") (binary_expression "iVar20 + 0x58" (identifier "iVar20") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);" (assignment_expression "*(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c)" (pointer_expression "*(int *)(iVar20 + 0x48)" (* "*") (cast_expression "(int *)(iVar20 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x48)" (( "(") (binary_expression "iVar20 + 0x48" (identifier "iVar20") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (binary_expression "iVar6 + *(int *)(iVar20 + 0x4c)" (identifier "iVar6") (+ "+") (pointer_expression "*(int *)(iVar20 + 0x4c)" (* "*") (cast_expression "(int *)(iVar20 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")")))))) (; ";")) (expression_statement "iVar6 = iStack_b4;" (assignment_expression "iVar6 = iStack_b4" (identifier "iVar6") (= "=") (identifier "iStack_b4")) (; ";")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";")) (} "}"))) (expression_statement "pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));" (assignment_expression "pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8))" (identifier "pbVar11") (= "=") (cast_expression "(byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8))" (( "(") (binary_expression "*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8)" (pointer_expression "*(int *)(iVar20 + 0xc)" (* "*") (cast_expression "(int *)(iVar20 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0xc)" (( "(") (binary_expression "iVar20 + 0xc" (identifier "iVar20") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")"))))) () ")")))) (; ";")) (expression_statement "bVar1 = *pbVar11;" (assignment_expression "bVar1 = *pbVar11" (identifier "bVar1") (= "=") (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11"))) (; ";")) (expression_statement "uVar8 = (uint)bVar1;" (assignment_expression "uVar8 = (uint)bVar1" (identifier "uVar8") (= "=") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1"))) (; ";")) (if_statement "if ((char)bVar1 < '\0') {\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }\n    else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }" (if "if") (parenthesized_expression "((char)bVar1 < '\0')" (( "(") (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);\n      uVar8 = *(uint *)(iVar20 + 0x4c);\n    }" ({ "{") (expression_statement "iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);" (assignment_expression "iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c)" (identifier "iVar6") (= "=") (call_expression "(*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c)" (parenthesized_expression "(*(code *)(iVar21 + 0x3388))" (( "(") (pointer_expression "*(code *)(iVar21 + 0x3388)" (* "*") (cast_expression "(code *)(iVar21 + 0x3388)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x3388)" (( "(") (binary_expression "iVar21 + 0x3388" (identifier "iVar21") (+ "+") (number_literal "0x3388")) () ")")))) () ")")) (argument_list "(pbVar11,iVar20 + 0x4c)" (( "(") (identifier "pbVar11") (, ",") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")")))) (; ";")) (expression_statement "uVar8 = *(uint *)(iVar20 + 0x4c);" (assignment_expression "uVar8 = *(uint *)(iVar20 + 0x4c)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(iVar20 + 0x4c)" (* "*") (cast_expression "(uint *)(iVar20 + 0x4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }" (else "else") (compound_statement "{\n      iVar6 = 1;\n      *(uint *)(iVar20 + 0x4c) = uVar8;\n    }" ({ "{") (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" (identifier "iVar6") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(uint *)(iVar20 + 0x4c) = uVar8;" (assignment_expression "*(uint *)(iVar20 + 0x4c) = uVar8" (pointer_expression "*(uint *)(iVar20 + 0x4c)" (* "*") (cast_expression "(uint *)(iVar20 + 0x4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (} "}")))) (if_statement "if ((int)uVar8 < 1) {\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }" (if "if") (parenthesized_expression "((int)uVar8 < 1)" (( "(") (binary_expression "(int)uVar8 < 1" (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      (**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);\n      iVar6 = 0xb;\n      *(undefined4 *)(iVar20 + 0x40) = 0xb;\n      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);\n      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;\n      *(int *)(iVar20 + 0x58) = iVar16;\n      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);\n      goto LAB_000b6458;\n    }" ({ "{") (expression_statement "(**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(puVar24 + 0xdaa58))\n                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(puVar24 + 0xdaa58))" (( "(") (pointer_expression "**(code **)(puVar24 + 0xdaa58)" (* "*") (pointer_expression "*(code **)(puVar24 + 0xdaa58)" (* "*") (cast_expression "(code **)(puVar24 + 0xdaa58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0xdaa58)" (( "(") (binary_expression "puVar24 + 0xdaa58" (identifier "puVar24") (+ "+") (number_literal "0xdaa58")) () ")"))))) () ")")) (argument_list "(0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c)" (( "(") (number_literal "0xb") (, ",") (binary_expression "*(int *)(puVar24 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(puVar24 + 0xda7d4)" (* "*") (cast_expression "(int *)(puVar24 + 0xda7d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0xda7d4)" (( "(") (binary_expression "puVar24 + 0xda7d4" (identifier "puVar24") (+ "+") (number_literal "0xda7d4")) () ")")))) (+ "+") (number_literal "-0x6378")) (, ",") (binary_expression "*(int *)(puVar24 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(puVar24 + 0xda7d4)" (* "*") (cast_expression "(int *)(puVar24 + 0xda7d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0xda7d4)" (( "(") (binary_expression "puVar24 + 0xda7d4" (identifier "puVar24") (+ "+") (number_literal "0xda7d4")) () ")")))) (+ "+") (number_literal "-0x5e64")) (, ",") (number_literal "0x3018b") (, ",") (binary_expression "*(int *)(puVar24 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(puVar24 + 0xda7d0)" (* "*") (cast_expression "(int *)(puVar24 + 0xda7d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0xda7d0)" (( "(") (binary_expression "puVar24 + 0xda7d0" (identifier "puVar24") (+ "+") (number_literal "0xda7d0")) () ")")))) (+ "+") (number_literal "0x625c")) () ")"))) (; ";")) (expression_statement "iVar6 = 0xb;" (assignment_expression "iVar6 = 0xb" (identifier "iVar6") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "*(undefined4 *)(iVar20 + 0x40) = 0xb;" (assignment_expression "*(undefined4 *)(iVar20 + 0x40) = 0xb" (pointer_expression "*(undefined4 *)(iVar20 + 0x40)" (* "*") (cast_expression "(undefined4 *)(iVar20 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x40)" (( "(") (binary_expression "iVar20 + 0x40" (identifier "iVar20") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (number_literal "0xb")) (; ";")) (expression_statement "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);" (assignment_expression "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c)" (pointer_expression "*(int *)(iVar20 + 0x5c)" (* "*") (cast_expression "(int *)(iVar20 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x5c)" (( "(") (binary_expression "iVar20 + 0x5c" (identifier "iVar20") (+ "+") (number_literal "0x5c")) () ")")))) (= "=") (pointer_expression "*(int *)(iVar20 + 0x2c)" (* "*") (cast_expression "(int *)(iVar20 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x2c)" (( "(") (binary_expression "iVar20 + 0x2c" (identifier "iVar20") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" (identifier "iVar16") (= "=") (binary_expression "*(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x2c)" (* "*") (cast_expression "(int *)(iVar20 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x2c)" (( "(") (binary_expression "iVar20 + 0x2c" (identifier "iVar20") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (binary_expression "*(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x4c)" (* "*") (cast_expression "(int *)(iVar20 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")")))) (* "*") (number_literal "8")))) (; ";")) (expression_statement "*(int *)(iVar20 + 0x58) = iVar16;" (assignment_expression "*(int *)(iVar20 + 0x58) = iVar16" (pointer_expression "*(int *)(iVar20 + 0x58)" (* "*") (cast_expression "(int *)(iVar20 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x58)" (( "(") (binary_expression "iVar20 + 0x58" (identifier "iVar20") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "*(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);" (assignment_expression "*(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c)" (pointer_expression "*(int *)(iVar20 + 0x48)" (* "*") (cast_expression "(int *)(iVar20 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x48)" (( "(") (binary_expression "iVar20 + 0x48" (identifier "iVar20") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (binary_expression "iVar16 + *(int *)(iVar20 + 0x4c)" (identifier "iVar16") (+ "+") (pointer_expression "*(int *)(iVar20 + 0x4c)" (* "*") (cast_expression "(int *)(iVar20 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")")))))) (; ";")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(iVar20 + 0x30) = 0;" (assignment_expression "*(undefined4 *)(iVar20 + 0x30) = 0" (pointer_expression "*(undefined4 *)(iVar20 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar20 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x30)" (( "(") (binary_expression "iVar20 + 0x30" (identifier "iVar20") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_b0 = iStack_b0 - iVar6;" (assignment_expression "iStack_b0 = iStack_b0 - iVar6" (identifier "iStack_b0") (= "=") (binary_expression "iStack_b0 - iVar6" (identifier "iStack_b0") (- "-") (identifier "iVar6"))) (; ";")) (expression_statement "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;" (assignment_expression "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6" (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(int *)(iVar20 + 8) + iVar6" (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")")))) (+ "+") (identifier "iVar6"))) (; ";")) (expression_statement "FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);" (call_expression "FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4)" (identifier "FUN_000b4d08") (argument_list "(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4)" (( "(") (binary_expression "iVar20 + 0x2c" (identifier "iVar20") (+ "+") (number_literal "0x2c")) (, ",") (binary_expression "uVar8 * 8 + iStack_b0" (binary_expression "uVar8 * 8" (identifier "uVar8") (* "*") (number_literal "8")) (+ "+") (identifier "iStack_b0")) (, ",") (pointer_expression "&iStack_b4" (& "&") (identifier "iStack_b4")) () ")"))) (; ";")) (if_statement "if (iStack_b4 != 0) goto LAB_000b6434;" (if "if") (parenthesized_expression "(iStack_b4 != 0)" (( "(") (binary_expression "iStack_b4 != 0" (identifier "iStack_b4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b6434;" (goto "goto") (statement_identifier "LAB_000b6434") (; ";"))) (expression_statement "iVar6 = *(int *)(iVar20 + 0x4c) * 8;" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x4c) * 8" (identifier "iVar6") (= "=") (binary_expression "*(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x4c)" (* "*") (cast_expression "(int *)(iVar20 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")")))) (* "*") (number_literal "8"))) (; ";")) (expression_statement "(**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);" (call_expression "(**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6)" (parenthesized_expression "(**(code **)(puVar24 + 0xdabd0))" (( "(") (pointer_expression "**(code **)(puVar24 + 0xdabd0)" (* "*") (pointer_expression "*(code **)(puVar24 + 0xdabd0)" (* "*") (cast_expression "(code **)(puVar24 + 0xdabd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0xdabd0)" (( "(") (binary_expression "puVar24 + 0xdabd0" (identifier "puVar24") (+ "+") (number_literal "0xdabd0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar20 + 0x2c),0,iVar6)" (( "(") (pointer_expression "*(undefined4 *)(iVar20 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(iVar20 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x2c)" (( "(") (binary_expression "iVar20 + 0x2c" (identifier "iVar20") (+ "+") (number_literal "0x2c")) () ")")))) (, ",") (number_literal "0") (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0);" (call_expression "(**(code **)(puVar24 + 0xdaca4))\n              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0)" (parenthesized_expression "(**(code **)(puVar24 + 0xdaca4))" (( "(") (pointer_expression "**(code **)(puVar24 + 0xdaca4)" (* "*") (pointer_expression "*(code **)(puVar24 + 0xdaca4)" (* "*") (cast_expression "(code **)(puVar24 + 0xdaca4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0xdaca4)" (( "(") (binary_expression "puVar24 + 0xdaca4" (identifier "puVar24") (+ "+") (number_literal "0xdaca4")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),\n               iStack_b0)" (( "(") (binary_expression "*(int *)(iVar20 + 0x2c) + iVar6" (pointer_expression "*(int *)(iVar20 + 0x2c)" (* "*") (cast_expression "(int *)(iVar20 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x2c)" (( "(") (binary_expression "iVar20 + 0x2c" (identifier "iVar20") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (identifier "iVar6")) (, ",") (binary_expression "*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8)" (pointer_expression "*(int *)(iVar20 + 0xc)" (* "*") (cast_expression "(int *)(iVar20 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0xc)" (( "(") (binary_expression "iVar20 + 0xc" (identifier "iVar20") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")"))))) (, ",") (identifier "iStack_b0") () ")"))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" (identifier "iVar6") (= "=") (binary_expression "*(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x2c)" (* "*") (cast_expression "(int *)(iVar20 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x2c)" (( "(") (binary_expression "iVar20 + 0x2c" (identifier "iVar20") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (binary_expression "*(int *)(iVar20 + 0x4c) * 8" (pointer_expression "*(int *)(iVar20 + 0x4c)" (* "*") (cast_expression "(int *)(iVar20 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")")))) (* "*") (number_literal "8")))) (; ";")) (expression_statement "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);" (assignment_expression "*(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c)" (pointer_expression "*(int *)(iVar20 + 0x5c)" (* "*") (cast_expression "(int *)(iVar20 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x5c)" (( "(") (binary_expression "iVar20 + 0x5c" (identifier "iVar20") (+ "+") (number_literal "0x5c")) () ")")))) (= "=") (pointer_expression "*(int *)(iVar20 + 0x2c)" (* "*") (cast_expression "(int *)(iVar20 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x2c)" (( "(") (binary_expression "iVar20 + 0x2c" (identifier "iVar20") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar20 + 0x58) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x58) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x58)" (* "*") (cast_expression "(int *)(iVar20 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x58)" (( "(") (binary_expression "iVar20 + 0x58" (identifier "iVar20") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(int *)(iVar20 + 0x40) = iStack_b4;" (assignment_expression "*(int *)(iVar20 + 0x40) = iStack_b4" (pointer_expression "*(int *)(iVar20 + 0x40)" (* "*") (cast_expression "(int *)(iVar20 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x40)" (( "(") (binary_expression "iVar20 + 0x40" (identifier "iVar20") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "iStack_b4")) (; ";")) (expression_statement "*(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);" (assignment_expression "*(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c)" (pointer_expression "*(int *)(iVar20 + 0x48)" (* "*") (cast_expression "(int *)(iVar20 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x48)" (( "(") (binary_expression "iVar20 + 0x48" (identifier "iVar20") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (binary_expression "iVar6 + *(int *)(iVar20 + 0x4c)" (identifier "iVar6") (+ "+") (pointer_expression "*(int *)(iVar20 + 0x4c)" (* "*") (cast_expression "(int *)(iVar20 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")")))))) (; ";")) (expression_statement "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;" (assignment_expression "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0" (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(int *)(iVar20 + 8) + iStack_b0" (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")")))) (+ "+") (identifier "iStack_b0"))) (; ";")) (expression_statement "iVar6 = iStack_b4;" (assignment_expression "iVar6 = iStack_b4" (identifier "iVar6") (= "=") (identifier "iStack_b4")) (; ";")) (if_statement "if (iStack_b4 != 0) goto LAB_000b6458;" (if "if") (parenthesized_expression "(iStack_b4 != 0)" (( "(") (binary_expression "iStack_b4 != 0" (identifier "iStack_b4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";"))) (expression_statement "iVar6 = FUN_000b57e0(iVar20,2);" (assignment_expression "iVar6 = FUN_000b57e0(iVar20,2)" (identifier "iVar6") (= "=") (call_expression "FUN_000b57e0(iVar20,2)" (identifier "FUN_000b57e0") (argument_list "(iVar20,2)" (( "(") (identifier "iVar20") (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" (* "*") (cast_expression "(int *)(iVar20 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x40)" (( "(") (binary_expression "iVar20 + 0x40" (identifier "iVar20") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_000b6458;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";"))) (expression_statement "iVar6 = *(int *)(iVar20 + 8);" (assignment_expression "iVar6 = *(int *)(iVar20 + 8)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar20 + 4) = iVar6;" (assignment_expression "*(int *)(iVar20 + 4) = iVar6" (pointer_expression "*(int *)(iVar20 + 4)" (* "*") (cast_expression "(int *)(iVar20 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 4)" (( "(") (binary_expression "iVar20 + 4" (identifier "iVar20") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (if_statement "if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;" (if "if") (parenthesized_expression "(*(int *)(iVar20 + 0x10) <= iVar6)" (( "(") (binary_expression "*(int *)(iVar20 + 0x10) <= iVar6" (pointer_expression "*(int *)(iVar20 + 0x10)" (* "*") (cast_expression "(int *)(iVar20 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x10)" (( "(") (binary_expression "iVar20 + 0x10" (identifier "iVar20") (+ "+") (number_literal "0x10")) () ")")))) (<= "<=") (identifier "iVar6")) () ")")) (goto_statement "goto LAB_000b6494;" (goto "goto") (statement_identifier "LAB_000b6494") (; ";"))) (expression_statement "iVar16 = *(int *)(iVar20 + 0xc);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0xc)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar20 + 0xc)" (* "*") (cast_expression "(int *)(iVar20 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0xc)" (( "(") (binary_expression "iVar20 + 0xc" (identifier "iVar20") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar20 + 8) = iVar6 + 1;" (assignment_expression "*(int *)(iVar20 + 8) = iVar6 + 1" (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar1 = *(byte *)(iVar16 + iVar6);" (assignment_expression "bVar1 = *(byte *)(iVar16 + iVar6)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(iVar16 + iVar6)" (* "*") (cast_expression "(byte *)(iVar16 + iVar6)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + iVar6)" (( "(") (binary_expression "iVar16 + iVar6" (identifier "iVar16") (+ "+") (identifier "iVar6")) () ")"))))) (; ";")) (} "}"))) (if_statement "if ((*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" (if "if") (parenthesized_expression "((*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0))))" (( "(") (binary_expression "(*(int *)(iVar20 + 0x48) == 0) ||\n     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))" (parenthesized_expression "(*(int *)(iVar20 + 0x48) == 0)" (( "(") (binary_expression "*(int *)(iVar20 + 0x48) == 0" (pointer_expression "*(int *)(iVar20 + 0x48)" (* "*") (cast_expression "(int *)(iVar20 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x48)" (( "(") (binary_expression "iVar20 + 0x48" (identifier "iVar20") (+ "+") (number_literal "0x48")) () ")")))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))" (( "(") (parenthesized_expression "(iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0))" (( "(") (comma_expression "iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)" (assignment_expression "iVar6 = *(int *)(iVar20 + 0x38)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar20 + 0x38)" (* "*") (cast_expression "(int *)(iVar20 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x38)" (( "(") (binary_expression "iVar20 + 0x38" (identifier "iVar20") (+ "+") (number_literal "0x38")) () ")"))))) (, ",") (binary_expression "iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)" (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(*(int *)(iVar20 + 0x3c) != 0)" (( "(") (binary_expression "*(int *)(iVar20 + 0x3c) != 0" (pointer_expression "*(int *)(iVar20 + 0x3c)" (* "*") (cast_expression "(int *)(iVar20 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x3c)" (( "(") (binary_expression "iVar20 + 0x3c" (identifier "iVar20") (+ "+") (number_literal "0x3c")) () ")")))) (!= "!=") (number_literal "0")) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n    uVar18 = 0x301e0;\n  }" ({ "{") (expression_statement "uVar18 = 0x301e0;" (assignment_expression "uVar18 = 0x301e0" (identifier "uVar18") (= "=") (number_literal "0x301e0")) (; ";")) (} "}")) (else_clause "else {\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" (else "else") (compound_statement "{\n    iVar21 = *(int *)(iVar20 + 8);\n    *(uint *)(iVar20 + 0x50) = uVar8;\n    *(int *)(iVar20 + 8) = iVar21 + 1;\n    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" ({ "{") (expression_statement "iVar21 = *(int *)(iVar20 + 8);" (assignment_expression "iVar21 = *(int *)(iVar20 + 8)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar20 + 0x50) = uVar8;" (assignment_expression "*(uint *)(iVar20 + 0x50) = uVar8" (pointer_expression "*(uint *)(iVar20 + 0x50)" (* "*") (cast_expression "(uint *)(iVar20 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x50)" (( "(") (binary_expression "iVar20 + 0x50" (identifier "iVar20") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(int *)(iVar20 + 8) = iVar21 + 1;" (assignment_expression "*(int *)(iVar20 + 8) = iVar21 + 1" (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "iVar21 + 1" (identifier "iVar21") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);" (assignment_expression "*(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21)" (pointer_expression "*(uint *)(iVar20 + 0x54)" (* "*") (cast_expression "(uint *)(iVar20 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x54)" (( "(") (binary_expression "iVar20 + 0x54" (identifier "iVar20") (+ "+") (number_literal "0x54")) () ")")))) (= "=") (binary_expression "(uint)*(byte *)(iVar16 + iVar21)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar16 + iVar21)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + iVar21)" (( "(") (binary_expression "iVar16 + iVar21" (identifier "iVar16") (+ "+") (identifier "iVar21")) () ")"))))) (; ";")) (if_statement "if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }" (if "if") (parenthesized_expression "((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0))" (( "(") (binary_expression "(uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)" (parenthesized_expression "(uVar8 < 0x18)" (( "(") (binary_expression "uVar8 < 0x18" (identifier "uVar8") (< "<") (number_literal "0x18")) () ")")) (&& "&&") (parenthesized_expression "((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)" (( "(") (binary_expression "(int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0" (cast_expression "(int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((0x840200U >> (uVar8 & 0x1f)) << 0x1f)" (( "(") (binary_expression "(0x840200U >> (uVar8 & 0x1f)) << 0x1f" (parenthesized_expression "(0x840200U >> (uVar8 & 0x1f))" (( "(") (binary_expression "0x840200U >> (uVar8 & 0x1f)" (number_literal "0x840200U") (>> ">>") (parenthesized_expression "(uVar8 & 0x1f)" (( "(") (binary_expression "uVar8 & 0x1f" (identifier "uVar8") (& "&") (number_literal "0x1f")) () ")"))) () ")")) (<< "<<") (number_literal "0x1f")) () ")"))) (< "<") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      iVar16 = *(int *)(iVar20 + 0x4c);\n      if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar20 + 0x5c);\n      iVar22 = iVar19 + iVar16 * 4;\n      iVar21 = iVar19;\n      if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      iVar6 = 100;\n      goto LAB_000b6458;\n    }" ({ "{") (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar20 + 0x4c)" (* "*") (cast_expression "(int *)(iVar20 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (if_statement "if (piVar13 != (int *)0x0) {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }" (if "if") (parenthesized_expression "(piVar13 != (int *)0x0)" (( "(") (binary_expression "piVar13 != (int *)0x0" (identifier "piVar13") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar16 = iVar16 << 1;\n        goto LAB_000b65d4;\n      }" ({ "{") (if_statement "if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar16 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar20 + 0x58);\n          pcVar12 = pcVar9 + iVar16;\n          iVar16 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }" ({ "{") (if_statement "if (uVar8 != 9) goto LAB_000b65d4;" (if "if") (parenthesized_expression "(uVar8 != 9)" (( "(") (binary_expression "uVar8 != 9" (identifier "uVar8") (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_000b65d4;" (goto "goto") (statement_identifier "LAB_000b65d4") (; ";"))) (if_statement "if (iVar16 < 1) goto LAB_000b6830;" (if "if") (parenthesized_expression "(iVar16 < 1)" (( "(") (binary_expression "iVar16 < 1" (identifier "iVar16") (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_000b6830;" (goto "goto") (statement_identifier "LAB_000b6830") (; ";"))) (expression_statement "pcVar9 = *(char **)(iVar20 + 0x58);" (assignment_expression "pcVar9 = *(char **)(iVar20 + 0x58)" (identifier "pcVar9") (= "=") (pointer_expression "*(char **)(iVar20 + 0x58)" (* "*") (cast_expression "(char **)(iVar20 + 0x58)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar20 + 0x58)" (( "(") (binary_expression "iVar20 + 0x58" (identifier "iVar20") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "pcVar12 = pcVar9 + iVar16;" (assignment_expression "pcVar12 = pcVar9 + iVar16" (identifier "pcVar12") (= "=") (binary_expression "pcVar9 + iVar16" (identifier "pcVar9") (+ "+") (identifier "iVar16"))) (; ";")) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          } while( true );" (do "do") (compound_statement "{\n            if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar12 == pcVar9) goto LAB_000b65d4;\n          }" ({ "{") (if_statement "if (*pcVar9 != '\0') {\n              iVar16 = iVar16 + 1;\n            }" (if "if") (parenthesized_expression "(*pcVar9 != '\0')" (( "(") (binary_expression "*pcVar9 != '\0'" (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              iVar16 = iVar16 + 1;\n            }" ({ "{") (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" (identifier "pcVar9") (= "=") (binary_expression "pcVar9 + 1" (identifier "pcVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pcVar12 == pcVar9) goto LAB_000b65d4;" (if "if") (parenthesized_expression "(pcVar12 == pcVar9)" (( "(") (binary_expression "pcVar12 == pcVar9" (identifier "pcVar12") (== "==") (identifier "pcVar9")) () ")")) (goto_statement "goto LAB_000b65d4;" (goto "goto") (statement_identifier "LAB_000b65d4") (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (if_statement "if (uVar8 != 0x17) goto LAB_000b65d4;" (if "if") (parenthesized_expression "(uVar8 != 0x17)" (( "(") (binary_expression "uVar8 != 0x17" (identifier "uVar8") (!= "!=") (number_literal "0x17")) () ")")) (goto_statement "goto LAB_000b65d4;" (goto "goto") (statement_identifier "LAB_000b65d4") (; ";"))) (expression_statement "iVar16 = iVar16 << 1;" (assignment_expression "iVar16 = iVar16 << 1" (identifier "iVar16") (= "=") (binary_expression "iVar16 << 1" (identifier "iVar16") (<< "<<") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_000b65d4;" (goto "goto") (statement_identifier "LAB_000b65d4") (; ";")) (} "}"))) (expression_statement "iVar19 = *(int *)(iVar20 + 0x5c);" (assignment_expression "iVar19 = *(int *)(iVar20 + 0x5c)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(iVar20 + 0x5c)" (* "*") (cast_expression "(int *)(iVar20 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x5c)" (( "(") (binary_expression "iVar20 + 0x5c" (identifier "iVar20") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (expression_statement "iVar22 = iVar19 + iVar16 * 4;" (assignment_expression "iVar22 = iVar19 + iVar16 * 4" (identifier "iVar22") (= "=") (binary_expression "iVar19 + iVar16 * 4" (identifier "iVar19") (+ "+") (binary_expression "iVar16 * 4" (identifier "iVar16") (* "*") (number_literal "4")))) (; ";")) (expression_statement "iVar21 = iVar19;" (assignment_expression "iVar21 = iVar19" (identifier "iVar21") (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (*(int *)(iVar20 + 0x3c) != 0) {\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar20 + 0x3c) != 0)" (( "(") (binary_expression "*(int *)(iVar20 + 0x3c) != 0" (pointer_expression "*(int *)(iVar20 + 0x3c)" (* "*") (cast_expression "(int *)(iVar20 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x3c)" (( "(") (binary_expression "iVar20 + 0x3c" (identifier "iVar20") (+ "+") (number_literal "0x3c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar21 = iVar22;\n        iVar22 = iVar19;\n      }" ({ "{") (expression_statement "iVar21 = iVar22;" (assignment_expression "iVar21 = iVar22" (identifier "iVar21") (= "=") (identifier "iVar22")) (; ";")) (expression_statement "iVar22 = iVar19;" (assignment_expression "iVar22 = iVar19" (identifier "iVar22") (= "=") (identifier "iVar19")) (; ";")) (} "}"))) (if_statement "if (uVar8 == 0x12) {\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }\n      else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }" (if "if") (parenthesized_expression "(uVar8 == 0x12)" (( "(") (binary_expression "uVar8 == 0x12" (identifier "uVar8") (== "==") (number_literal "0x12")) () ")")) (compound_statement "{\nLAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar16 = *(int *)(iVar20 + 0x4c);\n        iVar6 = 0;\n        if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }\n      }" ({ "{") (labeled_statement "LAB_000b6678:\n        iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);" (statement_identifier "LAB_000b6678") (: ":") (expression_statement "iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22);" (assignment_expression "iVar6 = FUN_000b5d20(iVar20,iVar16,0,iVar22)" (identifier "iVar6") (= "=") (call_expression "FUN_000b5d20(iVar20,iVar16,0,iVar22)" (identifier "FUN_000b5d20") (argument_list "(iVar20,iVar16,0,iVar22)" (( "(") (identifier "iVar20") (, ",") (identifier "iVar16") (, ",") (number_literal "0") (, ",") (identifier "iVar22") () ")")))) (; ";"))) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" (* "*") (cast_expression "(int *)(iVar20 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x40)" (( "(") (binary_expression "iVar20 + 0x40" (identifier "iVar20") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_000b6458;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";"))) (if_statement "if (*(int *)(iVar20 + 0x38) == 0) {\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar20 + 0x38) == 0)" (( "(") (binary_expression "*(int *)(iVar20 + 0x38) == 0" (pointer_expression "*(int *)(iVar20 + 0x38)" (* "*") (cast_expression "(int *)(iVar20 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x38)" (( "(") (binary_expression "iVar20 + 0x38" (identifier "iVar20") (+ "+") (number_literal "0x38")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) goto LAB_000b6788;\n        }" ({ "{") (if_statement "if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;" (if "if") (parenthesized_expression "(*(int *)(iVar20 + 0x3c) == 0)" (( "(") (binary_expression "*(int *)(iVar20 + 0x3c) == 0" (pointer_expression "*(int *)(iVar20 + 0x3c)" (* "*") (cast_expression "(int *)(iVar20 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x3c)" (( "(") (binary_expression "iVar20 + 0x3c" (identifier "iVar20") (+ "+") (number_literal "0x3c")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b6734;" (goto "goto") (statement_identifier "LAB_000b6734") (; ";"))) (expression_statement "iVar16 = *(int *)(iVar20 + 0x50);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x50)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar20 + 0x50)" (* "*") (cast_expression "(int *)(iVar20 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x50)" (( "(") (binary_expression "iVar20 + 0x50" (identifier "iVar20") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (if_statement "if (iVar16 != 0x17) goto LAB_000b6788;" (if "if") (parenthesized_expression "(iVar16 != 0x17)" (( "(") (binary_expression "iVar16 != 0x17" (identifier "iVar16") (!= "!=") (number_literal "0x17")) () ")")) (goto_statement "goto LAB_000b6788;" (goto "goto") (statement_identifier "LAB_000b6788") (; ";"))) (} "}")) (else_clause "else {\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" (else "else") (compound_statement "{\n          iVar16 = *(int *)(iVar20 + 0x50);\n          if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" ({ "{") (expression_statement "iVar16 = *(int *)(iVar20 + 0x50);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x50)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar20 + 0x50)" (* "*") (cast_expression "(int *)(iVar20 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x50)" (( "(") (binary_expression "iVar20 + 0x50" (identifier "iVar20") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (if_statement "if (iVar16 != 0x17) {\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }" (if "if") (parenthesized_expression "(iVar16 != 0x17)" (( "(") (binary_expression "iVar16 != 0x17" (identifier "iVar16") (!= "!=") (number_literal "0x17")) () ")")) (compound_statement "{\n            iVar21 = *(int *)(iVar20 + 0x3c);\n            goto LAB_000b6780;\n          }" ({ "{") (expression_statement "iVar21 = *(int *)(iVar20 + 0x3c);" (assignment_expression "iVar21 = *(int *)(iVar20 + 0x3c)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(iVar20 + 0x3c)" (* "*") (cast_expression "(int *)(iVar20 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x3c)" (( "(") (binary_expression "iVar20 + 0x3c" (identifier "iVar20") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (goto_statement "goto LAB_000b6780;" (goto "goto") (statement_identifier "LAB_000b6780") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar20 + 0x4c)" (* "*") (cast_expression "(int *)(iVar20 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < iVar16) {\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }" (if "if") (parenthesized_expression "(0 < iVar16)" (( "(") (binary_expression "0 < iVar16" (number_literal "0") (< "<") (identifier "iVar16")) () ")")) (compound_statement "{\n          do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);\n        }" ({ "{") (do_statement "do {\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          } while (iVar6 < iVar16);" (do "do") (compound_statement "{\n            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }\n            iVar6 = iVar6 + 1;\n          }" ({ "{") (if_statement "if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0'" (pointer_expression "*(char *)(*(int *)(iVar20 + 0x58) + iVar6)" (* "*") (cast_expression "(char *)(*(int *)(iVar20 + 0x58) + iVar6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar20 + 0x58) + iVar6)" (( "(") (binary_expression "*(int *)(iVar20 + 0x58) + iVar6" (pointer_expression "*(int *)(iVar20 + 0x58)" (* "*") (cast_expression "(int *)(iVar20 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x58)" (( "(") (binary_expression "iVar20 + 0x58" (identifier "iVar20") (+ "+") (number_literal "0x58")) () ")")))) (+ "+") (identifier "iVar6")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);\n              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;\n              iVar16 = *(int *)(iVar20 + 0x4c);\n            }" ({ "{") (expression_statement "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);" (assignment_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =\n                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4)" (pointer_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" (( "(") (binary_expression "*(int *)(iVar20 + 0x5c) + iVar6 * 4" (pointer_expression "*(int *)(iVar20 + 0x5c)" (* "*") (cast_expression "(int *)(iVar20 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x5c)" (( "(") (binary_expression "iVar20 + 0x5c" (identifier "iVar20") (+ "+") (number_literal "0x5c")) () ")")))) (+ "+") (binary_expression "iVar6 * 4" (identifier "iVar6") (* "*") (number_literal "4"))) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4)" (( "(") (binary_expression "*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4" (pointer_expression "*(int *)(iVar20 + 0x5c)" (* "*") (cast_expression "(int *)(iVar20 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x5c)" (( "(") (binary_expression "iVar20 + 0x5c" (identifier "iVar20") (+ "+") (number_literal "0x5c")) () ")")))) (+ "+") (binary_expression "(iVar16 + iVar6) * 4" (parenthesized_expression "(iVar16 + iVar6)" (( "(") (binary_expression "iVar16 + iVar6" (identifier "iVar16") (+ "+") (identifier "iVar6")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0" (pointer_expression "*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar20 + 0x5c) + iVar6 * 4)" (( "(") (binary_expression "*(int *)(iVar20 + 0x5c) + iVar6 * 4" (pointer_expression "*(int *)(iVar20 + 0x5c)" (* "*") (cast_expression "(int *)(iVar20 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x5c)" (( "(") (binary_expression "iVar20 + 0x5c" (identifier "iVar20") (+ "+") (number_literal "0x5c")) () ")")))) (+ "+") (binary_expression "iVar6 * 4" (identifier "iVar6") (* "*") (number_literal "4"))) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }" ({ "{") (expression_statement "uVar18 = 0x30212;" (assignment_expression "uVar18 = 0x30212" (identifier "uVar18") (= "=") (number_literal "0x30212")) (; ";")) (goto_statement "goto LAB_000b653c;" (goto "goto") (statement_identifier "LAB_000b653c") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4)" (( "(") (binary_expression "*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4" (pointer_expression "*(int *)(iVar20 + 0x5c)" (* "*") (cast_expression "(int *)(iVar20 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x5c)" (( "(") (binary_expression "iVar20 + 0x5c" (identifier "iVar20") (+ "+") (number_literal "0x5c")) () ")")))) (+ "+") (binary_expression "(iVar6 + *(int *)(iVar20 + 0x4c)) * 4" (parenthesized_expression "(iVar6 + *(int *)(iVar20 + 0x4c))" (( "(") (binary_expression "iVar6 + *(int *)(iVar20 + 0x4c)" (identifier "iVar6") (+ "+") (pointer_expression "*(int *)(iVar20 + 0x4c)" (* "*") (cast_expression "(int *)(iVar20 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")"))))) () ")")) (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar20 + 0x4c)" (* "*") (cast_expression "(int *)(iVar20 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < iVar16)" (( "(") (binary_expression "iVar6 < iVar16" (identifier "iVar6") (< "<") (identifier "iVar16")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }" (else "else") (compound_statement "{\n        if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }\n        iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);\n        *(int *)(iVar20 + 0x40) = iVar6;\n        if (iVar6 != 0) goto LAB_000b6458;\n        if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }\n      }" ({ "{") (if_statement "if (iVar6 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (uVar8 != 9) goto LAB_000b6678;\n          piVar13 = *(int **)(iVar20 + 0x58);\n        }" ({ "{") (if_statement "if (uVar8 != 9) goto LAB_000b6678;" (if "if") (parenthesized_expression "(uVar8 != 9)" (( "(") (binary_expression "uVar8 != 9" (identifier "uVar8") (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_000b6678;" (goto "goto") (statement_identifier "LAB_000b6678") (; ";"))) (expression_statement "piVar13 = *(int **)(iVar20 + 0x58);" (assignment_expression "piVar13 = *(int **)(iVar20 + 0x58)" (identifier "piVar13") (= "=") (pointer_expression "*(int **)(iVar20 + 0x58)" (* "*") (cast_expression "(int **)(iVar20 + 0x58)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar20 + 0x58)" (( "(") (binary_expression "iVar20 + 0x58" (identifier "iVar20") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21);" (assignment_expression "iVar6 = FUN_000b5d20(iVar20,iVar16,piVar13,iVar21)" (identifier "iVar6") (= "=") (call_expression "FUN_000b5d20(iVar20,iVar16,piVar13,iVar21)" (identifier "FUN_000b5d20") (argument_list "(iVar20,iVar16,piVar13,iVar21)" (( "(") (identifier "iVar20") (, ",") (identifier "iVar16") (, ",") (identifier "piVar13") (, ",") (identifier "iVar21") () ")")))) (; ";")) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" (* "*") (cast_expression "(int *)(iVar20 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x40)" (( "(") (binary_expression "iVar20 + 0x40" (identifier "iVar20") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_000b6458;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";"))) (if_statement "if (*(int *)(iVar20 + 0x50) != 9) {\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar20 + 0x50) != 9)" (( "(") (binary_expression "*(int *)(iVar20 + 0x50) != 9" (pointer_expression "*(int *)(iVar20 + 0x50)" (* "*") (cast_expression "(int *)(iVar20 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x50)" (( "(") (binary_expression "iVar20 + 0x50" (identifier "iVar20") (+ "+") (number_literal "0x50")) () ")")))) (!= "!=") (number_literal "9")) () ")")) (compound_statement "{\n          iVar16 = *(int *)(iVar20 + 0x4c);\n          goto LAB_000b6678;\n        }" ({ "{") (expression_statement "iVar16 = *(int *)(iVar20 + 0x4c);" (assignment_expression "iVar16 = *(int *)(iVar20 + 0x4c)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar20 + 0x4c)" (* "*") (cast_expression "(int *)(iVar20 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x4c)" (( "(") (binary_expression "iVar20 + 0x4c" (identifier "iVar20") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (goto_statement "goto LAB_000b6678;" (goto "goto") (statement_identifier "LAB_000b6678") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar20 + 0x38) == 0) {\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }\n        else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar20 + 0x38) == 0)" (( "(") (binary_expression "*(int *)(iVar20 + 0x38) == 0" (pointer_expression "*(int *)(iVar20 + 0x38)" (* "*") (cast_expression "(int *)(iVar20 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x38)" (( "(") (binary_expression "iVar20 + 0x38" (identifier "iVar20") (+ "+") (number_literal "0x38")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar6 = 100;\n          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;\n          iVar16 = 9;\n        }" ({ "{") (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" (identifier "iVar6") (= "=") (number_literal "100")) (; ";")) (if_statement "if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;" (if "if") (parenthesized_expression "(*(int *)(iVar20 + 0x3c) == 0)" (( "(") (binary_expression "*(int *)(iVar20 + 0x3c) == 0" (pointer_expression "*(int *)(iVar20 + 0x3c)" (* "*") (cast_expression "(int *)(iVar20 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x3c)" (( "(") (binary_expression "iVar20 + 0x3c" (identifier "iVar20") (+ "+") (number_literal "0x3c")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";"))) (expression_statement "iVar16 = 9;" (assignment_expression "iVar16 = 9" (identifier "iVar16") (= "=") (number_literal "9")) (; ";")) (} "}")) (else_clause "else {\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }" (else "else") (compound_statement "{\n          iVar21 = *(int *)(iVar20 + 0x3c);\n          iVar16 = 9;\nLAB_000b6780:\n          iVar6 = 100;\n          if (iVar21 == 0) goto LAB_000b6458;\n        }" ({ "{") (expression_statement "iVar21 = *(int *)(iVar20 + 0x3c);" (assignment_expression "iVar21 = *(int *)(iVar20 + 0x3c)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(iVar20 + 0x3c)" (* "*") (cast_expression "(int *)(iVar20 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x3c)" (( "(") (binary_expression "iVar20 + 0x3c" (identifier "iVar20") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "iVar16 = 9;" (assignment_expression "iVar16 = 9" (identifier "iVar16") (= "=") (number_literal "9")) (; ";")) (labeled_statement "LAB_000b6780:\n          iVar6 = 100;" (statement_identifier "LAB_000b6780") (: ":") (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" (identifier "iVar6") (= "=") (number_literal "100")) (; ";"))) (if_statement "if (iVar21 == 0) goto LAB_000b6458;" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";"))) (} "}")))) (labeled_statement "LAB_000b6788:\n        if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" (statement_identifier "LAB_000b6788") (: ":") (if_statement "if (iVar16 == 0x12) {\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" (if "if") (parenthesized_expression "(iVar16 == 0x12)" (( "(") (binary_expression "iVar16 == 0x12" (identifier "iVar16") (== "==") (number_literal "0x12")) () ")")) (compound_statement "{\n          iVar6 = 100;\n          *(undefined4 *)(iVar20 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" ({ "{") (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" (identifier "iVar6") (= "=") (number_literal "100")) (; ";")) (expression_statement "*(undefined4 *)(iVar20 + 0x50) = 9;" (assignment_expression "*(undefined4 *)(iVar20 + 0x50) = 9" (pointer_expression "*(undefined4 *)(iVar20 + 0x50)" (* "*") (cast_expression "(undefined4 *)(iVar20 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x50)" (( "(") (binary_expression "iVar20 + 0x50" (identifier "iVar20") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (number_literal "9")) (; ";")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";")) (} "}")))) (if_statement "if (iVar16 == 9) {\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }" (if "if") (parenthesized_expression "(iVar16 == 9)" (( "(") (binary_expression "iVar16 == 9" (identifier "iVar16") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n          *(undefined4 *)(iVar20 + 0x50) = 0x12;\n          iVar6 = 100;\n          goto LAB_000b6458;\n        }" ({ "{") (expression_statement "*(undefined4 *)(iVar20 + 0x50) = 0x12;" (assignment_expression "*(undefined4 *)(iVar20 + 0x50) = 0x12" (pointer_expression "*(undefined4 *)(iVar20 + 0x50)" (* "*") (cast_expression "(undefined4 *)(iVar20 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x50)" (( "(") (binary_expression "iVar20 + 0x50" (identifier "iVar20") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (number_literal "0x12")) (; ";")) (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" (identifier "iVar6") (= "=") (number_literal "100")) (; ";")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_000b6734:\n      iVar6 = 100;" (statement_identifier "LAB_000b6734") (: ":") (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" (identifier "iVar6") (= "=") (number_literal "100")) (; ";"))) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";")) (} "}"))) (expression_statement "uVar18 = 0x301e6;" (assignment_expression "uVar18 = 0x301e6" (identifier "uVar18") (= "=") (number_literal "0x301e6")) (; ";")) (} "}")))) (labeled_statement "LAB_000b653c:\n  (**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c);" (statement_identifier "LAB_000b653c") (: ":") (expression_statement "(**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(puVar24 + 0xdaa58))\n            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(puVar24 + 0xdaa58))" (( "(") (pointer_expression "**(code **)(puVar24 + 0xdaa58)" (* "*") (pointer_expression "*(code **)(puVar24 + 0xdaa58)" (* "*") (cast_expression "(code **)(puVar24 + 0xdaa58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0xdaa58)" (( "(") (binary_expression "puVar24 + 0xdaa58" (identifier "puVar24") (+ "+") (number_literal "0xdaa58")) () ")"))))) () ")")) (argument_list "(0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(puVar24 + 0xda7d0) + 0x625c)" (( "(") (number_literal "0xb") (, ",") (binary_expression "*(int *)(puVar24 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(puVar24 + 0xda7d4)" (* "*") (cast_expression "(int *)(puVar24 + 0xda7d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0xda7d4)" (( "(") (binary_expression "puVar24 + 0xda7d4" (identifier "puVar24") (+ "+") (number_literal "0xda7d4")) () ")")))) (+ "+") (number_literal "-0x6378")) (, ",") (binary_expression "*(int *)(puVar24 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(puVar24 + 0xda7d4)" (* "*") (cast_expression "(int *)(puVar24 + 0xda7d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0xda7d4)" (( "(") (binary_expression "puVar24 + 0xda7d4" (identifier "puVar24") (+ "+") (number_literal "0xda7d4")) () ")")))) (+ "+") (number_literal "-0x5e64")) (, ",") (identifier "uVar18") (, ",") (binary_expression "*(int *)(puVar24 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(puVar24 + 0xda7d0)" (* "*") (cast_expression "(int *)(puVar24 + 0xda7d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 0xda7d0)" (( "(") (binary_expression "puVar24 + 0xda7d0" (identifier "puVar24") (+ "+") (number_literal "0xda7d0")) () ")")))) (+ "+") (number_literal "0x625c")) () ")"))) (; ";"))) (expression_statement "iVar6 = 0xb;" (assignment_expression "iVar6 = 0xb" (identifier "iVar6") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "*(undefined4 *)(iVar20 + 0x40) = 0xb;" (assignment_expression "*(undefined4 *)(iVar20 + 0x40) = 0xb" (pointer_expression "*(undefined4 *)(iVar20 + 0x40)" (* "*") (cast_expression "(undefined4 *)(iVar20 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x40)" (( "(") (binary_expression "iVar20 + 0x40" (identifier "iVar20") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (number_literal "0xb")) (; ";")) (labeled_statement "LAB_000b6458:\n  while (iStack_ac != *piVar23) {\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }" (statement_identifier "LAB_000b6458") (: ":") (while_statement "while (iStack_ac != *piVar23) {\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }" (while "while") (parenthesized_expression "(iStack_ac != *piVar23)" (( "(") (binary_expression "iStack_ac != *piVar23" (identifier "iStack_ac") (!= "!=") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) () ")")) (compound_statement "{\n    (**(code **)(puVar24 + 0xdac70))();\nLAB_000b6830:\n    iVar16 = 0;\nLAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);\n    *(int *)(iVar20 + 0x40) = iVar6;\n    if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }\n  }" ({ "{") (expression_statement "(**(code **)(puVar24 + 0xdac70))();" (call_expression "(**(code **)(puVar24 + 0xdac70))()" (parenthesized_expression "(**(code **)(puVar24 + 0xdac70))" (( "(") (pointer_expression "**(code **)(puVar24 + 0xdac70)" (* "*") (pointer_expression "*(code **)(puVar24 + 0xdac70)" (* "*") (cast_expression "(code **)(puVar24 + 0xdac70)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0xdac70)" (( "(") (binary_expression "puVar24 + 0xdac70" (identifier "puVar24") (+ "+") (number_literal "0xdac70")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000b6830:\n    iVar16 = 0;" (statement_identifier "LAB_000b6830") (: ":") (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_000b65d4:\n    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);" (statement_identifier "LAB_000b65d4") (: ":") (expression_statement "iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);" (assignment_expression "iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14)" (identifier "iVar6") (= "=") (call_expression "FUN_000b5b8c(iVar20,iVar16,piVar14)" (identifier "FUN_000b5b8c") (argument_list "(iVar20,iVar16,piVar14)" (( "(") (identifier "iVar20") (, ",") (identifier "iVar16") (, ",") (identifier "piVar14") () ")")))) (; ";"))) (expression_statement "*(int *)(iVar20 + 0x40) = iVar6;" (assignment_expression "*(int *)(iVar20 + 0x40) = iVar6" (pointer_expression "*(int *)(iVar20 + 0x40)" (* "*") (cast_expression "(int *)(iVar20 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x40)" (( "(") (binary_expression "iVar20 + 0x40" (identifier "iVar20") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (if_statement "if (iVar6 == 0) {\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);\n      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;\n      iVar6 = 100;\n    }" ({ "{") (expression_statement "*piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);" (assignment_expression "*piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8)" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (= "=") (binary_expression "*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8)" (pointer_expression "*(int *)(iVar20 + 0xc)" (* "*") (cast_expression "(int *)(iVar20 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0xc)" (( "(") (binary_expression "iVar20 + 0xc" (identifier "iVar20") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (expression_statement "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;" (assignment_expression "*(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14" (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(int *)(iVar20 + 8) + *piVar14" (pointer_expression "*(int *)(iVar20 + 8)" (* "*") (cast_expression "(int *)(iVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")")))) (+ "+") (pointer_expression "*piVar14" (* "*") (identifier "piVar14")))) (; ";")) (expression_statement "iVar6 = 100;" (assignment_expression "iVar6 = 100" (identifier "iVar6") (= "=") (number_literal "100")) (; ";")) (} "}"))) (} "}")))) (return_statement "return iVar6;" (return "return") (identifier "iVar6") (; ";")) (labeled_statement "code_r0x000b6070:\n  piVar14 = *(int **)pdVar10;" (statement_identifier "code_r0x000b6070") (: ":") (expression_statement "piVar14 = *(int **)pdVar10;" (assignment_expression "piVar14 = *(int **)pdVar10" (identifier "piVar14") (= "=") (pointer_expression "*(int **)pdVar10" (* "*") (cast_expression "(int **)pdVar10" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pdVar10")))) (; ";"))) (expression_statement "puVar17 = *(undefined4 **)((int)pdVar10 + 4);" (assignment_expression "puVar17 = *(undefined4 **)((int)pdVar10 + 4)" (identifier "puVar17") (= "=") (pointer_expression "*(undefined4 **)((int)pdVar10 + 4)" (* "*") (cast_expression "(undefined4 **)((int)pdVar10 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pdVar10 + 4)" (( "(") (binary_expression "(int)pdVar10 + 4" (cast_expression "(int)pdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar10")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "dVar25 = *pdVar10;" (assignment_expression "dVar25 = *pdVar10" (identifier "dVar25") (= "=") (pointer_expression "*pdVar10" (* "*") (identifier "pdVar10"))) (; ";")) (expression_statement "uVar2 = *(ushort *)(pdVar7 + 1);" (assignment_expression "uVar2 = *(ushort *)(pdVar7 + 1)" (identifier "uVar2") (= "=") (pointer_expression "*(ushort *)(pdVar7 + 1)" (* "*") (cast_expression "(ushort *)(pdVar7 + 1)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar7 + 1)" (( "(") (binary_expression "pdVar7 + 1" (identifier "pdVar7") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "piVar13 = (int *)(uVar2 & 0x2400);" (assignment_expression "piVar13 = (int *)(uVar2 & 0x2400)" (identifier "piVar13") (= "=") (cast_expression "(int *)(uVar2 & 0x2400)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar2 & 0x2400)" (( "(") (binary_expression "uVar2 & 0x2400" (identifier "uVar2") (& "&") (number_literal "0x2400")) () ")")))) (; ";")) (if_statement "if (unaff_s5 == (undefined *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }\n  }\n  else {\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }" (if "if") (parenthesized_expression "(unaff_s5 == (undefined *)0x1)" (( "(") (binary_expression "unaff_s5 == (undefined *)0x1" (identifier "unaff_s5") (== "==") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }\n  }" ({ "{") (if_statement "if ((uVar2 & 0x2400) == 0) {\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }" (if "if") (parenthesized_expression "((uVar2 & 0x2400) == 0)" (( "(") (binary_expression "(uVar2 & 0x2400) == 0" (parenthesized_expression "(uVar2 & 0x2400)" (( "(") (binary_expression "uVar2 & 0x2400" (identifier "uVar2") (& "&") (number_literal "0x2400")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 **)((int)pdVar7 + 4) = puVar17;\n      *(int **)pdVar7 = piVar14;\n      *(undefined2 *)(pdVar7 + 1) = 4;\n    }" ({ "{") (expression_statement "*(undefined4 **)((int)pdVar7 + 4) = puVar17;" (assignment_expression "*(undefined4 **)((int)pdVar7 + 4) = puVar17" (pointer_expression "*(undefined4 **)((int)pdVar7 + 4)" (* "*") (cast_expression "(undefined4 **)((int)pdVar7 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pdVar7 + 4)" (( "(") (binary_expression "(int)pdVar7 + 4" (cast_expression "(int)pdVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar7")) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "puVar17")) (; ";")) (expression_statement "*(int **)pdVar7 = piVar14;" (assignment_expression "*(int **)pdVar7 = piVar14" (pointer_expression "*(int **)pdVar7" (* "*") (cast_expression "(int **)pdVar7" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pdVar7"))) (= "=") (identifier "piVar14")) (; ";")) (expression_statement "*(undefined2 *)(pdVar7 + 1) = 4;" (assignment_expression "*(undefined2 *)(pdVar7 + 1) = 4" (pointer_expression "*(undefined2 *)(pdVar7 + 1)" (* "*") (cast_expression "(undefined2 *)(pdVar7 + 1)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar7 + 1)" (( "(") (binary_expression "pdVar7 + 1" (identifier "pdVar7") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "4")) (; ";")) (} "}")) (else_clause "else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }" (else "else") (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);\n    }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x20fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x20fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x20fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x20fc)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x20fc" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x20fc")) () ")")))) () ")")) (argument_list "(pdVar7)" (( "(") (identifier "pdVar7") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }" (else "else") (compound_statement "{\n    local_40 = piVar14;\n    local_3c = puVar17;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }\n    if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }\n  }" ({ "{") (expression_statement "local_40 = piVar14;" (assignment_expression "local_40 = piVar14" (identifier "local_40") (= "=") (identifier "piVar14")) (; ";")) (expression_statement "local_3c = puVar17;" (assignment_expression "local_3c = puVar17" (identifier "local_3c") (= "=") (identifier "puVar17")) (; ";")) (if_statement "if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }\n    else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }" (if "if") (parenthesized_expression "((uVar2 & 0x2400) == 0)" (( "(") (binary_expression "(uVar2 & 0x2400) == 0" (parenthesized_expression "(uVar2 & 0x2400)" (( "(") (binary_expression "uVar2 & 0x2400" (identifier "uVar2") (& "&") (number_literal "0x2400")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined2 *)(pdVar7 + 1) = 1;\n    }" ({ "{") (expression_statement "*(undefined2 *)(pdVar7 + 1) = 1;" (assignment_expression "*(undefined2 *)(pdVar7 + 1) = 1" (pointer_expression "*(undefined2 *)(pdVar7 + 1)" (* "*") (cast_expression "(undefined2 *)(pdVar7 + 1)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar7 + 1)" (( "(") (binary_expression "pdVar7 + 1" (identifier "pdVar7") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }" (else "else") (compound_statement "{\n      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);\n    }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + -0x2170))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + -0x2170)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x2170)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x2170)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x2170" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x2170")) () ")")))) () ")")) (argument_list "(pdVar7)" (( "(") (identifier "pdVar7") () ")"))) (; ";")) (} "}")))) (if_statement "if (!NAN(dVar25)) {\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }" (if "if") (parenthesized_expression "(!NAN(dVar25))" (( "(") (unary_expression "!NAN(dVar25)" (! "!") (call_expression "NAN(dVar25)" (identifier "NAN") (argument_list "(dVar25)" (( "(") (identifier "dVar25") () ")")))) () ")")) (compound_statement "{\n      *pdVar7 = dVar25;\n      *(undefined2 *)(pdVar7 + 1) = 8;\n    }" ({ "{") (expression_statement "*pdVar7 = dVar25;" (assignment_expression "*pdVar7 = dVar25" (pointer_expression "*pdVar7" (* "*") (identifier "pdVar7")) (= "=") (identifier "dVar25")) (; ";")) (expression_statement "*(undefined2 *)(pdVar7 + 1) = 8;" (assignment_expression "*(undefined2 *)(pdVar7 + 1) = 8" (pointer_expression "*(undefined2 *)(pdVar7 + 1)" (* "*") (cast_expression "(undefined2 *)(pdVar7 + 1)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar7 + 1)" (( "(") (binary_expression "pdVar7 + 1" (identifier "pdVar7") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "8")) (; ";")) (} "}"))) (} "}")))) (expression_statement "unaff_s4 = (int *)(uint)(iVar20 < (int)param_2);" (assignment_expression "unaff_s4 = (int *)(uint)(iVar20 < (int)param_2)" (identifier "unaff_s4") (= "=") (cast_expression "(int *)(uint)(iVar20 < (int)param_2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(iVar20 < (int)param_2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar20 < (int)param_2)" (( "(") (binary_expression "iVar20 < (int)param_2" (identifier "iVar20") (< "<") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) () ")"))))) (; ";")) (expression_statement "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8;" (assignment_expression "*(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8" (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 8) + 8" (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (unaff_s4 == (int *)0x0) {\n    iVar6 = 0;\n    unaff_s7 = iVar20;\n    goto LAB_000b5de4;\n  }" (if "if") (parenthesized_expression "(unaff_s4 == (int *)0x0)" (( "(") (binary_expression "unaff_s4 == (int *)0x0" (identifier "unaff_s4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar6 = 0;\n    unaff_s7 = iVar20;\n    goto LAB_000b5de4;\n  }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s7 = iVar20;" (assignment_expression "unaff_s7 = iVar20" (identifier "unaff_s7") (= "=") (identifier "iVar20")) (; ";")) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";")) (} "}"))) (goto_statement "goto LAB_000b5dac;" (goto "goto") (statement_identifier "LAB_000b5dac") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (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: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) 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: (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: (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: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (while_statement condition: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) right: (char_literal (escape_sequence))))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (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))))) 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 (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) 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: (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 (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) (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) 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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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)))))))) (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: (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) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (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))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (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)))))))) condition: (parenthesized_expression (binary_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 (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (goto_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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) 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)) 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: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (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) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (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)) (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))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)) (pointer_expression argument: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal) (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 (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (if_statement condition: (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: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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 (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: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) condition: (parenthesized_expression (true))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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 (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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 (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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)))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) right: (number_literal)))))) 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: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (goto_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (labeled_statement label: (statement_identifier) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) body: (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))) (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (return_statement (identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) 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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) 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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier))))))) (if_statement condition: (parenthesized_expression (unary_expression argument: (call_expression function: (identifier) arguments: (argument_list (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))))

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

{
  byte bVar1;
  ushort uVar2;
  undefined *puVar3;
  code *pcVar4;
  code *pcVar5;
  int iVar6;
  double *pdVar7;
  uint uVar8;
  char *pcVar9;
  double *pdVar10;
  byte *pbVar11;
  char *pcVar12;
  int *piVar13;
  int *piVar14;
  int *piVar15;
  int iVar16;
  undefined4 *puVar17;
  undefined4 uVar18;
  int iVar19;
  int iVar20;
  int *unaff_s0;
  undefined *unaff_s1;
  int *unaff_s2;
  int iVar21;
  int *unaff_s3;
  int iVar22;
  int *unaff_s4;
  int *piVar23;
  undefined *unaff_s5;
  int unaff_s7;
  undefined *puVar24;
  int unaff_s8;
  double dVar25;
  int iStack_b4;
  int iStack_b0;
  int iStack_ac;
  int *piStack_a8;
  undefined *puStack_a4;
  int *piStack_a0;
  int *piStack_9c;
  int *piStack_98;
  undefined *puStack_94;
  undefined *puStack_90;
  int iStack_8c;
  int iStack_88;
  code *pcStack_84;
  undefined *local_70;
  int *local_40;
  undefined4 *local_3c;
  int local_34;
  
  puVar3 = PTR___stack_chk_guard_00190e24;
  puVar24 = PTR_LAB_00190bc0;
  local_34 = *(int *)PTR___stack_chk_guard_00190e24;
  piVar13 = param_2;
  piVar14 = param_3;
  puVar17 = param_4;
  if (0 < (int)param_2) {
    iVar20 = 0;
    pcVar4 = (code *)(PTR_LAB_00190ba8 + 0x924);
    pcVar5 = (code *)(PTR_LAB_00190ba8 + -0x2b48);
    unaff_s1 = PTR_LAB_00190c2c + 0x57e0;
    unaff_s5 = PTR_LAB_00190ba8;
LAB_000b5dac:
    unaff_s3 = (int *)0x1;
    unaff_s7 = iVar20;
LAB_000b5db4:
    while ((param_3 != (int *)0x0 && (*(char *)((int)param_3 + unaff_s7) == '\0'))) {
      unaff_s7 = unaff_s7 + 1;
      iVar6 = 0;
      if ((int)param_2 <= unaff_s7) goto LAB_000b5de4;
    }
    piVar13 = (int *)&DAT_00000009;
    iVar6 = FUN_000b57e0(param_1);
    if (iVar6 != 0) goto LAB_000b5de4;
    iVar20 = *(int *)(param_1 + 8);
    piVar13 = (int *)(iVar20 + 1);
    if (*(int *)(param_1 + 0x10) <= iVar20) {
      puVar17 = (undefined4 *)&DAT_000300ea;
LAB_000b5e90:
      local_70 = PTR_LAB_00190958 + 0x625c;
      piVar14 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);
      piVar13 = (int *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);
      (*(code *)PTR_sqlite3_log_00190be0)(0xb);
      iVar6 = 0xb;
      goto LAB_000b5de4;
    }
    *(int **)(param_1 + 8) = piVar13;
    unaff_s5 = (undefined *)(uint)*(byte *)(*(int *)(param_1 + 0xc) + iVar20);
    if (unaff_s5 != (undefined *)0x0) {
      puVar17 = (undefined4 *)&DAT_00000028;
      piVar14 = (int *)0x0;
      unaff_s4 = param_4 + unaff_s7;
      pdVar7 = (double *)(*pcVar4)(0);
      if (pdVar7 == (double *)0x0) {
        iVar6 = 7;
        *unaff_s4 = 0;
        goto LAB_000b5de4;
      }
      *(undefined2 *)(pdVar7 + 1) = 1;
      *(undefined4 *)(pdVar7 + 4) = 0;
      *unaff_s4 = (int)pdVar7;
      piVar14 = *(int **)(param_1 + 8);
      pdVar10 = (double *)(*(int *)(param_1 + 0xc) + (int)piVar14);
      if (unaff_s5 + -3 < (undefined *)0x2) {
        if ((char)*(byte *)pdVar10 < '\0') {
          iVar20 = (*(code *)(PTR_LAB_00190ba8 + 0x3388))(pdVar10,&local_40);
          piVar14 = *(int **)(param_1 + 8);
        }
        else {
          iVar20 = 1;
          local_40 = (int *)(uint)*(byte *)pdVar10;
        }
        *(undefined1 **)(param_1 + 8) = (undefined1 *)(iVar20 + (int)piVar14);
        piVar13 = local_40;
        iVar6 = FUN_000b57e0(param_1);
        piVar23 = local_40;
        if (iVar6 != 0) goto LAB_000b5de4;
        puVar17 = (undefined4 *)&DAT_00030000;
        if (((int)local_40 < 0) ||
           (piVar15 = *(int **)(param_1 + 8),
           *(int *)(param_1 + 0x10) - (int)piVar15 < (int)local_40)) {
          puVar17 = (undefined4 *)&DAT_000300fd;
          unaff_s3 = local_40;
          goto LAB_000b5e90;
        }
        iVar20 = *unaff_s4;
        unaff_s4 = *(int **)(param_1 + 0xc);
        iVar6 = (*(code *)PTR_sqlite3_initialize_00190b88)();
        piVar14 = piVar15;
        unaff_s3 = piVar23;
        if (iVar6 == 0) {
          piVar13 = (int *)((int)piVar23 + 1);
          iVar6 = (*pcVar5)((uint)(piVar13 < piVar23) + ((int)piVar23 >> 0x1f));
          if (iVar6 != 0) {
            piVar14 = piVar23;
            uVar18 = (*(code *)PTR_memcpy_00190e2c)
                               (iVar6,(undefined1 *)((int)unaff_s4 + (int)piVar15));
            iVar6 = 0;
            if (iVar20 == 0) {
              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);
              piVar13 = local_40;
            }
            else {
              puVar17 = (undefined4 *)(uint)(unaff_s5 == (undefined *)0x3);
              local_70 = PTR_sqlite3_free_0019096c;
              piVar14 = piVar23;
              (*(code *)(puVar24 + -0x2aec))(iVar20,uVar18);
              *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);
              piVar13 = local_40;
            }
            iVar20 = unaff_s7 + 1;
            local_40 = piVar13;
            if (iVar20 < (int)param_2) goto LAB_000b5dac;
            goto LAB_000b5de4;
          }
        }
        iVar6 = 7;
        *(undefined1 **)(param_1 + 8) = (undefined1 *)(*(int *)(param_1 + 8) + (int)local_40);
        goto LAB_000b5de4;
      }
      iVar20 = unaff_s7 + 1;
      piVar13 = (int *)(uint)(unaff_s5 + -1 < (undefined *)0x2);
      if (piVar13 != (int *)0x0) goto code_r0x000b6070;
    }
    unaff_s7 = unaff_s7 + 1;
    unaff_s0 = param_3;
    unaff_s2 = param_2;
    unaff_s8 = param_1;
    if ((int)param_2 <= unaff_s7) goto LAB_000b5e64;
    goto LAB_000b5db4;
  }
LAB_000b5e64:
  iVar6 = 0;
  param_3 = unaff_s0;
  param_2 = unaff_s2;
  param_1 = unaff_s8;
LAB_000b5de4:
  if (local_34 == *(int *)puVar3) {
    return iVar6;
  }
  pcVar4 = FUN_000b6188;
  iVar20 = local_34;
  puVar24 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_90 = puVar3;
  piVar23 = *(int **)(puVar24 + 0xdac9c);
  iVar6 = *(int *)(iVar20 + 0x5c);
  iStack_ac = *piVar23;
  piStack_a8 = param_3;
  puStack_a4 = unaff_s1;
  piStack_a0 = param_2;
  piStack_9c = unaff_s3;
  piStack_98 = unaff_s4;
  puStack_94 = unaff_s5;
  iStack_8c = unaff_s7;
  iStack_88 = param_1;
  pcStack_84 = pcVar4;
  if (iVar6 != 0) {
    iVar16 = *(int *)(iVar20 + 0x4c);
    iVar21 = 0;
    if (0 < iVar16) {
      iVar22 = *(int *)(puVar24 + 0xdaa20);
      do {
        iVar16 = iVar21 * 4;
        iVar21 = iVar21 + 1;
        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar6 + iVar16));
        iVar16 = *(int *)(iVar20 + 0x4c);
        iVar6 = *(int *)(iVar20 + 0x5c);
      } while (iVar21 < iVar16 << 1);
    }
    (**(code **)(puVar24 + 0xdabd0))(iVar6,0,iVar16 << 3);
  }
  iVar6 = FUN_000b57e0(iVar20,2);
  *(int *)(iVar20 + 0x40) = iVar6;
  if (iVar6 != 0) goto LAB_000b6458;
  if (*(int *)(iVar20 + 0x10) <= *(int *)(iVar20 + 8)) {
LAB_000b6494:
    iVar6 = 0x65;
    goto LAB_000b6458;
  }
  (*(code *)(*(int *)(puVar24 + 0xdaa1c) + 0x27a4))(iVar20);
  iVar6 = *(int *)(iVar20 + 8);
  iVar16 = *(int *)(iVar20 + 0xc);
  iVar21 = *(int *)(puVar24 + 0xdaa20);
  *(int *)(iVar20 + 4) = iVar6;
  *(int *)(iVar20 + 8) = iVar6 + 1;
  bVar1 = *(byte *)(iVar16 + iVar6);
  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {
    if (puVar17 != (undefined4 *)0x0) {
      *puVar17 = 1;
    }
    *(uint *)(iVar20 + 0x38) = (uint)(uVar8 == 0x50);
    iStack_b4 = FUN_000b5998(iVar20,&iStack_b0);
    if (iStack_b4 != 0) {
LAB_000b6434:
      *(int *)(iVar20 + 0x40) = iStack_b4;
      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);
      iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;
      *(int *)(iVar20 + 0x58) = iVar6;
      *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);
      iVar6 = iStack_b4;
      goto LAB_000b6458;
    }
    pbVar11 = (byte *)(*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8));
    bVar1 = *pbVar11;
    uVar8 = (uint)bVar1;
    if ((char)bVar1 < '\0') {
      iVar6 = (*(code *)(iVar21 + 0x3388))(pbVar11,iVar20 + 0x4c);
      uVar8 = *(uint *)(iVar20 + 0x4c);
    }
    else {
      iVar6 = 1;
      *(uint *)(iVar20 + 0x4c) = uVar8;
    }
    if ((int)uVar8 < 1) {
      (**(code **)(puVar24 + 0xdaa58))
                (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,
                 0x3018b,*(int *)(puVar24 + 0xda7d0) + 0x625c);
      iVar6 = 0xb;
      *(undefined4 *)(iVar20 + 0x40) = 0xb;
      *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);
      iVar16 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;
      *(int *)(iVar20 + 0x58) = iVar16;
      *(int *)(iVar20 + 0x48) = iVar16 + *(int *)(iVar20 + 0x4c);
      goto LAB_000b6458;
    }
    *(undefined4 *)(iVar20 + 0x30) = 0;
    iStack_b0 = iStack_b0 - iVar6;
    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iVar6;
    FUN_000b4d08(iVar20 + 0x2c,uVar8 * 8 + iStack_b0,&iStack_b4);
    if (iStack_b4 != 0) goto LAB_000b6434;
    iVar6 = *(int *)(iVar20 + 0x4c) * 8;
    (**(code **)(puVar24 + 0xdabd0))(*(undefined4 *)(iVar20 + 0x2c),0,iVar6);
    (**(code **)(puVar24 + 0xdaca4))
              (*(int *)(iVar20 + 0x2c) + iVar6,*(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8),
               iStack_b0);
    iVar6 = *(int *)(iVar20 + 0x2c) + *(int *)(iVar20 + 0x4c) * 8;
    *(int *)(iVar20 + 0x5c) = *(int *)(iVar20 + 0x2c);
    *(int *)(iVar20 + 0x58) = iVar6;
    *(int *)(iVar20 + 0x40) = iStack_b4;
    *(int *)(iVar20 + 0x48) = iVar6 + *(int *)(iVar20 + 0x4c);
    *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + iStack_b0;
    iVar6 = iStack_b4;
    if (iStack_b4 != 0) goto LAB_000b6458;
    iVar6 = FUN_000b57e0(iVar20,2);
    *(int *)(iVar20 + 0x40) = iVar6;
    if (iVar6 != 0) goto LAB_000b6458;
    iVar6 = *(int *)(iVar20 + 8);
    *(int *)(iVar20 + 4) = iVar6;
    if (*(int *)(iVar20 + 0x10) <= iVar6) goto LAB_000b6494;
    iVar16 = *(int *)(iVar20 + 0xc);
    *(int *)(iVar20 + 8) = iVar6 + 1;
    bVar1 = *(byte *)(iVar16 + iVar6);
  }
  if ((*(int *)(iVar20 + 0x48) == 0) ||
     ((iVar6 = *(int *)(iVar20 + 0x38), iVar6 != 0 && (*(int *)(iVar20 + 0x3c) != 0)))) {
    uVar18 = 0x301e0;
  }
  else {
    iVar21 = *(int *)(iVar20 + 8);
    *(uint *)(iVar20 + 0x50) = uVar8;
    *(int *)(iVar20 + 8) = iVar21 + 1;
    *(uint *)(iVar20 + 0x54) = (uint)*(byte *)(iVar16 + iVar21);
    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {
      iVar16 = *(int *)(iVar20 + 0x4c);
      if (piVar13 != (int *)0x0) {
        if (iVar6 != 0) {
          if (uVar8 != 9) goto LAB_000b65d4;
          if (iVar16 < 1) goto LAB_000b6830;
          pcVar9 = *(char **)(iVar20 + 0x58);
          pcVar12 = pcVar9 + iVar16;
          iVar16 = 0;
          do {
            if (*pcVar9 != '\0') {
              iVar16 = iVar16 + 1;
            }
            pcVar9 = pcVar9 + 1;
            if (pcVar12 == pcVar9) goto LAB_000b65d4;
          } while( true );
        }
        if (uVar8 != 0x17) goto LAB_000b65d4;
        iVar16 = iVar16 << 1;
        goto LAB_000b65d4;
      }
      iVar19 = *(int *)(iVar20 + 0x5c);
      iVar22 = iVar19 + iVar16 * 4;
      iVar21 = iVar19;
      if (*(int *)(iVar20 + 0x3c) != 0) {
        iVar21 = iVar22;
        iVar22 = iVar19;
      }
      if (uVar8 == 0x12) {
LAB_000b6678:
        iVar6 = MASKED(iVar20,iVar16,0,iVar22);
        *(int *)(iVar20 + 0x40) = iVar6;
        if (iVar6 != 0) goto LAB_000b6458;
        if (*(int *)(iVar20 + 0x38) == 0) {
          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6734;
          iVar16 = *(int *)(iVar20 + 0x50);
          if (iVar16 != 0x17) goto LAB_000b6788;
        }
        else {
          iVar16 = *(int *)(iVar20 + 0x50);
          if (iVar16 != 0x17) {
            iVar21 = *(int *)(iVar20 + 0x3c);
            goto LAB_000b6780;
          }
        }
        iVar16 = *(int *)(iVar20 + 0x4c);
        iVar6 = 0;
        if (0 < iVar16) {
          do {
            if (*(char *)(*(int *)(iVar20 + 0x58) + iVar6) != '\0') {
              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) =
                   *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar16 + iVar6) * 4);
              if (*(int *)(*(int *)(iVar20 + 0x5c) + iVar6 * 4) == 0) {
                uVar18 = 0x30212;
                goto LAB_000b653c;
              }
              *(undefined4 *)(*(int *)(iVar20 + 0x5c) + (iVar6 + *(int *)(iVar20 + 0x4c)) * 4) = 0;
              iVar16 = *(int *)(iVar20 + 0x4c);
            }
            iVar6 = iVar6 + 1;
          } while (iVar6 < iVar16);
        }
      }
      else {
        if (iVar6 != 0) {
          if (uVar8 != 9) goto LAB_000b6678;
          piVar13 = *(int **)(iVar20 + 0x58);
        }
        iVar6 = MASKED(iVar20,iVar16,piVar13,iVar21);
        *(int *)(iVar20 + 0x40) = iVar6;
        if (iVar6 != 0) goto LAB_000b6458;
        if (*(int *)(iVar20 + 0x50) != 9) {
          iVar16 = *(int *)(iVar20 + 0x4c);
          goto LAB_000b6678;
        }
        if (*(int *)(iVar20 + 0x38) == 0) {
          iVar6 = 100;
          if (*(int *)(iVar20 + 0x3c) == 0) goto LAB_000b6458;
          iVar16 = 9;
        }
        else {
          iVar21 = *(int *)(iVar20 + 0x3c);
          iVar16 = 9;
LAB_000b6780:
          iVar6 = 100;
          if (iVar21 == 0) goto LAB_000b6458;
        }
LAB_000b6788:
        if (iVar16 == 0x12) {
          iVar6 = 100;
          *(undefined4 *)(iVar20 + 0x50) = 9;
          goto LAB_000b6458;
        }
        if (iVar16 == 9) {
          *(undefined4 *)(iVar20 + 0x50) = 0x12;
          iVar6 = 100;
          goto LAB_000b6458;
        }
      }
LAB_000b6734:
      iVar6 = 100;
      goto LAB_000b6458;
    }
    uVar18 = 0x301e6;
  }
LAB_000b653c:
  (**(code **)(puVar24 + 0xdaa58))
            (0xb,*(int *)(puVar24 + 0xda7d4) + -0x6378,*(int *)(puVar24 + 0xda7d4) + -0x5e64,uVar18,
             *(int *)(puVar24 + 0xda7d0) + 0x625c);
  iVar6 = 0xb;
  *(undefined4 *)(iVar20 + 0x40) = 0xb;
LAB_000b6458:
  while (iStack_ac != *piVar23) {
    (**(code **)(puVar24 + 0xdac70))();
LAB_000b6830:
    iVar16 = 0;
LAB_000b65d4:
    iVar6 = FUN_000b5b8c(iVar20,iVar16,piVar14);
    *(int *)(iVar20 + 0x40) = iVar6;
    if (iVar6 == 0) {
      *piVar13 = *(int *)(iVar20 + 0xc) + *(int *)(iVar20 + 8);
      *(int *)(iVar20 + 8) = *(int *)(iVar20 + 8) + *piVar14;
      iVar6 = 100;
    }
  }
  return iVar6;
code_r0x000b6070:
  piVar14 = *(int **)pdVar10;
  puVar17 = *(undefined4 **)((int)pdVar10 + 4);
  dVar25 = *pdVar10;
  uVar2 = *(ushort *)(pdVar7 + 1);
  piVar13 = (int *)(uVar2 & 0x2400);
  if (unaff_s5 == (undefined *)0x1) {
    if ((uVar2 & 0x2400) == 0) {
      *(undefined4 **)((int)pdVar7 + 4) = puVar17;
      *(int **)pdVar7 = piVar14;
      *(undefined2 *)(pdVar7 + 1) = 4;
    }
    else {
      (*(code *)(PTR_LAB_00190ba8 + -0x20fc))(pdVar7);
    }
  }
  else {
    local_40 = piVar14;
    local_3c = puVar17;
    if ((uVar2 & 0x2400) == 0) {
      *(undefined2 *)(pdVar7 + 1) = 1;
    }
    else {
      (*(code *)(PTR_LAB_00190ba8 + -0x2170))(pdVar7);
    }
    if (!NAN(dVar25)) {
      *pdVar7 = dVar25;
      *(undefined2 *)(pdVar7 + 1) = 8;
    }
  }
  unaff_s4 = (int *)(uint)(iVar20 < (int)param_2);
  *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 8;
  if (unaff_s4 == (int *)0x0) {
    iVar6 = 0;
    unaff_s7 = iVar20;
    goto LAB_000b5de4;
  }
  goto LAB_000b5dac;
}

