
/* DWARF original prototype: int sessionChangegroupOutput(sqlite3_changegroup * pGrp,
   _func_int_void_ptr_void_ptr_int * xOutput, void * pOut, int * pnOut, void * * ppOut,
   sqlite3_changegroup * pGrp) */

int sessionChangegroupOutput
              (sqlite3_changegroup *pGrp,_func_int_void_ptr_void_ptr_int *xOutput,void *pOut,
              int *pnOut,void **ppOut,sqlite3_changegroup *pGrp_1)

{
  byte bVar1;
  ushort uVar2;
  int *piVar3;
  code *pcVar4;
  u8 *puVar5;
  SessionInput *pSVar6;
  int iVar7;
  undefined1 *puVar8;
  _func_int_void_ptr_void_ptr_int_ptr *p_Var9;
  uint uVar10;
  int iVar11;
  byte *pbVar12;
  SessionInput *pIn;
  double *pdVar13;
  _func_int_void_ptr_void_ptr_int_ptr *p_Var14;
  _func_int_void_ptr_void_ptr_int *p_Var15;
  SessionInput *nByte;
  SessionInput *abPK;
  SessionInput *pSVar16;
  SessionInput *pSVar17;
  u8 *puVar18;
  int *piVar19;
  undefined4 uVar20;
  sqlite3_value **ppsVar21;
  sqlite3_value **apOut;
  int *unaff_s0;
  int iVar22;
  int iVar23;
  SessionInput *pSVar24;
  SessionBuffer *unaff_s1;
  SessionBuffer *pSVar25;
  SessionInput *pSVar26;
  sqlite3_value **apOut_00;
  _func_int_void_ptr_void_ptr_int *unaff_s2;
  _func_int_void_ptr_void_ptr_int *p_Var27;
  SessionInput *pSVar28;
  undefined *unaff_s3;
  undefined *puVar29;
  SessionInput *pSVar30;
  SessionBuffer *p;
  SessionInput *pSVar31;
  void *unaff_s6;
  _func_int_void_ptr_void_ptr_int_ptr *p_Var32;
  int *piVar33;
  SessionInput *unaff_s7;
  SessionInput *pSVar34;
  SessionInput *pSVar35;
  undefined *puVar36;
  SessionInput *unaff_s8;
  code *pcVar37;
  code *pcVar38;
  double dVar39;
  u8 *puStack_20c;
  int iStack_208;
  int iStack_204;
  SessionInput *pSStack_200;
  SessionInput *pSStack_1fc;
  SessionInput *pSStack_1f8;
  SessionInput *pSStack_1f4;
  SessionInput *pSStack_1f0;
  code *pcStack_1ec;
  int *piStack_1e8;
  SessionInput *pSStack_1e4;
  SessionInput *pSStack_1e0;
  code *pcStack_1dc;
  int iStack_1c8;
  code *pcStack_1c0;
  int *piStack_1b4;
  code *pcStack_1b0;
  code *pcStack_1ac;
  int iStack_1a8;
  SessionInput *pSStack_1a4;
  SessionInput *pSStack_1a0;
  SessionInput *pSStack_19c;
  SessionInput *pSStack_198;
  int *piStack_194;
  SessionInput *pSStack_18c;
  SessionInput *pSStack_188;
  SessionInput *pSStack_184;
  SessionInput *pSStack_180;
  SessionInput *pSStack_17c;
  SessionInput *pSStack_178;
  code *pcStack_174;
  int *piStack_170;
  SessionInput *pSStack_16c;
  SessionInput *pSStack_168;
  code *pcStack_164;
  code *pcStack_148;
  SessionInput *pSStack_13c;
  SessionInput SStack_138;
  code *pcStack_10c;
  int iStack_f8;
  code *pcStack_f0;
  uint uStack_e8;
  SessionInput *pSStack_e4;
  int *piStack_dc;
  SessionBuffer *pSStack_d8;
  _func_int_void_ptr_void_ptr_int *p_Stack_d4;
  undefined *puStack_d0;
  SessionBuffer *pSStack_cc;
  code *pcStack_c8;
  code *pcStack_c4;
  undefined *puStack_b0;
  undefined1 auStack_a4 [8];
  SessionInput *pSStack_9c;
  int *piStack_98;
  SessionBuffer *pSStack_94;
  _func_int_void_ptr_void_ptr_int *p_Stack_90;
  undefined *puStack_8c;
  void *pvStack_88;
  _func_int_void_ptr_void_ptr_int_ptr *p_Stack_84;
  void *pvStack_80;
  SessionInput *pSStack_7c;
  SessionInput *pSStack_78;
  code *pcStack_74;
  int rc;
  SessionBuffer buf;
  
  puVar36 = PTR___stack_chk_guard_00190e24;
  rc = 0;
  buf.aBuf = (u8 *)0x0;
  buf.nBuf = 0;
  buf.nAlloc = 0;
  piVar3 = *(int **)PTR___stack_chk_guard_00190e24;
  piVar19 = pnOut;
  if (xOutput == (_func_int_void_ptr_void_ptr_int *)0x0) {
    pSVar17 = (SessionInput *)pOut;
    if (pOut == (void *)0x0) {
      p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x0;
      goto LAB_000b57b8;
    }
  }
  else {
    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);
    unaff_s2 = (_func_int_void_ptr_void_ptr_int *)(PTR_LAB_00190c2c + 0x5224);
    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;
    pSVar16 = (SessionInput *)pOut;
    pSVar31 = (SessionInput *)xOutput;
    do {
      if ((pSVar31->buf).nBuf == 0) {
LAB_000b5618:
        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;
        pSVar17 = pSVar16;
        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;
        pSVar16 = (SessionInput *)buf.nBuf;
      }
      else {
        unaff_s0 = &rc;
        unaff_s1 = &buf;
        xOutput = (_func_int_void_ptr_void_ptr_int *)pGrp->rc;
        pSVar16 = pSVar31;
        piVar19 = unaff_s0;
        (*pcVar4)(unaff_s1);
        puVar29 = PTR_aBuiltinFunc_29540_1408__00190948;
        iVar11 = (pSVar31->buf).nAlloc;
        if (iVar11 < 1) goto LAB_000b5618;
        unaff_s6 = (void *)0x0;
        do {
          unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);
          if (unaff_s8 != (SessionInput *)0x0) {
            do {
              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);
              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);
              pSVar16 = (SessionInput *)unaff_s8->iNext;
              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;
              piVar19 = unaff_s0;
              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);
              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&
                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,
                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {
                rc = (*(code *)pOut)(pnOut);
                buf.nBuf = 0;
              }
              unaff_s8 = (SessionInput *)unaff_s8->nData;
            } while (unaff_s8 != (SessionInput *)0x0);
            iVar11 = (pSVar31->buf).nAlloc;
            unaff_s8 = (SessionInput *)0x0;
          }
          unaff_s6 = (void *)((int)unaff_s6 + 1);
        } while ((int)unaff_s6 < iVar11);
        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;
        pSVar17 = pSVar16;
        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;
        pSVar16 = (SessionInput *)buf.nBuf;
        unaff_s7 = (SessionInput *)puVar29;
      }
      buf.aBuf = (u8 *)p_Var15;
      buf.nBuf = (int)pSVar16;
      if (rc != 0) goto LAB_000b5730;
    } while (pSVar31 != (SessionInput *)0x0);
    if (pOut == (void *)0x0) {
LAB_000b57b8:
      buf.aBuf = (u8 *)0x0;
      pGrp_1->rc = (int)p_Var15;
      *ppOut = (void *)buf.nBuf;
      pSVar17 = (SessionInput *)buf.nBuf;
    }
    else {
      pSVar17 = pSVar16;
      if (0 < (int)pSVar16) {
        rc = (*(code *)pOut)(pnOut);
        xOutput = p_Var15;
        pSVar17 = pSVar16;
      }
    }
  }
LAB_000b5730:
  pcVar4 = (code *)buf.aBuf;
  (*(code *)PTR_sqlite3_free_0019096c)(buf.aBuf);
  if (piVar3 == *(int **)puVar36) {
    return rc;
  }
  pcVar37 = sessionInputBuffer;
  puVar36 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_b0 = puVar36 + 0xe3140;
  p_Var32 = *(_func_int_void_ptr_void_ptr_int_ptr **)(puVar36 + 0xdb644);
  auStack_a4._0_4_ = 0;
  pSStack_9c = *(SessionInput **)p_Var32;
  iVar11 = 0;
  p_Var15 = xOutput;
  piVar33 = unaff_s0;
  p_Var27 = unaff_s2;
  piStack_98 = unaff_s0;
  pSStack_94 = unaff_s1;
  p_Stack_90 = unaff_s2;
  puStack_8c = unaff_s3;
  pvStack_88 = pOut;
  p_Stack_84 = pcVar4;
  pvStack_80 = unaff_s6;
  pSStack_7c = unaff_s7;
  pSStack_78 = unaff_s8;
  pcStack_74 = pcVar37;
  if (piVar3[8] != 0) {
    piVar33 = piVar3;
    if (piVar3[10] == 0) {
      iVar11 = 0;
      p_Var27 = xOutput;
      if (piVar3[4] <= (int)(xOutput + piVar3[2])) {
        p = (SessionBuffer *)(piVar3 + 5);
        puVar29 = *(undefined **)(puVar36 + 0xdb168);
        pSVar31 = (SessionInput *)(auStack_a4 + 4);
        pSVar25 = (SessionBuffer *)(*(int *)(puVar36 + 0xdb44c) + 0x4d08);
        pcVar4 = (code *)(*(int *)(puVar36 + 0xdb3c4) + 0x27a4);
        do {
          auStack_a4._4_4_ = *(undefined4 *)(puVar29 + -0xba0);
          if (*piVar3 == 0) {
            (*pcVar4)(piVar3);
          }
          pSVar17 = (SessionInput *)auStack_a4;
          iVar11 = sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4);
          unaff_s1 = pSVar25;
          unaff_s3 = puVar29;
          pOut = p;
          unaff_s7 = (SessionInput *)auStack_a4;
          unaff_s8 = pSVar31;
          if (iVar11 == 0) {
            pSVar17 = pSVar31;
            auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);
            if (auStack_a4._4_4_ == 0) {
              piVar3[4] = piVar3[6];
              piVar3[10] = 1;
              piVar3[3] = piVar3[5];
              iVar11 = auStack_a4._0_4_;
              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;
              break;
            }
            iVar23 = auStack_a4._4_4_ + piVar3[6];
            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];
            piVar3[6] = iVar23;
          }
          else {
            iVar23 = piVar3[6];
            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];
          }
          piVar3[4] = iVar23;
          piVar3[3] = piVar3[5];
          iVar11 = auStack_a4._0_4_;
          if (((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||
              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0)) break;
        } while( true );
      }
    }
    else {
      iVar11 = 0;
    }
  }
  if (pSStack_9c == *(SessionInput **)p_Var32) {
    return iVar11;
  }
  pcVar37 = *(code **)(puStack_b0 + -0x7b28);
  pcVar38 = sessionChangesetBufferTblhdr;
  pSVar31 = pSStack_9c;
  auStack_a4._0_4_ = iVar11;
  (*pcVar37)();
  pcStack_f0 = pcVar37 + 0xe2f88;
  pSVar16 = (SessionInput *)&DAT_00000009;
  piVar3 = *(int **)(pcVar37 + 0xdb48c);
  iVar11 = *(int *)(pcVar37 + 0xdb294);
  uStack_e8 = 0;
  pSStack_e4 = (SessionInput *)*piVar3;
  piStack_dc = piVar33;
  pSStack_d8 = unaff_s1;
  p_Stack_d4 = p_Var27;
  puStack_d0 = unaff_s3;
  pSStack_cc = (SessionBuffer *)pOut;
  pcStack_c8 = pcVar4;
  pcStack_c4 = pcVar38;
  puVar5 = (u8 *)sessionInputBuffer(pSVar31,9);
  if (puVar5 == (u8 *)0x0) {
    bVar1 = pSVar31->aData[pSVar31->iNext];
    if ((char)bVar1 < '\0') {
      iVar22 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))
                         (pSVar31->aData + pSVar31->iNext,&uStack_e8);
      if (0x10000 < uStack_e8) {
        piVar19 = (int *)&DAT_00030133;
        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;
        pSVar17 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);
        pSVar16 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);
        iVar23 = iVar22 + 1;
        (**(code **)(pcStack_f0 + -0x7d40))(0xb);
        puVar5 = &DAT_0000000b;
        goto LAB_000b5ad4;
      }
    }
    else {
      iVar22 = 1;
      uStack_e8 = (uint)bVar1;
    }
    pSVar16 = (SessionInput *)(iVar22 + uStack_e8 + 100);
    puVar5 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);
    iVar22 = iVar22 + uStack_e8;
    if (puVar5 == (u8 *)0x0) {
      do {
        pSVar16 = (SessionInput *)pSVar31->iNext;
        pSVar17 = (SessionInput *)pSVar31->nData;
        puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);
        if ((int)puVar18 < (int)pSVar17) {
          piVar19 = (int *)pSVar31->aData;
          iVar7 = iVar22;
          if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') {
            iVar23 = iVar22 + 1;
            goto LAB_000b5ad4;
          }
          while( true ) {
            iVar22 = iVar7 + 1;
            puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);
            if ((int)pSVar17 <= (int)puVar18) break;
            iVar23 = iVar7 + 2;
            iVar7 = iVar22;
            if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;
          }
        }
        pSVar16 = (SessionInput *)(iVar22 + 100);
        puVar18 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);
      } while (puVar18 == (u8 *)0x0);
      iVar23 = iVar22 + 1;
      puVar5 = puVar18;
    }
    else {
      iVar23 = iVar22 + 1;
    }
  }
  else {
    iVar23 = 1;
  }
LAB_000b5ad4:
  *(int *)p_Var15 = iVar23;
  if (pSStack_e4 == (SessionInput *)*piVar3) {
    return (int)puVar5;
  }
  pcVar4 = *(code **)(pcStack_f0 + -0x7b28);
  pcVar37 = sessionChangesetBufferRecord;
  pSVar26 = pSStack_e4;
  (*pcVar4)();
  pcStack_148 = pcVar4 + 0xe2d94;
  pSVar34 = &SStack_138;
  pSVar28 = (SessionInput *)0x0;
  pSVar24 = (SessionInput *)0x0;
  piVar33 = *(int **)(pcVar4 + 0xdb298);
  SStack_138.iCurrent = *piVar33;
  pSVar30 = (SessionInput *)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);
  pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);
  iVar22 = 0;
  nByte = pSVar16;
  pSStack_13c = pSVar17;
  SStack_138.iNext = iVar23;
  SStack_138.aData = puVar5;
  SStack_138.nData = (int)piVar3;
  SStack_138.buf.aBuf = (u8 *)p_Var15;
  SStack_138.buf.nBuf = iVar11 + 0x57e0;
  SStack_138.buf.nAlloc = (int)pSVar31;
  SStack_138.xInput = p_Var32;
  SStack_138.pIn = unaff_s7;
  SStack_138.bEof = (int)unaff_s8;
  pcStack_10c = pcVar37;
  if (0 < (int)pSVar16) {
    do {
      nByte = (SessionInput *)((int)&pSVar24->iNext + 2);
      while( true ) {
        iVar22 = sessionInputBuffer(pSVar26,(int)nByte);
        if (iVar22 != 0) goto LAB_000b5c24;
        unaff_s8 = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);
        piVar19 = (int *)pSVar26->iNext;
        uVar10 = (uint)(pSVar26->aData + (int)piVar19)[(int)pSVar24];
        pSVar28 = (SessionInput *)((int)&pSVar28->bNoDiscard + 1);
        if (uVar10 - 3 < 2) break;
        pSVar24 = (SessionInput *)((int)&pSVar24->iNext + 1);
        if (1 < uVar10 - 1) {
          pSVar24 = unaff_s8;
        }
        nByte = (SessionInput *)((int)&pSVar24->iNext + 2);
        if (pSVar16 == pSVar28) goto LAB_000b5c24;
      }
      piVar19 = (int *)((int)piVar19 + (int)unaff_s8);
      pbVar12 = pSVar26->aData + (int)piVar19;
      bVar1 = *pbVar12;
      if ((char)bVar1 < '\0') {
        iVar11 = (*pcVar4)(pbVar12,pSVar34);
      }
      else {
        iVar11 = 1;
        SStack_138.bNoDiscard = (uint)bVar1;
      }
      unaff_s8 = (SessionInput *)((int)&unaff_s8->bNoDiscard + iVar11);
      pSVar24 = (SessionInput *)((int)&unaff_s8->bNoDiscard + SStack_138.bNoDiscard);
      nByte = pSVar24;
      iVar22 = sessionInputBuffer(pSVar26,(int)pSVar24);
    } while ((iVar22 == 0) && (iVar22 = 0, (int)pSVar28 < (int)pSVar16));
  }
LAB_000b5c24:
  pSStack_13c->bNoDiscard = (int)pSVar24;
  if ((SessionInput *)SStack_138.iCurrent == (SessionInput *)*piVar33) {
    return iVar22;
  }
  pcVar37 = *(code **)(pcStack_148 + -0x7b28);
  pcVar38 = sessionReadRecord;
  pIn = (SessionInput *)SStack_138.iCurrent;
  (*pcVar37)();
  pcStack_1c0 = pcVar37 + 0xe2c00;
  piVar3 = *(int **)(pcVar37 + 0xdb104);
  pSStack_18c = (SessionInput *)*piVar3;
  abPK = nByte;
  pSVar31 = pSVar17;
  piStack_1b4 = piVar19;
  pSStack_188 = pSVar24;
  pSStack_184 = pSVar26;
  pSStack_180 = pSVar28;
  pSStack_17c = pSVar30;
  pSStack_178 = pSVar16;
  pcStack_174 = pcVar4;
  piStack_170 = piVar33;
  pSStack_16c = pSVar34;
  pSStack_168 = unaff_s8;
  pcStack_164 = pcVar38;
  if (0 < (int)nByte) {
    pSVar24 = (SessionInput *)0x0;
    pcVar4 = *(code **)(pcVar37 + 0xdae88);
    pcStack_1b0 = pcVar4 + 0x924;
    pcStack_1ac = (code *)(*(int *)(pcVar37 + 0xdae88) + -0x2b48);
    pSVar26 = (SessionInput *)(*(int *)(pcVar37 + 0xdaf0c) + 0x57e0);
    iStack_1a8 = *(int *)(pcVar37 + 0xdaea0);
LAB_000b5dac:
    pSVar30 = (SessionInput *)0x1;
    pSVar34 = pSVar24;
    pcVar37 = pcStack_1c0;
LAB_000b5db4:
    while ((pSVar17 != (SessionInput *)0x0 &&
           (*(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard) == '\0'))) {
      pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);
      pSVar6 = (SessionInput *)0x0;
      if ((int)nByte <= (int)pSVar34) goto LAB_000b5de4;
    }
    abPK = (SessionInput *)&DAT_00000009;
    pSVar6 = (SessionInput *)sessionInputBuffer(pIn,9);
    pcVar37 = pcStack_1c0;
    if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;
    iVar11 = pIn->iNext;
    abPK = (SessionInput *)(iVar11 + 1);
    if (pIn->nData <= iVar11) {
      piVar19 = (int *)0x300ea;
LAB_000b5e90:
      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;
      pSVar31 = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);
      abPK = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);
      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);
      pSVar6 = (SessionInput *)&DAT_0000000b;
      pcVar37 = pcStack_1c0;
      goto LAB_000b5de4;
    }
    pIn->iNext = (int)abPK;
    pcVar4 = (code *)(uint)pIn->aData[iVar11];
    if (pcVar4 != (code *)0x0) {
      piVar19 = (int *)&DAT_00000028;
      pSVar31 = (SessionInput *)0x0;
      pSVar16 = (SessionInput *)(piStack_1b4 + (int)pSVar34);
      pSVar28 = (SessionInput *)(*pcStack_1b0)(0);
      if (pSVar28 == (SessionInput *)0x0) {
        pSVar6 = (SessionInput *)&DAT_00000007;
        pSVar16->bNoDiscard = 0;
        pcVar37 = pcStack_1c0;
        goto LAB_000b5de4;
      }
      *(undefined2 *)&pSVar28->iNext = 1;
      pSVar28->xInput = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;
      pSVar16->bNoDiscard = (int)pSVar28;
      pSVar31 = (SessionInput *)pIn->iNext;
      pdVar13 = (double *)(pIn->aData + (int)pSVar31);
      if (pcVar4 + -3 < &SUB_00000002) {
        if ((char)*(byte *)pdVar13 < '\0') {
          iVar11 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198);
          pSVar31 = (SessionInput *)pIn->iNext;
        }
        else {
          iVar11 = 1;
          pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13;
        }
        pIn->iNext = (int)((int)&pSVar31->bNoDiscard + iVar11);
        abPK = pSStack_198;
        pSVar6 = (SessionInput *)sessionInputBuffer(pIn,(int)pSStack_198);
        pSVar24 = pSStack_198;
        pcVar37 = pcStack_1c0;
        if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;
        piVar19 = (int *)0x30000;
        if (-1 < (int)pSStack_198) {
          if ((int)pSStack_198 <= pIn->nData - pIn->iNext) {
            pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;
            pSVar16 = (SessionInput *)pIn->aData;
            pSStack_1a4 = (SessionInput *)pIn->iNext;
            pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();
            pSVar31 = pSStack_1a4;
            pSVar30 = pSVar24;
            if (pSVar28 == (SessionInput *)0x0) {
              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);
              pSStack_19c = pSVar28;
              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));
              if (iVar11 != 0) {
                pSVar31 = pSVar24;
                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))
                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +
                                                 (int)&pSVar16->bNoDiscard));
                if (pSStack_1a0 == (SessionInput *)0x0) {
                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);
                  pcVar37 = pcStack_1c0;
                  pSVar6 = pSStack_19c;
                  abPK = pSStack_198;
                }
                else {
                  pSStack_1a4 = pSStack_19c;
                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);
                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);
                  pSVar31 = pSVar24;
                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);
                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);
                  pcVar37 = pcStack_1c0;
                  pSVar6 = pSStack_1a4;
                  abPK = pSStack_198;
                }
                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);
                pcStack_1c0 = pcVar37;
                pSStack_198 = abPK;
                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;
                goto LAB_000b5de4;
              }
            }
            pSVar6 = (SessionInput *)&DAT_00000007;
            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);
            pcVar37 = pcStack_1c0;
            goto LAB_000b5de4;
          }
        }
        piVar19 = (int *)0x300fd;
        pSVar30 = pSStack_198;
        goto LAB_000b5e90;
      }
      pSVar35 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);
      abPK = (SessionInput *)(uint)(pcVar4 + -1 < &SUB_00000002);
      if (abPK != (SessionInput *)0x0) goto code_r0x000b6070;
    }
    pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);
    pSVar24 = pSVar17;
    pSVar28 = nByte;
    pcVar37 = pcStack_1c0;
    unaff_s8 = pIn;
    if ((int)nByte <= (int)pSVar34) goto LAB_000b5e64;
    goto LAB_000b5db4;
  }
LAB_000b5e64:
  pSVar6 = (SessionInput *)0x0;
  pSVar17 = pSVar24;
  nByte = pSVar28;
  pcVar37 = pcStack_1c0;
  pIn = unaff_s8;
LAB_000b5de4:
  if (pSStack_18c == (SessionInput *)*piVar3) {
    return (int)pSVar6;
  }
  pcVar37 = *(code **)(pcVar37 + -0x7b28);
  pcVar38 = sessionChangesetNext;
  pSVar24 = pSStack_18c;
  (*pcVar37)();
  piVar33 = *(int **)(pcVar37 + 0xdac9c);
  iVar11 = pSVar24[2].iCurrent;
  iStack_204 = *piVar33;
  pSStack_200 = pSVar17;
  pSStack_1fc = pSVar26;
  pSStack_1f8 = nByte;
  pSStack_1f4 = pSVar30;
  pSStack_1f0 = pSVar16;
  pcStack_1ec = pcVar4;
  piStack_1e8 = piVar3;
  pSStack_1e4 = pSVar34;
  pSStack_1e0 = pIn;
  pcStack_1dc = pcVar38;
  if (iVar11 != 0) {
    p_Var32 = pSVar24[1].xInput;
    iVar23 = 0;
    if (0 < (int)p_Var32) {
      iVar22 = *(int *)(pcVar37 + 0xdaa20);
      do {
        iVar7 = iVar23 * 4;
        iVar23 = iVar23 + 1;
        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar11 + iVar7));
        p_Var32 = pSVar24[1].xInput;
        iVar11 = pSVar24[2].iCurrent;
      } while (iVar23 < (int)p_Var32 << 1);
    }
    (**(code **)(pcVar37 + 0xdabd0))(iVar11,0,(int)p_Var32 << 3);
  }
  puVar5 = (u8 *)sessionInputBuffer(pSVar24,2);
  pSVar24[1].buf.aBuf = puVar5;
  if (puVar5 != (u8 *)0x0) goto LAB_000b6458;
  if (pSVar24->nData <= pSVar24->iNext) {
LAB_000b6494:
    puVar5 = (u8 *)0x65;
    goto LAB_000b6458;
  }
  (*(code *)(*(int *)(pcVar37 + 0xdaa1c) + 0x27a4))(pSVar24);
  iVar11 = pSVar24->iNext;
  puVar5 = pSVar24->aData;
  iVar23 = *(int *)(pcVar37 + 0xdaa20);
  pSVar24->iCurrent = iVar11;
  pSVar24->iNext = iVar11 + 1;
  bVar1 = puVar5[iVar11];
  while (puVar8 = (undefined1 *)(uint)bVar1, ((uint)puVar8 & 0xfb) == 0x50) {
    if (piVar19 != (int *)0x0) {
      *piVar19 = 1;
    }
    pSVar24[1].aData = (u8 *)(uint)(puVar8 == (undefined1 *)0x50);
    puStack_20c = (u8 *)sessionChangesetBufferTblhdr(pSVar24,&iStack_208);
    if (puStack_20c != (u8 *)0x0) {
LAB_000b6434:
      p_Var32 = pSVar24[1].xInput;
      iVar11 = pSVar24[1].bNoDiscard;
      pSVar24[1].buf.aBuf = puStack_20c;
      pSVar24[2].iCurrent = iVar11;
      iVar11 = iVar11 + (int)p_Var32 * 8;
      pSVar24[2].bNoDiscard = iVar11;
      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);
      puVar5 = puStack_20c;
      goto LAB_000b6458;
    }
    bVar1 = pSVar24->aData[pSVar24->iNext];
    p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1;
    if ((char)bVar1 < '\0') {
      iVar11 = (*(code *)(iVar23 + 0x3388))(pSVar24->aData + pSVar24->iNext,&pSVar24[1].xInput);
      p_Var32 = pSVar24[1].xInput;
    }
    else {
      iVar11 = 1;
      pSVar24[1].xInput = p_Var32;
    }
    if ((int)p_Var32 < 1) {
      (**(code **)(pcVar37 + 0xdaa58))
                (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,
                 0x3018b,*(int *)(pcVar37 + 0xda7d0) + 0x625c);
      puVar5 = (u8 *)0xb;
      p_Var32 = pSVar24[1].xInput;
      iVar11 = pSVar24[1].bNoDiscard;
      pSVar24[1].buf.aBuf = (u8 *)0xb;
      pSVar24[2].iCurrent = iVar11;
      iVar11 = iVar11 + (int)p_Var32 * 8;
      pSVar24[2].bNoDiscard = iVar11;
      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);
      goto LAB_000b6458;
    }
    iVar22 = pSVar24->iNext;
    pSVar24[1].iCurrent = 0;
    iStack_208 = iStack_208 - iVar11;
    pSVar24->iNext = iVar22 + iVar11;
    sessionBufferGrow((SessionBuffer *)(pSVar24 + 1),(int)p_Var32 * 8 + iStack_208,
                      (int *)&puStack_20c);
    if (puStack_20c != (u8 *)0x0) goto LAB_000b6434;
    iVar11 = (int)pSVar24[1].xInput * 8;
    (**(code **)(pcVar37 + 0xdabd0))(pSVar24[1].bNoDiscard,0,iVar11);
    (**(code **)(pcVar37 + 0xdaca4))
              (pSVar24[1].bNoDiscard + iVar11,pSVar24->aData + pSVar24->iNext,iStack_208);
    p_Var32 = pSVar24[1].xInput;
    iVar22 = pSVar24->iNext;
    iVar11 = pSVar24[1].bNoDiscard + (int)p_Var32 * 8;
    pSVar24[2].iCurrent = pSVar24[1].bNoDiscard;
    pSVar24[2].bNoDiscard = iVar11;
    pSVar24[1].buf.aBuf = puStack_20c;
    pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);
    pSVar24->iNext = iVar22 + iStack_208;
    puVar5 = puStack_20c;
    if (puStack_20c != (u8 *)0x0) goto LAB_000b6458;
    puVar5 = (u8 *)sessionInputBuffer(pSVar24,2);
    pSVar24[1].buf.aBuf = puVar5;
    if (puVar5 != (u8 *)0x0) goto LAB_000b6458;
    iVar11 = pSVar24->iNext;
    pSVar24->iCurrent = iVar11;
    if (pSVar24->nData <= iVar11) goto LAB_000b6494;
    puVar5 = pSVar24->aData;
    pSVar24->iNext = iVar11 + 1;
    bVar1 = puVar5[iVar11];
  }
  if ((pSVar24[1].buf.nAlloc == 0) ||
     ((puVar18 = pSVar24[1].aData, puVar18 != (u8 *)0x0 && (pSVar24[1].nData != 0)))) {
    uVar20 = 0x301e0;
  }
  else {
    iVar11 = pSVar24->iNext;
    pSVar24[1].pIn = puVar8;
    pSVar24->iNext = iVar11 + 1;
    pSVar24[1].bEof = (uint)puVar5[iVar11];
    if ((puVar8 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f) < 0)) {
      p_Var32 = pSVar24[1].xInput;
      if (abPK != (SessionInput *)0x0) {
        if (puVar18 != (u8 *)0x0) {
          if (puVar8 != &DAT_00000009) goto LAB_000b65d4;
          if ((int)p_Var32 < 1) goto LAB_000b6830;
          p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard;
          p_Var14 = p_Var32 + (int)p_Var9;
          p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;
          do {
            if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {
              p_Var32 = p_Var32 + 1;
            }
            p_Var9 = p_Var9 + 1;
            if (p_Var14 == p_Var9) goto LAB_000b65d4;
          } while( true );
        }
        if (puVar8 != &DAT_00000017) goto LAB_000b65d4;
        p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var32 << 1);
        goto LAB_000b65d4;
      }
      ppsVar21 = (sqlite3_value **)pSVar24[2].iCurrent;
      apOut = ppsVar21;
      apOut_00 = ppsVar21 + (int)p_Var32;
      if (pSVar24[1].nData != 0) {
        apOut = ppsVar21 + (int)p_Var32;
        apOut_00 = ppsVar21;
      }
      if (puVar8 == (undefined1 *)0x12) {
LAB_000b6678:
        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00);
        pSVar24[1].buf.aBuf = puVar5;
        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;
        if (pSVar24[1].aData == (u8 *)0x0) {
          if (pSVar24[1].nData == 0) goto LAB_000b6734;
          puVar8 = (undefined1 *)pSVar24[1].pIn;
          if (puVar8 != &DAT_00000017) goto LAB_000b6788;
        }
        else {
          puVar8 = (undefined1 *)pSVar24[1].pIn;
          if (puVar8 != &DAT_00000017) {
            iVar11 = pSVar24[1].nData;
            goto LAB_000b6780;
          }
        }
        p_Var32 = pSVar24[1].xInput;
        iVar11 = 0;
        if (0 < (int)p_Var32) {
          do {
            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {
              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =
                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);
              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {
                uVar20 = 0x30212;
                goto LAB_000b653c;
              }
              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;
              p_Var32 = pSVar24[1].xInput;
            }
            iVar11 = iVar11 + 1;
          } while (iVar11 < (int)p_Var32);
        }
      }
      else {
        if (puVar18 != (u8 *)0x0) {
          if (puVar8 != &DAT_00000009) goto LAB_000b6678;
          abPK = (SessionInput *)pSVar24[2].bNoDiscard;
        }
        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut);
        pSVar24[1].buf.aBuf = puVar5;
        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;
        if ((undefined1 *)pSVar24[1].pIn != &DAT_00000009) {
          p_Var32 = pSVar24[1].xInput;
          goto LAB_000b6678;
        }
        if (pSVar24[1].aData == (u8 *)0x0) {
          puVar5 = (u8 *)0x64;
          if (pSVar24[1].nData == 0) goto LAB_000b6458;
          puVar8 = &DAT_00000009;
        }
        else {
          iVar11 = pSVar24[1].nData;
          puVar8 = &DAT_00000009;
LAB_000b6780:
          puVar5 = (u8 *)0x64;
          if (iVar11 == 0) goto LAB_000b6458;
        }
LAB_000b6788:
        if (puVar8 == (undefined1 *)0x12) {
          puVar5 = (u8 *)0x64;
          pSVar24[1].pIn = &DAT_00000009;
          goto LAB_000b6458;
        }
        if (puVar8 == &DAT_00000009) {
          pSVar24[1].pIn = (void *)0x12;
          puVar5 = (u8 *)0x64;
          goto LAB_000b6458;
        }
      }
LAB_000b6734:
      puVar5 = (u8 *)0x64;
      goto LAB_000b6458;
    }
    uVar20 = 0x301e6;
  }
LAB_000b653c:
  (**(code **)(pcVar37 + 0xdaa58))
            (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,uVar20,
             *(int *)(pcVar37 + 0xda7d0) + 0x625c);
  puVar5 = (u8 *)0xb;
  pSVar24[1].buf.aBuf = (u8 *)0xb;
LAB_000b6458:
  while (iStack_204 != *piVar33) {
    (**(code **)(pcVar37 + 0xdac70))();
LAB_000b6830:
    p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;
LAB_000b65d4:
    puVar5 = (u8 *)sessionChangesetBufferRecord(pSVar24,(int)p_Var32,&pSVar31->bNoDiscard);
    pSVar24[1].buf.aBuf = puVar5;
    if (puVar5 == (u8 *)0x0) {
      abPK->bNoDiscard = (int)(pSVar24->aData + pSVar24->iNext);
      pSVar24->iNext = pSVar24->iNext + pSVar31->bNoDiscard;
      puVar5 = (u8 *)0x64;
    }
  }
  return (int)puVar5;
code_r0x000b6070:
  pSVar31 = *(SessionInput **)pdVar13;
  piVar19 = *(int **)((int)pdVar13 + 4);
  dVar39 = *pdVar13;
  uVar2 = *(ushort *)&pSVar28->iNext;
  abPK = (SessionInput *)(uVar2 & 0x2400);
  pSVar24 = pSVar35;
  if (pcVar4 == (code *)0x1) {
    if ((uVar2 & 0x2400) == 0) {
      pSVar28->iCurrent = (int)piVar19;
      pSVar28->bNoDiscard = (int)pSVar31;
      *(undefined2 *)&pSVar28->iNext = 4;
    }
    else {
      pSStack_1a4 = pSVar35;
      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(pSVar28);
      pSVar24 = pSStack_1a4;
    }
  }
  else {
    pSStack_198 = pSVar31;
    piStack_194 = piVar19;
    if ((uVar2 & 0x2400) == 0) {
      *(undefined2 *)&pSVar28->iNext = 1;
    }
    else {
      pSStack_1a4 = pSVar28;
      pSStack_1a0 = pSVar35;
      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(pSVar28);
      pSVar28 = pSStack_1a4;
      pSVar24 = pSStack_1a0;
    }
    if (!NAN(dVar39)) {
      *(double *)pSVar28 = dVar39;
      *(undefined2 *)&pSVar28->iNext = 8;
    }
  }
  pSVar16 = (SessionInput *)(uint)((int)pSVar35 < (int)nByte);
  pIn->iNext = pIn->iNext + 8;
  if (pSVar16 == (SessionInput *)0x0) {
    pSVar6 = (SessionInput *)0x0;
    pSVar34 = pSVar35;
    pcVar37 = pcStack_1c0;
    goto LAB_000b5de4;
  }
  goto LAB_000b5dac;
}



double ******
FUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,
            undefined4 *param_5,undefined4 *param_6)

{
  byte bVar1;
  code cVar2;
  ushort uVar3;
  code *pcVar4;
  int iVar5;
  double ******ppppppdVar6;
  double ******ppppppdVar7;
  uint uVar8;
  char *pcVar9;
  double *****pppppdVar10;
  byte *pbVar11;
  double *pdVar12;
  char *pcVar13;
  double ******ppppppdVar14;
  double ******ppppppdVar15;
  double ******ppppppdVar16;
  double ******ppppppdVar17;
  undefined4 uVar18;
  int iVar19;
  double ******unaff_s0;
  int iVar20;
  double ******ppppppdVar21;
  double ******unaff_s1;
  double ******ppppppdVar22;
  double ******unaff_s2;
  int *piVar23;
  double ******ppppppdVar24;
  int iVar25;
  undefined *unaff_s3;
  undefined *puVar26;
  int iVar27;
  int iVar28;
  double ******ppppppdVar29;
  double ******ppppppdVar30;
  int unaff_s6;
  int *piVar31;
  undefined4 *puVar32;
  double ******unaff_s7;
  double ******ppppppdVar33;
  double ******ppppppdVar34;
  undefined *puVar35;
  double ******unaff_s8;
  code *pcVar36;
  code *pcVar37;
  double dVar38;
  double *****pppppdStack_20c;
  int iStack_208;
  int iStack_204;
  double *****pppppdStack_200;
  int iStack_1fc;
  double *****pppppdStack_1f8;
  double *****pppppdStack_1f4;
  double *****pppppdStack_1f0;
  code *pcStack_1ec;
  int *piStack_1e8;
  double *****pppppdStack_1e4;
  double *****pppppdStack_1e0;
  code *pcStack_1dc;
  int iStack_1c8;
  code *pcStack_1c0;
  double *****pppppdStack_1b4;
  code *pcStack_1b0;
  code *pcStack_1ac;
  int iStack_1a8;
  double *****pppppdStack_1a4;
  double *****pppppdStack_1a0;
  double *****pppppdStack_19c;
  double *****pppppdStack_198;
  double *****pppppdStack_194;
  int iStack_18c;
  double *****pppppdStack_188;
  int iStack_184;
  double *****pppppdStack_180;
  double *****pppppdStack_17c;
  double *****pppppdStack_178;
  code *pcStack_174;
  undefined4 *puStack_170;
  double *****pppppdStack_16c;
  double *****pppppdStack_168;
  code *pcStack_164;
  code *pcStack_148;
  double *****pppppdStack_13c;
  double ****ppppdStack_138;
  double *****pppppdStack_134;
  double ****ppppdStack_130;
  double *****pppppdStack_12c;
  int *piStack_128;
  double *****pppppdStack_124;
  int iStack_120;
  int iStack_11c;
  int *piStack_118;
  double *****pppppdStack_114;
  double *****pppppdStack_110;
  code *pcStack_10c;
  int iStack_f8;
  code *pcStack_f0;
  uint uStack_e8;
  int iStack_e4;
  double *****pppppdStack_dc;
  double *****pppppdStack_d8;
  double *****pppppdStack_d4;
  undefined *puStack_d0;
  double *****pppppdStack_cc;
  double *****pppppdStack_c8;
  code *pcStack_c4;
  undefined *puStack_b0;
  double *****pppppdStack_a4;
  double ****ppppdStack_a0;
  int iStack_9c;
  double *****pppppdStack_98;
  double *****pppppdStack_94;
  double *****pppppdStack_90;
  undefined *puStack_8c;
  double *****pppppdStack_88;
  double *****pppppdStack_84;
  int iStack_80;
  double *****pppppdStack_7c;
  double *****pppppdStack_78;
  code *pcStack_74;
  double *****local_3c;
  double *****local_38;
  double *****local_34;
  undefined4 local_30;
  double *****local_2c;
  
  puVar35 = PTR___stack_chk_guard_00190e24;
  local_3c = (double *****)0x0;
  local_38 = (double *****)0x0;
  local_34 = (double *****)0x0;
  local_30 = 0;
  local_2c = *(double ******)PTR___stack_chk_guard_00190e24;
  ppppppdVar17 = param_4;
  if (param_2 == (double ******)0x0) {
    ppppppdVar16 = param_3;
    if (param_3 == (double ******)0x0) {
      ppppppdVar30 = (double ******)0x0;
      goto LAB_000b57b8;
    }
  }
  else {
    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);
    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);
    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;
    ppppppdVar15 = param_3;
    ppppppdVar29 = param_2;
    do {
      if (ppppppdVar29[6] == (double *****)0x0) {
LAB_000b5618:
        ppppppdVar29 = (double ******)*ppppppdVar29;
        ppppppdVar16 = ppppppdVar15;
        ppppppdVar30 = (double ******)local_38;
        ppppppdVar15 = (double ******)local_34;
      }
      else {
        unaff_s0 = &local_3c;
        unaff_s1 = &local_38;
        param_2 = (double ******)*param_1;
        ppppppdVar15 = ppppppdVar29;
        ppppppdVar17 = unaff_s0;
        (*pcVar4)(unaff_s1);
        puVar26 = PTR_DAT_00190948;
        pppppdVar10 = ppppppdVar29[7];
        if ((int)pppppdVar10 < 1) goto LAB_000b5618;
        unaff_s6 = 0;
        do {
          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];
          if (unaff_s8 != (double ******)0x0) {
            do {
              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);
              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);
              ppppppdVar15 = (double ******)unaff_s8[2];
              param_2 = (double ******)unaff_s8[3];
              ppppppdVar17 = unaff_s0;
              FUN_000b4ef4(unaff_s1);
              if ((((double ******)local_3c == (double ******)0x0) &&
                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&
                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {
                local_3c = (double *****)(*(code *)param_3)(param_4);
                local_34 = (double *****)0x0;
              }
              unaff_s8 = (double ******)unaff_s8[4];
            } while (unaff_s8 != (double ******)0x0);
            pppppdVar10 = ppppppdVar29[7];
            unaff_s8 = (double ******)0x0;
          }
          unaff_s6 = unaff_s6 + 1;
        } while (unaff_s6 < (int)pppppdVar10);
        ppppppdVar29 = (double ******)*ppppppdVar29;
        ppppppdVar16 = ppppppdVar15;
        ppppppdVar30 = (double ******)local_38;
        ppppppdVar15 = (double ******)local_34;
        unaff_s7 = (double ******)puVar26;
      }
      local_38 = (double *****)ppppppdVar30;
      local_34 = (double *****)ppppppdVar15;
      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;
    } while (ppppppdVar29 != (double ******)0x0);
    if (param_3 == (double ******)0x0) {
LAB_000b57b8:
      local_38 = (double *****)0x0;
      *param_6 = ppppppdVar30;
      *param_5 = local_34;
      ppppppdVar16 = (double ******)local_34;
    }
    else {
      ppppppdVar16 = ppppppdVar15;
      if (0 < (int)ppppppdVar15) {
        local_3c = (double *****)(*(code *)param_3)(param_4);
        param_2 = ppppppdVar30;
        ppppppdVar16 = ppppppdVar15;
      }
    }
  }
LAB_000b5730:
  ppppppdVar30 = (double ******)local_38;
  (*(code *)PTR_sqlite3_free_0019096c)(local_38);
  if ((double ******)local_2c == *(double *******)puVar35) {
    return (double ******)local_3c;
  }
  pcVar4 = FUN_000b57e0;
  ppppppdVar15 = (double ******)local_2c;
  puVar35 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_b0 = puVar35 + 0xe3140;
  piVar31 = *(int **)(puVar35 + 0xdb644);
  pppppdStack_a4 = (double *****)0x0;
  iStack_9c = *piVar31;
  ppppppdVar29 = (double ******)0x0;
  ppppppdVar14 = param_2;
  ppppppdVar21 = unaff_s0;
  ppppppdVar24 = unaff_s2;
  pppppdStack_98 = (double *****)unaff_s0;
  pppppdStack_94 = (double *****)unaff_s1;
  pppppdStack_90 = (double *****)unaff_s2;
  puStack_8c = unaff_s3;
  pppppdStack_88 = (double *****)param_3;
  pppppdStack_84 = (double *****)ppppppdVar30;
  iStack_80 = unaff_s6;
  pppppdStack_7c = (double *****)unaff_s7;
  pppppdStack_78 = (double *****)unaff_s8;
  pcStack_74 = pcVar4;
  if (ppppppdVar15[8] != (double *****)0x0) {
    ppppppdVar21 = ppppppdVar15;
    if (ppppppdVar15[10] == (double *****)0x0) {
      ppppppdVar29 = (double ******)0x0;
      ppppppdVar24 = param_2;
      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {
        param_3 = ppppppdVar15 + 5;
        puVar26 = *(undefined **)(puVar35 + 0xdb168);
        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);
        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);
        do {
          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);
          if (*ppppppdVar15 == (double *****)0x0) {
            (*(code *)ppppppdVar30)(ppppppdVar15);
          }
          ppppppdVar16 = &pppppdStack_a4;
          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);
          unaff_s1 = ppppppdVar22;
          unaff_s3 = puVar26;
          unaff_s7 = &pppppdStack_a4;
          unaff_s8 = (double ******)&ppppdStack_a0;
          if (iVar5 == 0) {
            ppppppdVar16 = (double ******)&ppppdStack_a0;
            pppppdStack_a4 =
                 (double *****)
                 (*(code *)ppppppdVar15[8])
                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);
            if ((double *****)ppppdStack_a0 == (double *****)0x0) {
              ppppppdVar15[4] = ppppppdVar15[6];
              ppppppdVar15[10] = (double *****)0x1;
              ppppppdVar15[3] = ppppppdVar15[5];
              ppppppdVar29 = (double ******)pppppdStack_a4;
              ppppppdVar14 = (double ******)0x1;
              break;
            }
            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);
            ppppppdVar14 = (double ******)ppppppdVar15[10];
            ppppppdVar15[6] = pppppdVar10;
          }
          else {
            pppppdVar10 = ppppppdVar15[6];
            ppppppdVar14 = (double ******)ppppppdVar15[10];
          }
          ppppppdVar15[4] = pppppdVar10;
          ppppppdVar15[3] = ppppppdVar15[5];
          ppppppdVar29 = (double ******)pppppdStack_a4;
          if (((ppppppdVar14 != (double ******)0x0) ||
              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||
             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;
        } while( true );
      }
    }
    else {
      ppppppdVar29 = (double ******)0x0;
    }
  }
  if (iStack_9c == *piVar31) {
    return ppppppdVar29;
  }
  pcVar4 = *(code **)(puStack_b0 + -0x7b28);
  pcVar36 = FUN_000b5998;
  iVar5 = iStack_9c;
  pppppdStack_a4 = (double *****)ppppppdVar29;
  (*pcVar4)();
  pcStack_f0 = pcVar4 + 0xe2f88;
  ppppppdVar29 = (double ******)&DAT_00000009;
  piVar23 = *(int **)(pcVar4 + 0xdb48c);
  iVar28 = *(int *)(pcVar4 + 0xdb294);
  uStack_e8 = 0;
  iStack_e4 = *piVar23;
  pppppdStack_dc = (double *****)ppppppdVar21;
  pppppdStack_d8 = (double *****)unaff_s1;
  pppppdStack_d4 = (double *****)ppppppdVar24;
  puStack_d0 = unaff_s3;
  pppppdStack_cc = (double *****)param_3;
  pppppdStack_c8 = (double *****)ppppppdVar30;
  pcStack_c4 = pcVar36;
  ppppppdVar30 = (double ******)FUN_000b57e0();
  if (ppppppdVar30 == (double ******)0x0) {
    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));
    bVar1 = *pbVar11;
    if ((char)bVar1 < '\0') {
      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);
      if (0x10000 < uStack_e8) {
        ppppppdVar17 = (double ******)&DAT_00030133;
        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;
        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);
        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);
        pppppdVar10 = (double *****)(iVar20 + 1);
        (**(code **)(pcStack_f0 + -0x7d40))(0xb);
        ppppppdVar30 = (double ******)&DAT_0000000b;
        goto LAB_000b5ad4;
      }
    }
    else {
      iVar20 = 1;
      uStack_e8 = (uint)bVar1;
    }
    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);
    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);
    iVar20 = iVar20 + uStack_e8;
    if (ppppppdVar30 == (double ******)0x0) {
      do {
        ppppppdVar29 = *(double *******)(iVar5 + 8);
        ppppppdVar16 = *(double *******)(iVar5 + 0x10);
        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {
          ppppppdVar17 = *(double *******)(iVar5 + 0xc);
          iVar25 = iVar20;
          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {
            pppppdVar10 = (double *****)(iVar20 + 1);
            goto LAB_000b5ad4;
          }
          while( true ) {
            iVar20 = iVar25 + 1;
            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;
            pppppdVar10 = (double *****)(iVar25 + 2);
            iVar25 = iVar20;
            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)
            goto LAB_000b5ad4;
          }
        }
        ppppppdVar29 = (double ******)(iVar20 + 100);
        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);
      } while (ppppppdVar15 == (double ******)0x0);
      pppppdVar10 = (double *****)(iVar20 + 1);
      ppppppdVar30 = ppppppdVar15;
    }
    else {
      pppppdVar10 = (double *****)(iVar20 + 1);
    }
  }
  else {
    pppppdVar10 = (double *****)0x1;
  }
LAB_000b5ad4:
  *ppppppdVar14 = pppppdVar10;
  if (iStack_e4 == *piVar23) {
    return ppppppdVar30;
  }
  pcVar4 = *(code **)(pcStack_f0 + -0x7b28);
  pcVar36 = FUN_000b5b8c;
  iVar20 = iStack_e4;
  (*pcVar4)();
  pcStack_148 = pcVar4 + 0xe2d94;
  ppppppdVar33 = (double ******)&ppppdStack_138;
  ppppppdVar24 = (double ******)0x0;
  ppppppdVar21 = (double ******)0x0;
  puVar32 = *(undefined4 **)(pcVar4 + 0xdb298);
  pppppdStack_134 = (double *****)*puVar32;
  ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);
  pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);
  ppppppdVar6 = (double ******)0x0;
  ppppppdVar15 = ppppppdVar29;
  pppppdStack_13c = (double *****)ppppppdVar16;
  ppppdStack_130 = (double ****)pppppdVar10;
  pppppdStack_12c = (double *****)ppppppdVar30;
  piStack_128 = piVar23;
  pppppdStack_124 = (double *****)ppppppdVar14;
  iStack_120 = iVar28 + 0x57e0;
  iStack_11c = iVar5;
  piStack_118 = piVar31;
  pppppdStack_114 = (double *****)unaff_s7;
  pppppdStack_110 = (double *****)unaff_s8;
  pcStack_10c = pcVar36;
  if (0 < (int)ppppppdVar29) {
    do {
      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);
      while( true ) {
        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);
        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;
        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);
        ppppppdVar17 = *(double *******)(iVar20 + 8);
        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))
                            [(int)ppppppdVar21];
        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);
        if (uVar8 - 3 < 2) break;
        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);
        if (1 < uVar8 - 1) {
          ppppppdVar21 = unaff_s8;
        }
        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);
        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;
      }
      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);
      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));
      cVar2 = *pcVar36;
      if ((char)cVar2 < '\0') {
        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);
      }
      else {
        iVar5 = 1;
        ppppdStack_138 = (double ****)(uint)(byte)cVar2;
      }
      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);
      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);
      ppppppdVar15 = ppppppdVar21;
      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);
    } while ((ppppppdVar6 == (double ******)0x0) &&
            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));
  }
LAB_000b5c24:
  *pppppdStack_13c = (double ****)ppppppdVar21;
  if ((double ******)pppppdStack_134 == (double ******)*puVar32) {
    return ppppppdVar6;
  }
  pcVar36 = *(code **)(pcStack_148 + -0x7b28);
  pcVar37 = FUN_000b5d20;
  ppppppdVar6 = (double ******)pppppdStack_134;
  (*pcVar36)();
  pcStack_1c0 = pcVar36 + 0xe2c00;
  piVar31 = *(int **)(pcVar36 + 0xdb104);
  iStack_18c = *piVar31;
  ppppppdVar14 = ppppppdVar15;
  ppppppdVar30 = ppppppdVar16;
  pppppdStack_1b4 = (double *****)ppppppdVar17;
  pppppdStack_188 = (double *****)ppppppdVar21;
  iStack_184 = iVar20;
  pppppdStack_180 = (double *****)ppppppdVar24;
  pppppdStack_17c = (double *****)ppppppdVar22;
  pppppdStack_178 = (double *****)ppppppdVar29;
  pcStack_174 = pcVar4;
  puStack_170 = puVar32;
  pppppdStack_16c = (double *****)ppppppdVar33;
  pppppdStack_168 = (double *****)unaff_s8;
  pcStack_164 = pcVar37;
  if (0 < (int)ppppppdVar15) {
    ppppppdVar21 = (double ******)0x0;
    pcVar4 = *(code **)(pcVar36 + 0xdae88);
    pcStack_1b0 = pcVar4 + 0x924;
    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);
    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;
    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);
LAB_000b5dac:
    ppppppdVar22 = (double ******)0x1;
    ppppppdVar33 = ppppppdVar21;
    pcVar36 = pcStack_1c0;
LAB_000b5db4:
    while ((ppppppdVar16 != (double ******)0x0 &&
           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {
      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);
      ppppppdVar7 = (double ******)0x0;
      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;
    }
    ppppppdVar14 = (double ******)&DAT_00000009;
    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);
    pcVar36 = pcStack_1c0;
    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;
    pppppdVar10 = ppppppdVar6[2];
    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);
    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {
      ppppppdVar17 = (double ******)&DAT_000300ea;
LAB_000b5e90:
      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;
      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);
      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);
      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);
      ppppppdVar7 = (double ******)&DAT_0000000b;
      pcVar36 = pcStack_1c0;
      goto LAB_000b5de4;
    }
    ppppppdVar6[2] = (double *****)ppppppdVar14;
    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);
    if (pcVar4 != (code *)0x0) {
      ppppppdVar17 = (double ******)&DAT_00000028;
      ppppppdVar30 = (double ******)0x0;
      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);
      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);
      if (ppppppdVar24 == (double ******)0x0) {
        ppppppdVar7 = (double ******)&DAT_00000007;
        *ppppppdVar29 = (double *****)0x0;
        pcVar36 = pcStack_1c0;
        goto LAB_000b5de4;
      }
      *(undefined2 *)(ppppppdVar24 + 2) = 1;
      ppppppdVar24[8] = (double *****)0x0;
      *ppppppdVar29 = (double *****)ppppppdVar24;
      ppppppdVar30 = (double ******)ppppppdVar6[2];
      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);
      if (pcVar4 + -3 < (code *)0x2) {
        if ((char)*(code *)pdVar12 < '\0') {
          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);
          ppppppdVar30 = (double ******)ppppppdVar6[2];
        }
        else {
          iVar5 = 1;
          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;
        }
        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);
        ppppppdVar14 = (double ******)pppppdStack_198;
        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);
        pppppdVar10 = pppppdStack_198;
        pcVar36 = pcStack_1c0;
        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;
        ppppppdVar17 = (double ******)&DAT_00030000;
        if (-1 < (int)pppppdStack_198) {
          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {
            pppppdStack_1a0 = *ppppppdVar29;
            ppppppdVar29 = (double ******)ppppppdVar6[3];
            pppppdStack_1a4 = ppppppdVar6[2];
            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();
            ppppppdVar30 = (double ******)pppppdStack_1a4;
            ppppppdVar22 = (double ******)pppppdVar10;
            if (ppppppdVar21 == (double ******)0x0) {
              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);
              pppppdStack_19c = (double *****)ppppppdVar21;
              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)
                                    );
              if (iVar5 != 0) {
                ppppppdVar30 = (double ******)pppppdVar10;
                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))
                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));
                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {
                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);
                  pcVar36 = pcStack_1c0;
                  ppppppdVar7 = (double ******)pppppdStack_19c;
                  ppppppdVar14 = (double ******)pppppdStack_198;
                }
                else {
                  pppppdStack_1a4 = pppppdStack_19c;
                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);
                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);
                  ppppppdVar30 = (double ******)pppppdVar10;
                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);
                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);
                  pcVar36 = pcStack_1c0;
                  ppppppdVar7 = (double ******)pppppdStack_1a4;
                  ppppppdVar14 = (double ******)pppppdStack_198;
                }
                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);
                pcStack_1c0 = pcVar36;
                pppppdStack_198 = (double *****)ppppppdVar14;
                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;
                goto LAB_000b5de4;
              }
            }
            ppppppdVar7 = (double ******)&DAT_00000007;
            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);
            pcVar36 = pcStack_1c0;
            goto LAB_000b5de4;
          }
        }
        ppppppdVar17 = (double ******)&DAT_000300fd;
        ppppppdVar22 = (double ******)pppppdStack_198;
        goto LAB_000b5e90;
      }
      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);
      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);
      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;
    }
    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);
    ppppppdVar21 = ppppppdVar16;
    ppppppdVar24 = ppppppdVar15;
    pcVar36 = pcStack_1c0;
    unaff_s8 = ppppppdVar6;
    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;
    goto LAB_000b5db4;
  }
LAB_000b5e64:
  ppppppdVar7 = (double ******)0x0;
  ppppppdVar16 = ppppppdVar21;
  ppppppdVar15 = ppppppdVar24;
  pcVar36 = pcStack_1c0;
  ppppppdVar6 = unaff_s8;
LAB_000b5de4:
  if (iStack_18c == *piVar31) {
    return ppppppdVar7;
  }
  pcVar36 = *(code **)(pcVar36 + -0x7b28);
  pcVar37 = FUN_000b6188;
  iVar5 = iStack_18c;
  (*pcVar36)();
  piVar23 = *(int **)(pcVar36 + 0xdac9c);
  iVar28 = *(int *)(iVar5 + 0x5c);
  iStack_204 = *piVar23;
  pppppdStack_200 = (double *****)ppppppdVar16;
  iStack_1fc = iVar20;
  pppppdStack_1f8 = (double *****)ppppppdVar15;
  pppppdStack_1f4 = (double *****)ppppppdVar22;
  pppppdStack_1f0 = (double *****)ppppppdVar29;
  pcStack_1ec = pcVar4;
  piStack_1e8 = piVar31;
  pppppdStack_1e4 = (double *****)ppppppdVar33;
  pppppdStack_1e0 = (double *****)ppppppdVar6;
  pcStack_1dc = pcVar37;
  if (iVar28 != 0) {
    iVar20 = *(int *)(iVar5 + 0x4c);
    iVar25 = 0;
    if (0 < iVar20) {
      iVar27 = *(int *)(pcVar36 + 0xdaa20);
      do {
        iVar20 = iVar25 * 4;
        iVar25 = iVar25 + 1;
        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));
        iVar20 = *(int *)(iVar5 + 0x4c);
        iVar28 = *(int *)(iVar5 + 0x5c);
      } while (iVar25 < iVar20 << 1);
    }
    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);
  }
  ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);
  *(double *******)(iVar5 + 0x40) = ppppppdVar16;
  if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;
  if (*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)) {
LAB_000b6494:
    ppppppdVar16 = (double ******)0x65;
    goto LAB_000b6458;
  }
  (*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5);
  iVar28 = *(int *)(iVar5 + 8);
  iVar20 = *(int *)(iVar5 + 0xc);
  iVar25 = *(int *)(pcVar36 + 0xdaa20);
  *(int *)(iVar5 + 4) = iVar28;
  *(int *)(iVar5 + 8) = iVar28 + 1;
  bVar1 = *(byte *)(iVar20 + iVar28);
  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {
    if (ppppppdVar17 != (double ******)0x0) {
      *ppppppdVar17 = (double *****)0x1;
    }
    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);
    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);
    if ((double ******)pppppdStack_20c != (double ******)0x0) {
LAB_000b6434:
      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;
      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);
      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;
      *(int *)(iVar5 + 0x58) = iVar28;
      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);
      ppppppdVar16 = (double ******)pppppdStack_20c;
      goto LAB_000b6458;
    }
    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));
    bVar1 = *pbVar11;
    uVar8 = (uint)bVar1;
    if ((char)bVar1 < '\0') {
      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);
      uVar8 = *(uint *)(iVar5 + 0x4c);
    }
    else {
      iVar28 = 1;
      *(uint *)(iVar5 + 0x4c) = uVar8;
    }
    if ((int)uVar8 < 1) {
      (**(code **)(pcVar36 + 0xdaa58))
                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,
                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);
      ppppppdVar16 = (double ******)&DAT_0000000b;
      *(undefined4 *)(iVar5 + 0x40) = 0xb;
      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);
      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;
      *(int *)(iVar5 + 0x58) = iVar28;
      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);
      goto LAB_000b6458;
    }
    *(undefined4 *)(iVar5 + 0x30) = 0;
    iStack_208 = iStack_208 - iVar28;
    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;
    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);
    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;
    iVar28 = *(int *)(iVar5 + 0x4c) * 8;
    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);
    (**(code **)(pcVar36 + 0xdaca4))
              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),
               iStack_208);
    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;
    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);
    *(int *)(iVar5 + 0x58) = iVar28;
    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;
    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);
    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;
    ppppppdVar16 = (double ******)pppppdStack_20c;
    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;
    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);
    *(double *******)(iVar5 + 0x40) = ppppppdVar16;
    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;
    iVar28 = *(int *)(iVar5 + 8);
    *(int *)(iVar5 + 4) = iVar28;
    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;
    iVar20 = *(int *)(iVar5 + 0xc);
    *(int *)(iVar5 + 8) = iVar28 + 1;
    bVar1 = *(byte *)(iVar20 + iVar28);
  }
  if ((*(int *)(iVar5 + 0x48) == 0) ||
     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))) {
    uVar18 = 0x301e0;
  }
  else {
    iVar25 = *(int *)(iVar5 + 8);
    *(uint *)(iVar5 + 0x50) = uVar8;
    *(int *)(iVar5 + 8) = iVar25 + 1;
    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);
    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {
      iVar20 = *(int *)(iVar5 + 0x4c);
      if (ppppppdVar14 != (double ******)0x0) {
        if (iVar28 != 0) {
          if (uVar8 != 9) goto LAB_000b65d4;
          if (iVar20 < 1) goto LAB_000b6830;
          pcVar9 = *(char **)(iVar5 + 0x58);
          pcVar13 = pcVar9 + iVar20;
          iVar20 = 0;
          do {
            if (*pcVar9 != '\0') {
              iVar20 = iVar20 + 1;
            }
            pcVar9 = pcVar9 + 1;
            if (pcVar13 == pcVar9) goto LAB_000b65d4;
          } while( true );
        }
        if (uVar8 != 0x17) goto LAB_000b65d4;
        iVar20 = iVar20 << 1;
        goto LAB_000b65d4;
      }
      iVar19 = *(int *)(iVar5 + 0x5c);
      iVar27 = iVar19 + iVar20 * 4;
      iVar25 = iVar19;
      if (*(int *)(iVar5 + 0x3c) != 0) {
        iVar25 = iVar27;
        iVar27 = iVar19;
      }
      if (uVar8 == 0x12) {
LAB_000b6678:
        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);
        *(double *******)(iVar5 + 0x40) = ppppppdVar16;
        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;
        if (*(int *)(iVar5 + 0x38) == 0) {
          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;
          iVar28 = *(int *)(iVar5 + 0x50);
          if (iVar28 != 0x17) goto LAB_000b6788;
        }
        else {
          iVar28 = *(int *)(iVar5 + 0x50);
          if (iVar28 != 0x17) {
            iVar20 = *(int *)(iVar5 + 0x3c);
            goto LAB_000b6780;
          }
        }
        iVar20 = *(int *)(iVar5 + 0x4c);
        iVar28 = 0;
        if (0 < iVar20) {
          do {
            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {
              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =
                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);
              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {
                uVar18 = 0x30212;
                goto LAB_000b653c;
              }
              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;
              iVar20 = *(int *)(iVar5 + 0x4c);
            }
            iVar28 = iVar28 + 1;
          } while (iVar28 < iVar20);
        }
      }
      else {
        if (iVar28 != 0) {
          if (uVar8 != 9) goto LAB_000b6678;
          ppppppdVar14 = *(double *******)(iVar5 + 0x58);
        }
        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);
        *(double *******)(iVar5 + 0x40) = ppppppdVar16;
        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;
        if (*(int *)(iVar5 + 0x50) != 9) {
          iVar20 = *(int *)(iVar5 + 0x4c);
          goto LAB_000b6678;
        }
        if (*(int *)(iVar5 + 0x38) == 0) {
          ppppppdVar16 = (double ******)&DAT_00000064;
          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;
          iVar28 = 9;
        }
        else {
          iVar20 = *(int *)(iVar5 + 0x3c);
          iVar28 = 9;
LAB_000b6780:
          ppppppdVar16 = (double ******)&DAT_00000064;
          if (iVar20 == 0) goto LAB_000b6458;
        }
LAB_000b6788:
        if (iVar28 == 0x12) {
          ppppppdVar16 = (double ******)&DAT_00000064;
          *(undefined4 *)(iVar5 + 0x50) = 9;
          goto LAB_000b6458;
        }
        if (iVar28 == 9) {
          *(undefined4 *)(iVar5 + 0x50) = 0x12;
          ppppppdVar16 = (double ******)&DAT_00000064;
          goto LAB_000b6458;
        }
      }
LAB_000b6734:
      ppppppdVar16 = (double ******)&DAT_00000064;
      goto LAB_000b6458;
    }
    uVar18 = 0x301e6;
  }
LAB_000b653c:
  (**(code **)(pcVar36 + 0xdaa58))
            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,
             *(int *)(pcVar36 + 0xda7d0) + 0x625c);
  ppppppdVar16 = (double ******)&DAT_0000000b;
  *(undefined4 *)(iVar5 + 0x40) = 0xb;
LAB_000b6458:
  while (iStack_204 != *piVar23) {
    (**(code **)(pcVar36 + 0xdac70))();
LAB_000b6830:
    iVar20 = 0;
LAB_000b65d4:
    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);
    *(double *******)(iVar5 + 0x40) = ppppppdVar16;
    if (ppppppdVar16 == (double ******)0x0) {
      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));
      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;
      ppppppdVar16 = (double ******)&DAT_00000064;
    }
  }
  return ppppppdVar16;
code_r0x000b6070:
  ppppppdVar30 = *(double *******)pdVar12;
  ppppppdVar17 = *(double *******)((int)pdVar12 + 4);
  dVar38 = *pdVar12;
  uVar3 = *(ushort *)(ppppppdVar24 + 2);
  ppppppdVar14 = (double ******)(uVar3 & 0x2400);
  ppppppdVar21 = ppppppdVar34;
  if (pcVar4 == (code *)0x1) {
    if ((uVar3 & 0x2400) == 0) {
      ppppppdVar24[1] = (double *****)ppppppdVar17;
      *ppppppdVar24 = (double *****)ppppppdVar30;
      *(undefined2 *)(ppppppdVar24 + 2) = 4;
    }
    else {
      pppppdStack_1a4 = (double *****)ppppppdVar34;
      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);
      ppppppdVar21 = (double ******)pppppdStack_1a4;
    }
  }
  else {
    pppppdStack_198 = (double *****)ppppppdVar30;
    pppppdStack_194 = (double *****)ppppppdVar17;
    if ((uVar3 & 0x2400) == 0) {
      *(undefined2 *)(ppppppdVar24 + 2) = 1;
    }
    else {
      pppppdStack_1a4 = (double *****)ppppppdVar24;
      pppppdStack_1a0 = (double *****)ppppppdVar34;
      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);
      ppppppdVar24 = (double ******)pppppdStack_1a4;
      ppppppdVar21 = (double ******)pppppdStack_1a0;
    }
    if (!NAN(dVar38)) {
      *(double *)ppppppdVar24 = dVar38;
      *(undefined2 *)(ppppppdVar24 + 2) = 8;
    }
  }
  ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15);
  ppppppdVar6[2] = ppppppdVar6[2] + 2;
  if (ppppppdVar29 == (double ******)0x0) {
    ppppppdVar7 = (double ******)0x0;
    ppppppdVar33 = ppppppdVar34;
    pcVar36 = pcStack_1c0;
    goto LAB_000b5de4;
  }
  goto LAB_000b5dac;
}


lui gp,0xe
addiu gp,gp,0x33ac
addu gp,gp,t9
addiu sp,sp,-0x70
lw v0,-0x7afc(gp)
lw v1,0x80(sp)
sw s5,0x5c(sp)
or s5,a1,zero
sw s4,0x58(sp)
or s4,a2,zero
sw gp,0x10(sp)
sw ra,0x6c(sp)
sw s8,0x68(sp)
sw s7,0x64(sp)
sw s6,0x60(sp)
sw s3,0x54(sp)
sw s2,0x50(sp)
sw s1,0x4c(sp)
sw s0,0x48(sp)
sw v0,0x24(sp)
sw v1,0x28(sp)
sw a0,0x1c(sp)
sw a3,0x18(sp)
sw zero,0x34(sp)
sw zero,0x38(sp)
sw zero,0x3c(sp)
sw zero,0x40(sp)
lw v1,0x84(sp)
lw v0,0x0(v0)
sw v1,0x2c(sp)
sw v0,0x44(sp)
beq a1,zero,0x000b57ac
_lw v0,-0x7cf4(gp)
lw s2,-0x7cf4(gp)
lw s3,-0x7cf4(gp)
addiu v0,v0,0x5290
addiu s2,s2,0x5224
sw v0,0x20(sp)
b 0x000b5628
_addiu s3,s3,0x4ef4
lw v0,0x34(sp)
bne v0,zero,0x000b5728
_lw s5,0x0(s5)
beq s5,zero,0x000b5780
_lw a2,0x3c(sp)
lw v0,0x18(s5)
beq v0,zero,0x000b5618
_lw v0,0x34(sp)
lw v0,0x1c(sp)
addiu s0,sp,0x34
addiu s1,sp,0x38
lw t9,0x20(sp)
or a3,s0,zero
or a0,s1,zero
lw a1,0x0(v0)
jalr t9
_or a2,s5,zero
lw a0,0x1c(s5)
blez a0,0x000b5614
_lw gp,0x10(sp)
lw s7,-0x7fd8(gp)
or s6,zero,zero
lw v0,0x20(s5)
sll v1,s6,0x2
addu v0,v0,v1
lw s8,0x0(v0)
beq s8,zero,0x000b5710
_nop
lbu a1,0x3(s8)
or a2,s0,zero
or t9,s2,zero
bal 0x000b5224
_or a0,s1,zero
or a2,s0,zero
lbu a1,0x7(s8)
or t9,s2,zero
bal 0x000b5224
_or a0,s1,zero
or a3,s0,zero
lw a2,0x8(s8)
or a0,s1,zero
or t9,s3,zero
bal 0x000b4ef4
_lw a1,0xc(s8)
lw v0,0x34(sp)
bne v0,zero,0x000b5700
_lw gp,0x10(sp)
beq s4,zero,0x000b5700
_lw a2,0x3c(sp)
lw v0,-0xba0(s7)
slt v0,a2,v0
bne v0,zero,0x000b5700
_lw a1,0x38(sp)
or t9,s4,zero
jalr t9
_lw a0,0x18(sp)
lw gp,0x10(sp)
sw v0,0x34(sp)
sw zero,0x3c(sp)
lw s8,0x10(s8)
bne s8,zero,0x000b5684
_nop
lw a0,0x1c(s5)
addiu s6,s6,0x1
slt v0,s6,a0
bne v0,zero,0x000b566c
_lw v0,0x34(sp)
beq v0,zero,0x000b5620
_lw s5,0x0(s5)
lw s5,0x38(sp)
lw t9,-0x7fb4(gp)
jalr t9
_or a0,s5,zero
lw v0,0x24(sp)
lw a0,0x44(sp)
lw gp,0x10(sp)
lw v1,0x0(v0)
bne a0,v1,0x000b57d4
_lw v0,0x34(sp)
lw ra,0x6c(sp)
lw s8,0x68(sp)
lw s7,0x64(sp)
lw s6,0x60(sp)
lw s5,0x5c(sp)
lw s4,0x58(sp)
lw s3,0x54(sp)
lw s2,0x50(sp)
lw s1,0x4c(sp)
lw s0,0x48(sp)
jr ra
_addiu sp,sp,0x70
beq s4,zero,0x000b57b8
_lw s5,0x38(sp)
blez a2,0x000b572c
_lw a0,0x18(sp)
or t9,s4,zero
jalr t9
_or a1,s5,zero
lw gp,0x10(sp)
lw s5,0x38(sp)
b 0x000b572c
_sw v0,0x34(sp)
bne a2,zero,0x000b5730
_lw t9,-0x7fb4(gp)
or a2,zero,zero
lw v0,0x2c(sp)
sw zero,0x38(sp)
sw s5,0x0(v0)
or s5,zero,zero
lw v0,0x28(sp)
b 0x000b572c
_sw a2,0x0(v0)
lw t9,-0x7b28(gp)
jalr t9
_nop
(translation_unit "double ******\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)\n\n{\n  byte bVar1;\n  code cVar2;\n  ushort uVar3;\n  code *pcVar4;\n  int iVar5;\n  double ******ppppppdVar6;\n  double ******ppppppdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *****pppppdVar10;\n  byte *pbVar11;\n  double *pdVar12;\n  char *pcVar13;\n  double ******ppppppdVar14;\n  double ******ppppppdVar15;\n  double ******ppppppdVar16;\n  double ******ppppppdVar17;\n  undefined4 uVar18;\n  int iVar19;\n  double ******unaff_s0;\n  int iVar20;\n  double ******ppppppdVar21;\n  double ******unaff_s1;\n  double ******ppppppdVar22;\n  double ******unaff_s2;\n  int *piVar23;\n  double ******ppppppdVar24;\n  int iVar25;\n  undefined *unaff_s3;\n  undefined *puVar26;\n  int iVar27;\n  int iVar28;\n  double ******ppppppdVar29;\n  double ******ppppppdVar30;\n  int unaff_s6;\n  int *piVar31;\n  undefined4 *puVar32;\n  double ******unaff_s7;\n  double ******ppppppdVar33;\n  double ******ppppppdVar34;\n  undefined *puVar35;\n  double ******unaff_s8;\n  code *pcVar36;\n  code *pcVar37;\n  double dVar38;\n  double *****pppppdStack_20c;\n  int iStack_208;\n  int iStack_204;\n  double *****pppppdStack_200;\n  int iStack_1fc;\n  double *****pppppdStack_1f8;\n  double *****pppppdStack_1f4;\n  double *****pppppdStack_1f0;\n  code *pcStack_1ec;\n  int *piStack_1e8;\n  double *****pppppdStack_1e4;\n  double *****pppppdStack_1e0;\n  code *pcStack_1dc;\n  int iStack_1c8;\n  code *pcStack_1c0;\n  double *****pppppdStack_1b4;\n  code *pcStack_1b0;\n  code *pcStack_1ac;\n  int iStack_1a8;\n  double *****pppppdStack_1a4;\n  double *****pppppdStack_1a0;\n  double *****pppppdStack_19c;\n  double *****pppppdStack_198;\n  double *****pppppdStack_194;\n  int iStack_18c;\n  double *****pppppdStack_188;\n  int iStack_184;\n  double *****pppppdStack_180;\n  double *****pppppdStack_17c;\n  double *****pppppdStack_178;\n  code *pcStack_174;\n  undefined4 *puStack_170;\n  double *****pppppdStack_16c;\n  double *****pppppdStack_168;\n  code *pcStack_164;\n  code *pcStack_148;\n  double *****pppppdStack_13c;\n  double ****ppppdStack_138;\n  double *****pppppdStack_134;\n  double ****ppppdStack_130;\n  double *****pppppdStack_12c;\n  int *piStack_128;\n  double *****pppppdStack_124;\n  int iStack_120;\n  int iStack_11c;\n  int *piStack_118;\n  double *****pppppdStack_114;\n  double *****pppppdStack_110;\n  code *pcStack_10c;\n  int iStack_f8;\n  code *pcStack_f0;\n  uint uStack_e8;\n  int iStack_e4;\n  double *****pppppdStack_dc;\n  double *****pppppdStack_d8;\n  double *****pppppdStack_d4;\n  undefined *puStack_d0;\n  double *****pppppdStack_cc;\n  double *****pppppdStack_c8;\n  code *pcStack_c4;\n  undefined *puStack_b0;\n  double *****pppppdStack_a4;\n  double ****ppppdStack_a0;\n  int iStack_9c;\n  double *****pppppdStack_98;\n  double *****pppppdStack_94;\n  double *****pppppdStack_90;\n  undefined *puStack_8c;\n  double *****pppppdStack_88;\n  double *****pppppdStack_84;\n  int iStack_80;\n  double *****pppppdStack_7c;\n  double *****pppppdStack_78;\n  code *pcStack_74;\n  double *****local_3c;\n  double *****local_38;\n  double *****local_34;\n  undefined4 local_30;\n  double *****local_2c;\n  \n  puVar35 = PTR___stack_chk_guard_00190e24;\n  local_3c = (double *****)0x0;\n  local_38 = (double *****)0x0;\n  local_34 = (double *****)0x0;\n  local_30 = 0;\n  local_2c = *(double ******)PTR___stack_chk_guard_00190e24;\n  ppppppdVar17 = param_4;\n  if (param_2 == (double ******)0x0) {\n    ppppppdVar16 = param_3;\n    if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }\nLAB_000b5730:\n  ppppppdVar30 = (double ******)local_38;\n  (*(code *)PTR_sqlite3_free_0019096c)(local_38);\n  if ((double ******)local_2c == *(double *******)puVar35) {\n    return (double ******)local_3c;\n  }\n  pcVar4 = FUN_000b57e0;\n  ppppppdVar15 = (double ******)local_2c;\n  puVar35 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar35 + 0xe3140;\n  piVar31 = *(int **)(puVar35 + 0xdb644);\n  pppppdStack_a4 = (double *****)0x0;\n  iStack_9c = *piVar31;\n  ppppppdVar29 = (double ******)0x0;\n  ppppppdVar14 = param_2;\n  ppppppdVar21 = unaff_s0;\n  ppppppdVar24 = unaff_s2;\n  pppppdStack_98 = (double *****)unaff_s0;\n  pppppdStack_94 = (double *****)unaff_s1;\n  pppppdStack_90 = (double *****)unaff_s2;\n  puStack_8c = unaff_s3;\n  pppppdStack_88 = (double *****)param_3;\n  pppppdStack_84 = (double *****)ppppppdVar30;\n  iStack_80 = unaff_s6;\n  pppppdStack_7c = (double *****)unaff_s7;\n  pppppdStack_78 = (double *****)unaff_s8;\n  pcStack_74 = pcVar4;\n  if (ppppppdVar15[8] != (double *****)0x0) {\n    ppppppdVar21 = ppppppdVar15;\n    if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }\n  }\n  if (iStack_9c == *piVar31) {\n    return ppppppdVar29;\n  }\n  pcVar4 = *(code **)(puStack_b0 + -0x7b28);\n  pcVar36 = FUN_000b5998;\n  iVar5 = iStack_9c;\n  pppppdStack_a4 = (double *****)ppppppdVar29;\n  (*pcVar4)();\n  pcStack_f0 = pcVar4 + 0xe2f88;\n  ppppppdVar29 = (double ******)&DAT_00000009;\n  piVar23 = *(int **)(pcVar4 + 0xdb48c);\n  iVar28 = *(int *)(pcVar4 + 0xdb294);\n  uStack_e8 = 0;\n  iStack_e4 = *piVar23;\n  pppppdStack_dc = (double *****)ppppppdVar21;\n  pppppdStack_d8 = (double *****)unaff_s1;\n  pppppdStack_d4 = (double *****)ppppppdVar24;\n  puStack_d0 = unaff_s3;\n  pppppdStack_cc = (double *****)param_3;\n  pppppdStack_c8 = (double *****)ppppppdVar30;\n  pcStack_c4 = pcVar36;\n  ppppppdVar30 = (double ******)FUN_000b57e0();\n  if (ppppppdVar30 == (double ******)0x0) {\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);\n    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);\n    iVar20 = iVar20 + uStack_e8;\n    if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }\n  }\n  else {\n    pppppdVar10 = (double *****)0x1;\n  }\nLAB_000b5ad4:\n  *ppppppdVar14 = pppppdVar10;\n  if (iStack_e4 == *piVar23) {\n    return ppppppdVar30;\n  }\n  pcVar4 = *(code **)(pcStack_f0 + -0x7b28);\n  pcVar36 = FUN_000b5b8c;\n  iVar20 = iStack_e4;\n  (*pcVar4)();\n  pcStack_148 = pcVar4 + 0xe2d94;\n  ppppppdVar33 = (double ******)&ppppdStack_138;\n  ppppppdVar24 = (double ******)0x0;\n  ppppppdVar21 = (double ******)0x0;\n  puVar32 = *(undefined4 **)(pcVar4 + 0xdb298);\n  pppppdStack_134 = (double *****)*puVar32;\n  ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);\n  pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);\n  ppppppdVar6 = (double ******)0x0;\n  ppppppdVar15 = ppppppdVar29;\n  pppppdStack_13c = (double *****)ppppppdVar16;\n  ppppdStack_130 = (double ****)pppppdVar10;\n  pppppdStack_12c = (double *****)ppppppdVar30;\n  piStack_128 = piVar23;\n  pppppdStack_124 = (double *****)ppppppdVar14;\n  iStack_120 = iVar28 + 0x57e0;\n  iStack_11c = iVar5;\n  piStack_118 = piVar31;\n  pppppdStack_114 = (double *****)unaff_s7;\n  pppppdStack_110 = (double *****)unaff_s8;\n  pcStack_10c = pcVar36;\n  if (0 < (int)ppppppdVar29) {\n    do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));\n  }\nLAB_000b5c24:\n  *pppppdStack_13c = (double ****)ppppppdVar21;\n  if ((double ******)pppppdStack_134 == (double ******)*puVar32) {\n    return ppppppdVar6;\n  }\n  pcVar36 = *(code **)(pcStack_148 + -0x7b28);\n  pcVar37 = FUN_000b5d20;\n  ppppppdVar6 = (double ******)pppppdStack_134;\n  (*pcVar36)();\n  pcStack_1c0 = pcVar36 + 0xe2c00;\n  piVar31 = *(int **)(pcVar36 + 0xdb104);\n  iStack_18c = *piVar31;\n  ppppppdVar14 = ppppppdVar15;\n  ppppppdVar30 = ppppppdVar16;\n  pppppdStack_1b4 = (double *****)ppppppdVar17;\n  pppppdStack_188 = (double *****)ppppppdVar21;\n  iStack_184 = iVar20;\n  pppppdStack_180 = (double *****)ppppppdVar24;\n  pppppdStack_17c = (double *****)ppppppdVar22;\n  pppppdStack_178 = (double *****)ppppppdVar29;\n  pcStack_174 = pcVar4;\n  puStack_170 = puVar32;\n  pppppdStack_16c = (double *****)ppppppdVar33;\n  pppppdStack_168 = (double *****)unaff_s8;\n  pcStack_164 = pcVar37;\n  if (0 < (int)ppppppdVar15) {\n    ppppppdVar21 = (double ******)0x0;\n    pcVar4 = *(code **)(pcVar36 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);\n    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;\n    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);\nLAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;\n    ppppppdVar33 = ppppppdVar21;\n    pcVar36 = pcStack_1c0;\nLAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }\n    ppppppdVar14 = (double ******)&DAT_00000009;\n    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n    pcVar36 = pcStack_1c0;\n    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n    pppppdVar10 = ppppppdVar6[2];\n    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    ppppppdVar6[2] = (double *****)ppppppdVar14;\n    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);\n    if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }\n    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n    ppppppdVar21 = ppppppdVar16;\n    ppppppdVar24 = ppppppdVar15;\n    pcVar36 = pcStack_1c0;\n    unaff_s8 = ppppppdVar6;\n    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  ppppppdVar7 = (double ******)0x0;\n  ppppppdVar16 = ppppppdVar21;\n  ppppppdVar15 = ppppppdVar24;\n  pcVar36 = pcStack_1c0;\n  ppppppdVar6 = unaff_s8;\nLAB_000b5de4:\n  if (iStack_18c == *piVar31) {\n    return ppppppdVar7;\n  }\n  pcVar36 = *(code **)(pcVar36 + -0x7b28);\n  pcVar37 = FUN_000b6188;\n  iVar5 = iStack_18c;\n  (*pcVar36)();\n  piVar23 = *(int **)(pcVar36 + 0xdac9c);\n  iVar28 = *(int *)(iVar5 + 0x5c);\n  iStack_204 = *piVar23;\n  pppppdStack_200 = (double *****)ppppppdVar16;\n  iStack_1fc = iVar20;\n  pppppdStack_1f8 = (double *****)ppppppdVar15;\n  pppppdStack_1f4 = (double *****)ppppppdVar22;\n  pppppdStack_1f0 = (double *****)ppppppdVar29;\n  pcStack_1ec = pcVar4;\n  piStack_1e8 = piVar31;\n  pppppdStack_1e4 = (double *****)ppppppdVar33;\n  pppppdStack_1e0 = (double *****)ppppppdVar6;\n  pcStack_1dc = pcVar37;\n  if (iVar28 != 0) {\n    iVar20 = *(int *)(iVar5 + 0x4c);\n    iVar25 = 0;\n    if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }\n    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);\n  }\n  ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n  *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n  if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n  if (*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)) {\nLAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5);\n  iVar28 = *(int *)(iVar5 + 8);\n  iVar20 = *(int *)(iVar5 + 0xc);\n  iVar25 = *(int *)(pcVar36 + 0xdaa20);\n  *(int *)(iVar5 + 4) = iVar28;\n  *(int *)(iVar5 + 8) = iVar28 + 1;\n  bVar1 = *(byte *)(iVar20 + iVar28);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }\n    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);\n    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar5 + 0x30) = 0;\n    iStack_208 = iStack_208 - iVar28;\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;\n    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;\n    iVar28 = *(int *)(iVar5 + 0x4c) * 8;\n    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);\n    (**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);\n    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n    *(int *)(iVar5 + 0x58) = iVar28;\n    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;\n    ppppppdVar16 = (double ******)pppppdStack_20c;\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;\n    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n    iVar28 = *(int *)(iVar5 + 8);\n    *(int *)(iVar5 + 4) = iVar28;\n    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;\n    iVar20 = *(int *)(iVar5 + 0xc);\n    *(int *)(iVar5 + 8) = iVar28 + 1;\n    bVar1 = *(byte *)(iVar20 + iVar28);\n  }\n  if ((*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c);\n  ppppppdVar16 = (double ******)&DAT_0000000b;\n  *(undefined4 *)(iVar5 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_204 != *piVar23) {\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }\n  return ppppppdVar16;\ncode_r0x000b6070:\n  ppppppdVar30 = *(double *******)pdVar12;\n  ppppppdVar17 = *(double *******)((int)pdVar12 + 4);\n  dVar38 = *pdVar12;\n  uVar3 = *(ushort *)(ppppppdVar24 + 2);\n  ppppppdVar14 = (double ******)(uVar3 & 0x2400);\n  ppppppdVar21 = ppppppdVar34;\n  if (pcVar4 == (code *)0x1) {\n    if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }\n  }\n  else {\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }\n  ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15);\n  ppppppdVar6[2] = ppppppdVar6[2] + 2;\n  if (ppppppdVar29 == (double ******)0x0) {\n    ppppppdVar7 = (double ******)0x0;\n    ppppppdVar33 = ppppppdVar34;\n    pcVar36 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}\n\n" (function_definition "double ******\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)\n\n{\n  byte bVar1;\n  code cVar2;\n  ushort uVar3;\n  code *pcVar4;\n  int iVar5;\n  double ******ppppppdVar6;\n  double ******ppppppdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *****pppppdVar10;\n  byte *pbVar11;\n  double *pdVar12;\n  char *pcVar13;\n  double ******ppppppdVar14;\n  double ******ppppppdVar15;\n  double ******ppppppdVar16;\n  double ******ppppppdVar17;\n  undefined4 uVar18;\n  int iVar19;\n  double ******unaff_s0;\n  int iVar20;\n  double ******ppppppdVar21;\n  double ******unaff_s1;\n  double ******ppppppdVar22;\n  double ******unaff_s2;\n  int *piVar23;\n  double ******ppppppdVar24;\n  int iVar25;\n  undefined *unaff_s3;\n  undefined *puVar26;\n  int iVar27;\n  int iVar28;\n  double ******ppppppdVar29;\n  double ******ppppppdVar30;\n  int unaff_s6;\n  int *piVar31;\n  undefined4 *puVar32;\n  double ******unaff_s7;\n  double ******ppppppdVar33;\n  double ******ppppppdVar34;\n  undefined *puVar35;\n  double ******unaff_s8;\n  code *pcVar36;\n  code *pcVar37;\n  double dVar38;\n  double *****pppppdStack_20c;\n  int iStack_208;\n  int iStack_204;\n  double *****pppppdStack_200;\n  int iStack_1fc;\n  double *****pppppdStack_1f8;\n  double *****pppppdStack_1f4;\n  double *****pppppdStack_1f0;\n  code *pcStack_1ec;\n  int *piStack_1e8;\n  double *****pppppdStack_1e4;\n  double *****pppppdStack_1e0;\n  code *pcStack_1dc;\n  int iStack_1c8;\n  code *pcStack_1c0;\n  double *****pppppdStack_1b4;\n  code *pcStack_1b0;\n  code *pcStack_1ac;\n  int iStack_1a8;\n  double *****pppppdStack_1a4;\n  double *****pppppdStack_1a0;\n  double *****pppppdStack_19c;\n  double *****pppppdStack_198;\n  double *****pppppdStack_194;\n  int iStack_18c;\n  double *****pppppdStack_188;\n  int iStack_184;\n  double *****pppppdStack_180;\n  double *****pppppdStack_17c;\n  double *****pppppdStack_178;\n  code *pcStack_174;\n  undefined4 *puStack_170;\n  double *****pppppdStack_16c;\n  double *****pppppdStack_168;\n  code *pcStack_164;\n  code *pcStack_148;\n  double *****pppppdStack_13c;\n  double ****ppppdStack_138;\n  double *****pppppdStack_134;\n  double ****ppppdStack_130;\n  double *****pppppdStack_12c;\n  int *piStack_128;\n  double *****pppppdStack_124;\n  int iStack_120;\n  int iStack_11c;\n  int *piStack_118;\n  double *****pppppdStack_114;\n  double *****pppppdStack_110;\n  code *pcStack_10c;\n  int iStack_f8;\n  code *pcStack_f0;\n  uint uStack_e8;\n  int iStack_e4;\n  double *****pppppdStack_dc;\n  double *****pppppdStack_d8;\n  double *****pppppdStack_d4;\n  undefined *puStack_d0;\n  double *****pppppdStack_cc;\n  double *****pppppdStack_c8;\n  code *pcStack_c4;\n  undefined *puStack_b0;\n  double *****pppppdStack_a4;\n  double ****ppppdStack_a0;\n  int iStack_9c;\n  double *****pppppdStack_98;\n  double *****pppppdStack_94;\n  double *****pppppdStack_90;\n  undefined *puStack_8c;\n  double *****pppppdStack_88;\n  double *****pppppdStack_84;\n  int iStack_80;\n  double *****pppppdStack_7c;\n  double *****pppppdStack_78;\n  code *pcStack_74;\n  double *****local_3c;\n  double *****local_38;\n  double *****local_34;\n  undefined4 local_30;\n  double *****local_2c;\n  \n  puVar35 = PTR___stack_chk_guard_00190e24;\n  local_3c = (double *****)0x0;\n  local_38 = (double *****)0x0;\n  local_34 = (double *****)0x0;\n  local_30 = 0;\n  local_2c = *(double ******)PTR___stack_chk_guard_00190e24;\n  ppppppdVar17 = param_4;\n  if (param_2 == (double ******)0x0) {\n    ppppppdVar16 = param_3;\n    if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }\nLAB_000b5730:\n  ppppppdVar30 = (double ******)local_38;\n  (*(code *)PTR_sqlite3_free_0019096c)(local_38);\n  if ((double ******)local_2c == *(double *******)puVar35) {\n    return (double ******)local_3c;\n  }\n  pcVar4 = FUN_000b57e0;\n  ppppppdVar15 = (double ******)local_2c;\n  puVar35 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar35 + 0xe3140;\n  piVar31 = *(int **)(puVar35 + 0xdb644);\n  pppppdStack_a4 = (double *****)0x0;\n  iStack_9c = *piVar31;\n  ppppppdVar29 = (double ******)0x0;\n  ppppppdVar14 = param_2;\n  ppppppdVar21 = unaff_s0;\n  ppppppdVar24 = unaff_s2;\n  pppppdStack_98 = (double *****)unaff_s0;\n  pppppdStack_94 = (double *****)unaff_s1;\n  pppppdStack_90 = (double *****)unaff_s2;\n  puStack_8c = unaff_s3;\n  pppppdStack_88 = (double *****)param_3;\n  pppppdStack_84 = (double *****)ppppppdVar30;\n  iStack_80 = unaff_s6;\n  pppppdStack_7c = (double *****)unaff_s7;\n  pppppdStack_78 = (double *****)unaff_s8;\n  pcStack_74 = pcVar4;\n  if (ppppppdVar15[8] != (double *****)0x0) {\n    ppppppdVar21 = ppppppdVar15;\n    if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }\n  }\n  if (iStack_9c == *piVar31) {\n    return ppppppdVar29;\n  }\n  pcVar4 = *(code **)(puStack_b0 + -0x7b28);\n  pcVar36 = FUN_000b5998;\n  iVar5 = iStack_9c;\n  pppppdStack_a4 = (double *****)ppppppdVar29;\n  (*pcVar4)();\n  pcStack_f0 = pcVar4 + 0xe2f88;\n  ppppppdVar29 = (double ******)&DAT_00000009;\n  piVar23 = *(int **)(pcVar4 + 0xdb48c);\n  iVar28 = *(int *)(pcVar4 + 0xdb294);\n  uStack_e8 = 0;\n  iStack_e4 = *piVar23;\n  pppppdStack_dc = (double *****)ppppppdVar21;\n  pppppdStack_d8 = (double *****)unaff_s1;\n  pppppdStack_d4 = (double *****)ppppppdVar24;\n  puStack_d0 = unaff_s3;\n  pppppdStack_cc = (double *****)param_3;\n  pppppdStack_c8 = (double *****)ppppppdVar30;\n  pcStack_c4 = pcVar36;\n  ppppppdVar30 = (double ******)FUN_000b57e0();\n  if (ppppppdVar30 == (double ******)0x0) {\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);\n    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);\n    iVar20 = iVar20 + uStack_e8;\n    if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }\n  }\n  else {\n    pppppdVar10 = (double *****)0x1;\n  }\nLAB_000b5ad4:\n  *ppppppdVar14 = pppppdVar10;\n  if (iStack_e4 == *piVar23) {\n    return ppppppdVar30;\n  }\n  pcVar4 = *(code **)(pcStack_f0 + -0x7b28);\n  pcVar36 = FUN_000b5b8c;\n  iVar20 = iStack_e4;\n  (*pcVar4)();\n  pcStack_148 = pcVar4 + 0xe2d94;\n  ppppppdVar33 = (double ******)&ppppdStack_138;\n  ppppppdVar24 = (double ******)0x0;\n  ppppppdVar21 = (double ******)0x0;\n  puVar32 = *(undefined4 **)(pcVar4 + 0xdb298);\n  pppppdStack_134 = (double *****)*puVar32;\n  ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);\n  pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);\n  ppppppdVar6 = (double ******)0x0;\n  ppppppdVar15 = ppppppdVar29;\n  pppppdStack_13c = (double *****)ppppppdVar16;\n  ppppdStack_130 = (double ****)pppppdVar10;\n  pppppdStack_12c = (double *****)ppppppdVar30;\n  piStack_128 = piVar23;\n  pppppdStack_124 = (double *****)ppppppdVar14;\n  iStack_120 = iVar28 + 0x57e0;\n  iStack_11c = iVar5;\n  piStack_118 = piVar31;\n  pppppdStack_114 = (double *****)unaff_s7;\n  pppppdStack_110 = (double *****)unaff_s8;\n  pcStack_10c = pcVar36;\n  if (0 < (int)ppppppdVar29) {\n    do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));\n  }\nLAB_000b5c24:\n  *pppppdStack_13c = (double ****)ppppppdVar21;\n  if ((double ******)pppppdStack_134 == (double ******)*puVar32) {\n    return ppppppdVar6;\n  }\n  pcVar36 = *(code **)(pcStack_148 + -0x7b28);\n  pcVar37 = FUN_000b5d20;\n  ppppppdVar6 = (double ******)pppppdStack_134;\n  (*pcVar36)();\n  pcStack_1c0 = pcVar36 + 0xe2c00;\n  piVar31 = *(int **)(pcVar36 + 0xdb104);\n  iStack_18c = *piVar31;\n  ppppppdVar14 = ppppppdVar15;\n  ppppppdVar30 = ppppppdVar16;\n  pppppdStack_1b4 = (double *****)ppppppdVar17;\n  pppppdStack_188 = (double *****)ppppppdVar21;\n  iStack_184 = iVar20;\n  pppppdStack_180 = (double *****)ppppppdVar24;\n  pppppdStack_17c = (double *****)ppppppdVar22;\n  pppppdStack_178 = (double *****)ppppppdVar29;\n  pcStack_174 = pcVar4;\n  puStack_170 = puVar32;\n  pppppdStack_16c = (double *****)ppppppdVar33;\n  pppppdStack_168 = (double *****)unaff_s8;\n  pcStack_164 = pcVar37;\n  if (0 < (int)ppppppdVar15) {\n    ppppppdVar21 = (double ******)0x0;\n    pcVar4 = *(code **)(pcVar36 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);\n    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;\n    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);\nLAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;\n    ppppppdVar33 = ppppppdVar21;\n    pcVar36 = pcStack_1c0;\nLAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }\n    ppppppdVar14 = (double ******)&DAT_00000009;\n    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n    pcVar36 = pcStack_1c0;\n    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n    pppppdVar10 = ppppppdVar6[2];\n    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    ppppppdVar6[2] = (double *****)ppppppdVar14;\n    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);\n    if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }\n    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n    ppppppdVar21 = ppppppdVar16;\n    ppppppdVar24 = ppppppdVar15;\n    pcVar36 = pcStack_1c0;\n    unaff_s8 = ppppppdVar6;\n    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  ppppppdVar7 = (double ******)0x0;\n  ppppppdVar16 = ppppppdVar21;\n  ppppppdVar15 = ppppppdVar24;\n  pcVar36 = pcStack_1c0;\n  ppppppdVar6 = unaff_s8;\nLAB_000b5de4:\n  if (iStack_18c == *piVar31) {\n    return ppppppdVar7;\n  }\n  pcVar36 = *(code **)(pcVar36 + -0x7b28);\n  pcVar37 = FUN_000b6188;\n  iVar5 = iStack_18c;\n  (*pcVar36)();\n  piVar23 = *(int **)(pcVar36 + 0xdac9c);\n  iVar28 = *(int *)(iVar5 + 0x5c);\n  iStack_204 = *piVar23;\n  pppppdStack_200 = (double *****)ppppppdVar16;\n  iStack_1fc = iVar20;\n  pppppdStack_1f8 = (double *****)ppppppdVar15;\n  pppppdStack_1f4 = (double *****)ppppppdVar22;\n  pppppdStack_1f0 = (double *****)ppppppdVar29;\n  pcStack_1ec = pcVar4;\n  piStack_1e8 = piVar31;\n  pppppdStack_1e4 = (double *****)ppppppdVar33;\n  pppppdStack_1e0 = (double *****)ppppppdVar6;\n  pcStack_1dc = pcVar37;\n  if (iVar28 != 0) {\n    iVar20 = *(int *)(iVar5 + 0x4c);\n    iVar25 = 0;\n    if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }\n    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);\n  }\n  ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n  *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n  if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n  if (*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)) {\nLAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5);\n  iVar28 = *(int *)(iVar5 + 8);\n  iVar20 = *(int *)(iVar5 + 0xc);\n  iVar25 = *(int *)(pcVar36 + 0xdaa20);\n  *(int *)(iVar5 + 4) = iVar28;\n  *(int *)(iVar5 + 8) = iVar28 + 1;\n  bVar1 = *(byte *)(iVar20 + iVar28);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }\n    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);\n    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar5 + 0x30) = 0;\n    iStack_208 = iStack_208 - iVar28;\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;\n    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;\n    iVar28 = *(int *)(iVar5 + 0x4c) * 8;\n    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);\n    (**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);\n    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n    *(int *)(iVar5 + 0x58) = iVar28;\n    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;\n    ppppppdVar16 = (double ******)pppppdStack_20c;\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;\n    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n    iVar28 = *(int *)(iVar5 + 8);\n    *(int *)(iVar5 + 4) = iVar28;\n    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;\n    iVar20 = *(int *)(iVar5 + 0xc);\n    *(int *)(iVar5 + 8) = iVar28 + 1;\n    bVar1 = *(byte *)(iVar20 + iVar28);\n  }\n  if ((*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c);\n  ppppppdVar16 = (double ******)&DAT_0000000b;\n  *(undefined4 *)(iVar5 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_204 != *piVar23) {\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }\n  return ppppppdVar16;\ncode_r0x000b6070:\n  ppppppdVar30 = *(double *******)pdVar12;\n  ppppppdVar17 = *(double *******)((int)pdVar12 + 4);\n  dVar38 = *pdVar12;\n  uVar3 = *(ushort *)(ppppppdVar24 + 2);\n  ppppppdVar14 = (double ******)(uVar3 & 0x2400);\n  ppppppdVar21 = ppppppdVar34;\n  if (pcVar4 == (code *)0x1) {\n    if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }\n  }\n  else {\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }\n  ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15);\n  ppppppdVar6[2] = ppppppdVar6[2] + 2;\n  if (ppppppdVar29 == (double ******)0x0) {\n    ppppppdVar7 = (double ******)0x0;\n    ppppppdVar33 = ppppppdVar34;\n    pcVar36 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" primitive_type (pointer_declarator "******\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" * (pointer_declarator "*****\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" * (pointer_declarator "****\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" * (pointer_declarator "***\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" * (pointer_declarator "**\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" * (pointer_declarator "*\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" * (function_declarator "FUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" identifier (parameter_list "(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "double ******param_2" primitive_type (pointer_declarator "******param_2" * (pointer_declarator "*****param_2" * (pointer_declarator "****param_2" * (pointer_declarator "***param_2" * (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier))))))) , (parameter_declaration "double ******param_3" primitive_type (pointer_declarator "******param_3" * (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier))))))) , (parameter_declaration "double ******param_4" primitive_type (pointer_declarator "******param_4" * (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))))))) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "undefined4 *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) ))))))))) (compound_statement "{\n  byte bVar1;\n  code cVar2;\n  ushort uVar3;\n  code *pcVar4;\n  int iVar5;\n  double ******ppppppdVar6;\n  double ******ppppppdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *****pppppdVar10;\n  byte *pbVar11;\n  double *pdVar12;\n  char *pcVar13;\n  double ******ppppppdVar14;\n  double ******ppppppdVar15;\n  double ******ppppppdVar16;\n  double ******ppppppdVar17;\n  undefined4 uVar18;\n  int iVar19;\n  double ******unaff_s0;\n  int iVar20;\n  double ******ppppppdVar21;\n  double ******unaff_s1;\n  double ******ppppppdVar22;\n  double ******unaff_s2;\n  int *piVar23;\n  double ******ppppppdVar24;\n  int iVar25;\n  undefined *unaff_s3;\n  undefined *puVar26;\n  int iVar27;\n  int iVar28;\n  double ******ppppppdVar29;\n  double ******ppppppdVar30;\n  int unaff_s6;\n  int *piVar31;\n  undefined4 *puVar32;\n  double ******unaff_s7;\n  double ******ppppppdVar33;\n  double ******ppppppdVar34;\n  undefined *puVar35;\n  double ******unaff_s8;\n  code *pcVar36;\n  code *pcVar37;\n  double dVar38;\n  double *****pppppdStack_20c;\n  int iStack_208;\n  int iStack_204;\n  double *****pppppdStack_200;\n  int iStack_1fc;\n  double *****pppppdStack_1f8;\n  double *****pppppdStack_1f4;\n  double *****pppppdStack_1f0;\n  code *pcStack_1ec;\n  int *piStack_1e8;\n  double *****pppppdStack_1e4;\n  double *****pppppdStack_1e0;\n  code *pcStack_1dc;\n  int iStack_1c8;\n  code *pcStack_1c0;\n  double *****pppppdStack_1b4;\n  code *pcStack_1b0;\n  code *pcStack_1ac;\n  int iStack_1a8;\n  double *****pppppdStack_1a4;\n  double *****pppppdStack_1a0;\n  double *****pppppdStack_19c;\n  double *****pppppdStack_198;\n  double *****pppppdStack_194;\n  int iStack_18c;\n  double *****pppppdStack_188;\n  int iStack_184;\n  double *****pppppdStack_180;\n  double *****pppppdStack_17c;\n  double *****pppppdStack_178;\n  code *pcStack_174;\n  undefined4 *puStack_170;\n  double *****pppppdStack_16c;\n  double *****pppppdStack_168;\n  code *pcStack_164;\n  code *pcStack_148;\n  double *****pppppdStack_13c;\n  double ****ppppdStack_138;\n  double *****pppppdStack_134;\n  double ****ppppdStack_130;\n  double *****pppppdStack_12c;\n  int *piStack_128;\n  double *****pppppdStack_124;\n  int iStack_120;\n  int iStack_11c;\n  int *piStack_118;\n  double *****pppppdStack_114;\n  double *****pppppdStack_110;\n  code *pcStack_10c;\n  int iStack_f8;\n  code *pcStack_f0;\n  uint uStack_e8;\n  int iStack_e4;\n  double *****pppppdStack_dc;\n  double *****pppppdStack_d8;\n  double *****pppppdStack_d4;\n  undefined *puStack_d0;\n  double *****pppppdStack_cc;\n  double *****pppppdStack_c8;\n  code *pcStack_c4;\n  undefined *puStack_b0;\n  double *****pppppdStack_a4;\n  double ****ppppdStack_a0;\n  int iStack_9c;\n  double *****pppppdStack_98;\n  double *****pppppdStack_94;\n  double *****pppppdStack_90;\n  undefined *puStack_8c;\n  double *****pppppdStack_88;\n  double *****pppppdStack_84;\n  int iStack_80;\n  double *****pppppdStack_7c;\n  double *****pppppdStack_78;\n  code *pcStack_74;\n  double *****local_3c;\n  double *****local_38;\n  double *****local_34;\n  undefined4 local_30;\n  double *****local_2c;\n  \n  puVar35 = PTR___stack_chk_guard_00190e24;\n  local_3c = (double *****)0x0;\n  local_38 = (double *****)0x0;\n  local_34 = (double *****)0x0;\n  local_30 = 0;\n  local_2c = *(double ******)PTR___stack_chk_guard_00190e24;\n  ppppppdVar17 = param_4;\n  if (param_2 == (double ******)0x0) {\n    ppppppdVar16 = param_3;\n    if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }\nLAB_000b5730:\n  ppppppdVar30 = (double ******)local_38;\n  (*(code *)PTR_sqlite3_free_0019096c)(local_38);\n  if ((double ******)local_2c == *(double *******)puVar35) {\n    return (double ******)local_3c;\n  }\n  pcVar4 = FUN_000b57e0;\n  ppppppdVar15 = (double ******)local_2c;\n  puVar35 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar35 + 0xe3140;\n  piVar31 = *(int **)(puVar35 + 0xdb644);\n  pppppdStack_a4 = (double *****)0x0;\n  iStack_9c = *piVar31;\n  ppppppdVar29 = (double ******)0x0;\n  ppppppdVar14 = param_2;\n  ppppppdVar21 = unaff_s0;\n  ppppppdVar24 = unaff_s2;\n  pppppdStack_98 = (double *****)unaff_s0;\n  pppppdStack_94 = (double *****)unaff_s1;\n  pppppdStack_90 = (double *****)unaff_s2;\n  puStack_8c = unaff_s3;\n  pppppdStack_88 = (double *****)param_3;\n  pppppdStack_84 = (double *****)ppppppdVar30;\n  iStack_80 = unaff_s6;\n  pppppdStack_7c = (double *****)unaff_s7;\n  pppppdStack_78 = (double *****)unaff_s8;\n  pcStack_74 = pcVar4;\n  if (ppppppdVar15[8] != (double *****)0x0) {\n    ppppppdVar21 = ppppppdVar15;\n    if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }\n  }\n  if (iStack_9c == *piVar31) {\n    return ppppppdVar29;\n  }\n  pcVar4 = *(code **)(puStack_b0 + -0x7b28);\n  pcVar36 = FUN_000b5998;\n  iVar5 = iStack_9c;\n  pppppdStack_a4 = (double *****)ppppppdVar29;\n  (*pcVar4)();\n  pcStack_f0 = pcVar4 + 0xe2f88;\n  ppppppdVar29 = (double ******)&DAT_00000009;\n  piVar23 = *(int **)(pcVar4 + 0xdb48c);\n  iVar28 = *(int *)(pcVar4 + 0xdb294);\n  uStack_e8 = 0;\n  iStack_e4 = *piVar23;\n  pppppdStack_dc = (double *****)ppppppdVar21;\n  pppppdStack_d8 = (double *****)unaff_s1;\n  pppppdStack_d4 = (double *****)ppppppdVar24;\n  puStack_d0 = unaff_s3;\n  pppppdStack_cc = (double *****)param_3;\n  pppppdStack_c8 = (double *****)ppppppdVar30;\n  pcStack_c4 = pcVar36;\n  ppppppdVar30 = (double ******)FUN_000b57e0();\n  if (ppppppdVar30 == (double ******)0x0) {\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);\n    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);\n    iVar20 = iVar20 + uStack_e8;\n    if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }\n  }\n  else {\n    pppppdVar10 = (double *****)0x1;\n  }\nLAB_000b5ad4:\n  *ppppppdVar14 = pppppdVar10;\n  if (iStack_e4 == *piVar23) {\n    return ppppppdVar30;\n  }\n  pcVar4 = *(code **)(pcStack_f0 + -0x7b28);\n  pcVar36 = FUN_000b5b8c;\n  iVar20 = iStack_e4;\n  (*pcVar4)();\n  pcStack_148 = pcVar4 + 0xe2d94;\n  ppppppdVar33 = (double ******)&ppppdStack_138;\n  ppppppdVar24 = (double ******)0x0;\n  ppppppdVar21 = (double ******)0x0;\n  puVar32 = *(undefined4 **)(pcVar4 + 0xdb298);\n  pppppdStack_134 = (double *****)*puVar32;\n  ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);\n  pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);\n  ppppppdVar6 = (double ******)0x0;\n  ppppppdVar15 = ppppppdVar29;\n  pppppdStack_13c = (double *****)ppppppdVar16;\n  ppppdStack_130 = (double ****)pppppdVar10;\n  pppppdStack_12c = (double *****)ppppppdVar30;\n  piStack_128 = piVar23;\n  pppppdStack_124 = (double *****)ppppppdVar14;\n  iStack_120 = iVar28 + 0x57e0;\n  iStack_11c = iVar5;\n  piStack_118 = piVar31;\n  pppppdStack_114 = (double *****)unaff_s7;\n  pppppdStack_110 = (double *****)unaff_s8;\n  pcStack_10c = pcVar36;\n  if (0 < (int)ppppppdVar29) {\n    do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));\n  }\nLAB_000b5c24:\n  *pppppdStack_13c = (double ****)ppppppdVar21;\n  if ((double ******)pppppdStack_134 == (double ******)*puVar32) {\n    return ppppppdVar6;\n  }\n  pcVar36 = *(code **)(pcStack_148 + -0x7b28);\n  pcVar37 = FUN_000b5d20;\n  ppppppdVar6 = (double ******)pppppdStack_134;\n  (*pcVar36)();\n  pcStack_1c0 = pcVar36 + 0xe2c00;\n  piVar31 = *(int **)(pcVar36 + 0xdb104);\n  iStack_18c = *piVar31;\n  ppppppdVar14 = ppppppdVar15;\n  ppppppdVar30 = ppppppdVar16;\n  pppppdStack_1b4 = (double *****)ppppppdVar17;\n  pppppdStack_188 = (double *****)ppppppdVar21;\n  iStack_184 = iVar20;\n  pppppdStack_180 = (double *****)ppppppdVar24;\n  pppppdStack_17c = (double *****)ppppppdVar22;\n  pppppdStack_178 = (double *****)ppppppdVar29;\n  pcStack_174 = pcVar4;\n  puStack_170 = puVar32;\n  pppppdStack_16c = (double *****)ppppppdVar33;\n  pppppdStack_168 = (double *****)unaff_s8;\n  pcStack_164 = pcVar37;\n  if (0 < (int)ppppppdVar15) {\n    ppppppdVar21 = (double ******)0x0;\n    pcVar4 = *(code **)(pcVar36 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);\n    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;\n    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);\nLAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;\n    ppppppdVar33 = ppppppdVar21;\n    pcVar36 = pcStack_1c0;\nLAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }\n    ppppppdVar14 = (double ******)&DAT_00000009;\n    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n    pcVar36 = pcStack_1c0;\n    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n    pppppdVar10 = ppppppdVar6[2];\n    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    ppppppdVar6[2] = (double *****)ppppppdVar14;\n    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);\n    if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }\n    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n    ppppppdVar21 = ppppppdVar16;\n    ppppppdVar24 = ppppppdVar15;\n    pcVar36 = pcStack_1c0;\n    unaff_s8 = ppppppdVar6;\n    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  ppppppdVar7 = (double ******)0x0;\n  ppppppdVar16 = ppppppdVar21;\n  ppppppdVar15 = ppppppdVar24;\n  pcVar36 = pcStack_1c0;\n  ppppppdVar6 = unaff_s8;\nLAB_000b5de4:\n  if (iStack_18c == *piVar31) {\n    return ppppppdVar7;\n  }\n  pcVar36 = *(code **)(pcVar36 + -0x7b28);\n  pcVar37 = FUN_000b6188;\n  iVar5 = iStack_18c;\n  (*pcVar36)();\n  piVar23 = *(int **)(pcVar36 + 0xdac9c);\n  iVar28 = *(int *)(iVar5 + 0x5c);\n  iStack_204 = *piVar23;\n  pppppdStack_200 = (double *****)ppppppdVar16;\n  iStack_1fc = iVar20;\n  pppppdStack_1f8 = (double *****)ppppppdVar15;\n  pppppdStack_1f4 = (double *****)ppppppdVar22;\n  pppppdStack_1f0 = (double *****)ppppppdVar29;\n  pcStack_1ec = pcVar4;\n  piStack_1e8 = piVar31;\n  pppppdStack_1e4 = (double *****)ppppppdVar33;\n  pppppdStack_1e0 = (double *****)ppppppdVar6;\n  pcStack_1dc = pcVar37;\n  if (iVar28 != 0) {\n    iVar20 = *(int *)(iVar5 + 0x4c);\n    iVar25 = 0;\n    if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }\n    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);\n  }\n  ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n  *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n  if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n  if (*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)) {\nLAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5);\n  iVar28 = *(int *)(iVar5 + 8);\n  iVar20 = *(int *)(iVar5 + 0xc);\n  iVar25 = *(int *)(pcVar36 + 0xdaa20);\n  *(int *)(iVar5 + 4) = iVar28;\n  *(int *)(iVar5 + 8) = iVar28 + 1;\n  bVar1 = *(byte *)(iVar20 + iVar28);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }\n    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);\n    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar5 + 0x30) = 0;\n    iStack_208 = iStack_208 - iVar28;\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;\n    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;\n    iVar28 = *(int *)(iVar5 + 0x4c) * 8;\n    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);\n    (**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);\n    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n    *(int *)(iVar5 + 0x58) = iVar28;\n    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;\n    ppppppdVar16 = (double ******)pppppdStack_20c;\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;\n    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n    iVar28 = *(int *)(iVar5 + 8);\n    *(int *)(iVar5 + 4) = iVar28;\n    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;\n    iVar20 = *(int *)(iVar5 + 0xc);\n    *(int *)(iVar5 + 8) = iVar28 + 1;\n    bVar1 = *(byte *)(iVar20 + iVar28);\n  }\n  if ((*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c);\n  ppppppdVar16 = (double ******)&DAT_0000000b;\n  *(undefined4 *)(iVar5 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_204 != *piVar23) {\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }\n  return ppppppdVar16;\ncode_r0x000b6070:\n  ppppppdVar30 = *(double *******)pdVar12;\n  ppppppdVar17 = *(double *******)((int)pdVar12 + 4);\n  dVar38 = *pdVar12;\n  uVar3 = *(ushort *)(ppppppdVar24 + 2);\n  ppppppdVar14 = (double ******)(uVar3 & 0x2400);\n  ppppppdVar21 = ppppppdVar34;\n  if (pcVar4 == (code *)0x1) {\n    if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }\n  }\n  else {\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }\n  ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15);\n  ppppppdVar6[2] = ppppppdVar6[2] + 2;\n  if (ppppppdVar29 == (double ******)0x0) {\n    ppppppdVar7 = (double ******)0x0;\n    ppppppdVar33 = ppppppdVar34;\n    pcVar36 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "code cVar2;" type_identifier identifier ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "double ******ppppppdVar6;" primitive_type (pointer_declarator "******ppppppdVar6" * (pointer_declarator "*****ppppppdVar6" * (pointer_declarator "****ppppppdVar6" * (pointer_declarator "***ppppppdVar6" * (pointer_declarator "**ppppppdVar6" * (pointer_declarator "*ppppppdVar6" * identifier)))))) ;) (declaration "double ******ppppppdVar7;" primitive_type (pointer_declarator "******ppppppdVar7" * (pointer_declarator "*****ppppppdVar7" * (pointer_declarator "****ppppppdVar7" * (pointer_declarator "***ppppppdVar7" * (pointer_declarator "**ppppppdVar7" * (pointer_declarator "*ppppppdVar7" * identifier)))))) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "double *****pppppdVar10;" primitive_type (pointer_declarator "*****pppppdVar10" * (pointer_declarator "****pppppdVar10" * (pointer_declarator "***pppppdVar10" * (pointer_declarator "**pppppdVar10" * (pointer_declarator "*pppppdVar10" * identifier))))) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "double *pdVar12;" primitive_type (pointer_declarator "*pdVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "double ******ppppppdVar14;" primitive_type (pointer_declarator "******ppppppdVar14" * (pointer_declarator "*****ppppppdVar14" * (pointer_declarator "****ppppppdVar14" * (pointer_declarator "***ppppppdVar14" * (pointer_declarator "**ppppppdVar14" * (pointer_declarator "*ppppppdVar14" * identifier)))))) ;) (declaration "double ******ppppppdVar15;" primitive_type (pointer_declarator "******ppppppdVar15" * (pointer_declarator "*****ppppppdVar15" * (pointer_declarator "****ppppppdVar15" * (pointer_declarator "***ppppppdVar15" * (pointer_declarator "**ppppppdVar15" * (pointer_declarator "*ppppppdVar15" * identifier)))))) ;) (declaration "double ******ppppppdVar16;" primitive_type (pointer_declarator "******ppppppdVar16" * (pointer_declarator "*****ppppppdVar16" * (pointer_declarator "****ppppppdVar16" * (pointer_declarator "***ppppppdVar16" * (pointer_declarator "**ppppppdVar16" * (pointer_declarator "*ppppppdVar16" * identifier)))))) ;) (declaration "double ******ppppppdVar17;" primitive_type (pointer_declarator "******ppppppdVar17" * (pointer_declarator "*****ppppppdVar17" * (pointer_declarator "****ppppppdVar17" * (pointer_declarator "***ppppppdVar17" * (pointer_declarator "**ppppppdVar17" * (pointer_declarator "*ppppppdVar17" * identifier)))))) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "double ******unaff_s0;" primitive_type (pointer_declarator "******unaff_s0" * (pointer_declarator "*****unaff_s0" * (pointer_declarator "****unaff_s0" * (pointer_declarator "***unaff_s0" * (pointer_declarator "**unaff_s0" * (pointer_declarator "*unaff_s0" * identifier)))))) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "double ******ppppppdVar21;" primitive_type (pointer_declarator "******ppppppdVar21" * (pointer_declarator "*****ppppppdVar21" * (pointer_declarator "****ppppppdVar21" * (pointer_declarator "***ppppppdVar21" * (pointer_declarator "**ppppppdVar21" * (pointer_declarator "*ppppppdVar21" * identifier)))))) ;) (declaration "double ******unaff_s1;" primitive_type (pointer_declarator "******unaff_s1" * (pointer_declarator "*****unaff_s1" * (pointer_declarator "****unaff_s1" * (pointer_declarator "***unaff_s1" * (pointer_declarator "**unaff_s1" * (pointer_declarator "*unaff_s1" * identifier)))))) ;) (declaration "double ******ppppppdVar22;" primitive_type (pointer_declarator "******ppppppdVar22" * (pointer_declarator "*****ppppppdVar22" * (pointer_declarator "****ppppppdVar22" * (pointer_declarator "***ppppppdVar22" * (pointer_declarator "**ppppppdVar22" * (pointer_declarator "*ppppppdVar22" * identifier)))))) ;) (declaration "double ******unaff_s2;" primitive_type (pointer_declarator "******unaff_s2" * (pointer_declarator "*****unaff_s2" * (pointer_declarator "****unaff_s2" * (pointer_declarator "***unaff_s2" * (pointer_declarator "**unaff_s2" * (pointer_declarator "*unaff_s2" * identifier)))))) ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "double ******ppppppdVar24;" primitive_type (pointer_declarator "******ppppppdVar24" * (pointer_declarator "*****ppppppdVar24" * (pointer_declarator "****ppppppdVar24" * (pointer_declarator "***ppppppdVar24" * (pointer_declarator "**ppppppdVar24" * (pointer_declarator "*ppppppdVar24" * identifier)))))) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "undefined *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "double ******ppppppdVar29;" primitive_type (pointer_declarator "******ppppppdVar29" * (pointer_declarator "*****ppppppdVar29" * (pointer_declarator "****ppppppdVar29" * (pointer_declarator "***ppppppdVar29" * (pointer_declarator "**ppppppdVar29" * (pointer_declarator "*ppppppdVar29" * identifier)))))) ;) (declaration "double ******ppppppdVar30;" primitive_type (pointer_declarator "******ppppppdVar30" * (pointer_declarator "*****ppppppdVar30" * (pointer_declarator "****ppppppdVar30" * (pointer_declarator "***ppppppdVar30" * (pointer_declarator "**ppppppdVar30" * (pointer_declarator "*ppppppdVar30" * identifier)))))) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "int *piVar31;" primitive_type (pointer_declarator "*piVar31" * identifier) ;) (declaration "undefined4 *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "double ******unaff_s7;" primitive_type (pointer_declarator "******unaff_s7" * (pointer_declarator "*****unaff_s7" * (pointer_declarator "****unaff_s7" * (pointer_declarator "***unaff_s7" * (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier)))))) ;) (declaration "double ******ppppppdVar33;" primitive_type (pointer_declarator "******ppppppdVar33" * (pointer_declarator "*****ppppppdVar33" * (pointer_declarator "****ppppppdVar33" * (pointer_declarator "***ppppppdVar33" * (pointer_declarator "**ppppppdVar33" * (pointer_declarator "*ppppppdVar33" * identifier)))))) ;) (declaration "double ******ppppppdVar34;" primitive_type (pointer_declarator "******ppppppdVar34" * (pointer_declarator "*****ppppppdVar34" * (pointer_declarator "****ppppppdVar34" * (pointer_declarator "***ppppppdVar34" * (pointer_declarator "**ppppppdVar34" * (pointer_declarator "*ppppppdVar34" * identifier)))))) ;) (declaration "undefined *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "double ******unaff_s8;" primitive_type (pointer_declarator "******unaff_s8" * (pointer_declarator "*****unaff_s8" * (pointer_declarator "****unaff_s8" * (pointer_declarator "***unaff_s8" * (pointer_declarator "**unaff_s8" * (pointer_declarator "*unaff_s8" * identifier)))))) ;) (declaration "code *pcVar36;" type_identifier (pointer_declarator "*pcVar36" * identifier) ;) (declaration "code *pcVar37;" type_identifier (pointer_declarator "*pcVar37" * identifier) ;) (declaration "double dVar38;" primitive_type identifier ;) (declaration "double *****pppppdStack_20c;" primitive_type (pointer_declarator "*****pppppdStack_20c" * (pointer_declarator "****pppppdStack_20c" * (pointer_declarator "***pppppdStack_20c" * (pointer_declarator "**pppppdStack_20c" * (pointer_declarator "*pppppdStack_20c" * identifier))))) ;) (declaration "int iStack_208;" primitive_type identifier ;) (declaration "int iStack_204;" primitive_type identifier ;) (declaration "double *****pppppdStack_200;" primitive_type (pointer_declarator "*****pppppdStack_200" * (pointer_declarator "****pppppdStack_200" * (pointer_declarator "***pppppdStack_200" * (pointer_declarator "**pppppdStack_200" * (pointer_declarator "*pppppdStack_200" * identifier))))) ;) (declaration "int iStack_1fc;" primitive_type identifier ;) (declaration "double *****pppppdStack_1f8;" primitive_type (pointer_declarator "*****pppppdStack_1f8" * (pointer_declarator "****pppppdStack_1f8" * (pointer_declarator "***pppppdStack_1f8" * (pointer_declarator "**pppppdStack_1f8" * (pointer_declarator "*pppppdStack_1f8" * identifier))))) ;) (declaration "double *****pppppdStack_1f4;" primitive_type (pointer_declarator "*****pppppdStack_1f4" * (pointer_declarator "****pppppdStack_1f4" * (pointer_declarator "***pppppdStack_1f4" * (pointer_declarator "**pppppdStack_1f4" * (pointer_declarator "*pppppdStack_1f4" * identifier))))) ;) (declaration "double *****pppppdStack_1f0;" primitive_type (pointer_declarator "*****pppppdStack_1f0" * (pointer_declarator "****pppppdStack_1f0" * (pointer_declarator "***pppppdStack_1f0" * (pointer_declarator "**pppppdStack_1f0" * (pointer_declarator "*pppppdStack_1f0" * identifier))))) ;) (declaration "code *pcStack_1ec;" type_identifier (pointer_declarator "*pcStack_1ec" * identifier) ;) (declaration "int *piStack_1e8;" primitive_type (pointer_declarator "*piStack_1e8" * identifier) ;) (declaration "double *****pppppdStack_1e4;" primitive_type (pointer_declarator "*****pppppdStack_1e4" * (pointer_declarator "****pppppdStack_1e4" * (pointer_declarator "***pppppdStack_1e4" * (pointer_declarator "**pppppdStack_1e4" * (pointer_declarator "*pppppdStack_1e4" * identifier))))) ;) (declaration "double *****pppppdStack_1e0;" primitive_type (pointer_declarator "*****pppppdStack_1e0" * (pointer_declarator "****pppppdStack_1e0" * (pointer_declarator "***pppppdStack_1e0" * (pointer_declarator "**pppppdStack_1e0" * (pointer_declarator "*pppppdStack_1e0" * identifier))))) ;) (declaration "code *pcStack_1dc;" type_identifier (pointer_declarator "*pcStack_1dc" * identifier) ;) (declaration "int iStack_1c8;" primitive_type identifier ;) (declaration "code *pcStack_1c0;" type_identifier (pointer_declarator "*pcStack_1c0" * identifier) ;) (declaration "double *****pppppdStack_1b4;" primitive_type (pointer_declarator "*****pppppdStack_1b4" * (pointer_declarator "****pppppdStack_1b4" * (pointer_declarator "***pppppdStack_1b4" * (pointer_declarator "**pppppdStack_1b4" * (pointer_declarator "*pppppdStack_1b4" * identifier))))) ;) (declaration "code *pcStack_1b0;" type_identifier (pointer_declarator "*pcStack_1b0" * identifier) ;) (declaration "code *pcStack_1ac;" type_identifier (pointer_declarator "*pcStack_1ac" * identifier) ;) (declaration "int iStack_1a8;" primitive_type identifier ;) (declaration "double *****pppppdStack_1a4;" primitive_type (pointer_declarator "*****pppppdStack_1a4" * (pointer_declarator "****pppppdStack_1a4" * (pointer_declarator "***pppppdStack_1a4" * (pointer_declarator "**pppppdStack_1a4" * (pointer_declarator "*pppppdStack_1a4" * identifier))))) ;) (declaration "double *****pppppdStack_1a0;" primitive_type (pointer_declarator "*****pppppdStack_1a0" * (pointer_declarator "****pppppdStack_1a0" * (pointer_declarator "***pppppdStack_1a0" * (pointer_declarator "**pppppdStack_1a0" * (pointer_declarator "*pppppdStack_1a0" * identifier))))) ;) (declaration "double *****pppppdStack_19c;" primitive_type (pointer_declarator "*****pppppdStack_19c" * (pointer_declarator "****pppppdStack_19c" * (pointer_declarator "***pppppdStack_19c" * (pointer_declarator "**pppppdStack_19c" * (pointer_declarator "*pppppdStack_19c" * identifier))))) ;) (declaration "double *****pppppdStack_198;" primitive_type (pointer_declarator "*****pppppdStack_198" * (pointer_declarator "****pppppdStack_198" * (pointer_declarator "***pppppdStack_198" * (pointer_declarator "**pppppdStack_198" * (pointer_declarator "*pppppdStack_198" * identifier))))) ;) (declaration "double *****pppppdStack_194;" primitive_type (pointer_declarator "*****pppppdStack_194" * (pointer_declarator "****pppppdStack_194" * (pointer_declarator "***pppppdStack_194" * (pointer_declarator "**pppppdStack_194" * (pointer_declarator "*pppppdStack_194" * identifier))))) ;) (declaration "int iStack_18c;" primitive_type identifier ;) (declaration "double *****pppppdStack_188;" primitive_type (pointer_declarator "*****pppppdStack_188" * (pointer_declarator "****pppppdStack_188" * (pointer_declarator "***pppppdStack_188" * (pointer_declarator "**pppppdStack_188" * (pointer_declarator "*pppppdStack_188" * identifier))))) ;) (declaration "int iStack_184;" primitive_type identifier ;) (declaration "double *****pppppdStack_180;" primitive_type (pointer_declarator "*****pppppdStack_180" * (pointer_declarator "****pppppdStack_180" * (pointer_declarator "***pppppdStack_180" * (pointer_declarator "**pppppdStack_180" * (pointer_declarator "*pppppdStack_180" * identifier))))) ;) (declaration "double *****pppppdStack_17c;" primitive_type (pointer_declarator "*****pppppdStack_17c" * (pointer_declarator "****pppppdStack_17c" * (pointer_declarator "***pppppdStack_17c" * (pointer_declarator "**pppppdStack_17c" * (pointer_declarator "*pppppdStack_17c" * identifier))))) ;) (declaration "double *****pppppdStack_178;" primitive_type (pointer_declarator "*****pppppdStack_178" * (pointer_declarator "****pppppdStack_178" * (pointer_declarator "***pppppdStack_178" * (pointer_declarator "**pppppdStack_178" * (pointer_declarator "*pppppdStack_178" * identifier))))) ;) (declaration "code *pcStack_174;" type_identifier (pointer_declarator "*pcStack_174" * identifier) ;) (declaration "undefined4 *puStack_170;" type_identifier (pointer_declarator "*puStack_170" * identifier) ;) (declaration "double *****pppppdStack_16c;" primitive_type (pointer_declarator "*****pppppdStack_16c" * (pointer_declarator "****pppppdStack_16c" * (pointer_declarator "***pppppdStack_16c" * (pointer_declarator "**pppppdStack_16c" * (pointer_declarator "*pppppdStack_16c" * identifier))))) ;) (declaration "double *****pppppdStack_168;" primitive_type (pointer_declarator "*****pppppdStack_168" * (pointer_declarator "****pppppdStack_168" * (pointer_declarator "***pppppdStack_168" * (pointer_declarator "**pppppdStack_168" * (pointer_declarator "*pppppdStack_168" * identifier))))) ;) (declaration "code *pcStack_164;" type_identifier (pointer_declarator "*pcStack_164" * identifier) ;) (declaration "code *pcStack_148;" type_identifier (pointer_declarator "*pcStack_148" * identifier) ;) (declaration "double *****pppppdStack_13c;" primitive_type (pointer_declarator "*****pppppdStack_13c" * (pointer_declarator "****pppppdStack_13c" * (pointer_declarator "***pppppdStack_13c" * (pointer_declarator "**pppppdStack_13c" * (pointer_declarator "*pppppdStack_13c" * identifier))))) ;) (declaration "double ****ppppdStack_138;" primitive_type (pointer_declarator "****ppppdStack_138" * (pointer_declarator "***ppppdStack_138" * (pointer_declarator "**ppppdStack_138" * (pointer_declarator "*ppppdStack_138" * identifier)))) ;) (declaration "double *****pppppdStack_134;" primitive_type (pointer_declarator "*****pppppdStack_134" * (pointer_declarator "****pppppdStack_134" * (pointer_declarator "***pppppdStack_134" * (pointer_declarator "**pppppdStack_134" * (pointer_declarator "*pppppdStack_134" * identifier))))) ;) (declaration "double ****ppppdStack_130;" primitive_type (pointer_declarator "****ppppdStack_130" * (pointer_declarator "***ppppdStack_130" * (pointer_declarator "**ppppdStack_130" * (pointer_declarator "*ppppdStack_130" * identifier)))) ;) (declaration "double *****pppppdStack_12c;" primitive_type (pointer_declarator "*****pppppdStack_12c" * (pointer_declarator "****pppppdStack_12c" * (pointer_declarator "***pppppdStack_12c" * (pointer_declarator "**pppppdStack_12c" * (pointer_declarator "*pppppdStack_12c" * identifier))))) ;) (declaration "int *piStack_128;" primitive_type (pointer_declarator "*piStack_128" * identifier) ;) (declaration "double *****pppppdStack_124;" primitive_type (pointer_declarator "*****pppppdStack_124" * (pointer_declarator "****pppppdStack_124" * (pointer_declarator "***pppppdStack_124" * (pointer_declarator "**pppppdStack_124" * (pointer_declarator "*pppppdStack_124" * identifier))))) ;) (declaration "int iStack_120;" primitive_type identifier ;) (declaration "int iStack_11c;" primitive_type identifier ;) (declaration "int *piStack_118;" primitive_type (pointer_declarator "*piStack_118" * identifier) ;) (declaration "double *****pppppdStack_114;" primitive_type (pointer_declarator "*****pppppdStack_114" * (pointer_declarator "****pppppdStack_114" * (pointer_declarator "***pppppdStack_114" * (pointer_declarator "**pppppdStack_114" * (pointer_declarator "*pppppdStack_114" * identifier))))) ;) (declaration "double *****pppppdStack_110;" primitive_type (pointer_declarator "*****pppppdStack_110" * (pointer_declarator "****pppppdStack_110" * (pointer_declarator "***pppppdStack_110" * (pointer_declarator "**pppppdStack_110" * (pointer_declarator "*pppppdStack_110" * identifier))))) ;) (declaration "code *pcStack_10c;" type_identifier (pointer_declarator "*pcStack_10c" * identifier) ;) (declaration "int iStack_f8;" primitive_type identifier ;) (declaration "code *pcStack_f0;" type_identifier (pointer_declarator "*pcStack_f0" * identifier) ;) (declaration "uint uStack_e8;" type_identifier identifier ;) (declaration "int iStack_e4;" primitive_type identifier ;) (declaration "double *****pppppdStack_dc;" primitive_type (pointer_declarator "*****pppppdStack_dc" * (pointer_declarator "****pppppdStack_dc" * (pointer_declarator "***pppppdStack_dc" * (pointer_declarator "**pppppdStack_dc" * (pointer_declarator "*pppppdStack_dc" * identifier))))) ;) (declaration "double *****pppppdStack_d8;" primitive_type (pointer_declarator "*****pppppdStack_d8" * (pointer_declarator "****pppppdStack_d8" * (pointer_declarator "***pppppdStack_d8" * (pointer_declarator "**pppppdStack_d8" * (pointer_declarator "*pppppdStack_d8" * identifier))))) ;) (declaration "double *****pppppdStack_d4;" primitive_type (pointer_declarator "*****pppppdStack_d4" * (pointer_declarator "****pppppdStack_d4" * (pointer_declarator "***pppppdStack_d4" * (pointer_declarator "**pppppdStack_d4" * (pointer_declarator "*pppppdStack_d4" * identifier))))) ;) (declaration "undefined *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "double *****pppppdStack_cc;" primitive_type (pointer_declarator "*****pppppdStack_cc" * (pointer_declarator "****pppppdStack_cc" * (pointer_declarator "***pppppdStack_cc" * (pointer_declarator "**pppppdStack_cc" * (pointer_declarator "*pppppdStack_cc" * identifier))))) ;) (declaration "double *****pppppdStack_c8;" primitive_type (pointer_declarator "*****pppppdStack_c8" * (pointer_declarator "****pppppdStack_c8" * (pointer_declarator "***pppppdStack_c8" * (pointer_declarator "**pppppdStack_c8" * (pointer_declarator "*pppppdStack_c8" * identifier))))) ;) (declaration "code *pcStack_c4;" type_identifier (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "undefined *puStack_b0;" type_identifier (pointer_declarator "*puStack_b0" * identifier) ;) (declaration "double *****pppppdStack_a4;" primitive_type (pointer_declarator "*****pppppdStack_a4" * (pointer_declarator "****pppppdStack_a4" * (pointer_declarator "***pppppdStack_a4" * (pointer_declarator "**pppppdStack_a4" * (pointer_declarator "*pppppdStack_a4" * identifier))))) ;) (declaration "double ****ppppdStack_a0;" primitive_type (pointer_declarator "****ppppdStack_a0" * (pointer_declarator "***ppppdStack_a0" * (pointer_declarator "**ppppdStack_a0" * (pointer_declarator "*ppppdStack_a0" * identifier)))) ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "double *****pppppdStack_98;" primitive_type (pointer_declarator "*****pppppdStack_98" * (pointer_declarator "****pppppdStack_98" * (pointer_declarator "***pppppdStack_98" * (pointer_declarator "**pppppdStack_98" * (pointer_declarator "*pppppdStack_98" * identifier))))) ;) (declaration "double *****pppppdStack_94;" primitive_type (pointer_declarator "*****pppppdStack_94" * (pointer_declarator "****pppppdStack_94" * (pointer_declarator "***pppppdStack_94" * (pointer_declarator "**pppppdStack_94" * (pointer_declarator "*pppppdStack_94" * identifier))))) ;) (declaration "double *****pppppdStack_90;" primitive_type (pointer_declarator "*****pppppdStack_90" * (pointer_declarator "****pppppdStack_90" * (pointer_declarator "***pppppdStack_90" * (pointer_declarator "**pppppdStack_90" * (pointer_declarator "*pppppdStack_90" * identifier))))) ;) (declaration "undefined *puStack_8c;" type_identifier (pointer_declarator "*puStack_8c" * identifier) ;) (declaration "double *****pppppdStack_88;" primitive_type (pointer_declarator "*****pppppdStack_88" * (pointer_declarator "****pppppdStack_88" * (pointer_declarator "***pppppdStack_88" * (pointer_declarator "**pppppdStack_88" * (pointer_declarator "*pppppdStack_88" * identifier))))) ;) (declaration "double *****pppppdStack_84;" primitive_type (pointer_declarator "*****pppppdStack_84" * (pointer_declarator "****pppppdStack_84" * (pointer_declarator "***pppppdStack_84" * (pointer_declarator "**pppppdStack_84" * (pointer_declarator "*pppppdStack_84" * identifier))))) ;) (declaration "int iStack_80;" primitive_type identifier ;) (declaration "double *****pppppdStack_7c;" primitive_type (pointer_declarator "*****pppppdStack_7c" * (pointer_declarator "****pppppdStack_7c" * (pointer_declarator "***pppppdStack_7c" * (pointer_declarator "**pppppdStack_7c" * (pointer_declarator "*pppppdStack_7c" * identifier))))) ;) (declaration "double *****pppppdStack_78;" primitive_type (pointer_declarator "*****pppppdStack_78" * (pointer_declarator "****pppppdStack_78" * (pointer_declarator "***pppppdStack_78" * (pointer_declarator "**pppppdStack_78" * (pointer_declarator "*pppppdStack_78" * identifier))))) ;) (declaration "code *pcStack_74;" type_identifier (pointer_declarator "*pcStack_74" * identifier) ;) (declaration "double *****local_3c;" primitive_type (pointer_declarator "*****local_3c" * (pointer_declarator "****local_3c" * (pointer_declarator "***local_3c" * (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier))))) ;) (declaration "double *****local_38;" primitive_type (pointer_declarator "*****local_38" * (pointer_declarator "****local_38" * (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier))))) ;) (declaration "double *****local_34;" primitive_type (pointer_declarator "*****local_34" * (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier))))) ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "double *****local_2c;" primitive_type (pointer_declarator "*****local_2c" * (pointer_declarator "****local_2c" * (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier))))) ;) (expression_statement "puVar35 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar35 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "local_3c = (double *****)0x0;" (assignment_expression "local_3c = (double *****)0x0" identifier = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_38 = (double *****)0x0;" (assignment_expression "local_38 = (double *****)0x0" identifier = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_34 = (double *****)0x0;" (assignment_expression "local_34 = (double *****)0x0" identifier = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_2c = *(double ******)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(double ******)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(double ******)PTR___stack_chk_guard_00190e24" * (cast_expression "(double ******)PTR___stack_chk_guard_00190e24" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier))) ;) (expression_statement "ppppppdVar17 = param_4;" (assignment_expression "ppppppdVar17 = param_4" identifier = identifier) ;) (if_statement "if (param_2 == (double ******)0x0) {\n    ppppppdVar16 = param_3;\n    if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }" if (parenthesized_expression "(param_2 == (double ******)0x0)" ( (binary_expression "param_2 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    ppppppdVar16 = param_3;\n    if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }\n  }" { (expression_statement "ppppppdVar16 = param_3;" (assignment_expression "ppppppdVar16 = param_3" identifier = identifier) ;) (if_statement "if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }" if (parenthesized_expression "(param_3 == (double ******)0x0)" ( (binary_expression "param_3 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }" { (expression_statement "ppppppdVar30 = (double ******)0x0;" (assignment_expression "ppppppdVar30 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (goto_statement "goto LAB_000b57b8;" goto statement_identifier ;) })) }) (else_clause "else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }" else (compound_statement "{\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }" { (expression_statement "pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290)" identifier = (cast_expression "(code *)(PTR_LAB_00190c2c + 0x5290)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + 0x5290)" ( (binary_expression "PTR_LAB_00190c2c + 0x5290" identifier + number_literal) )))) ;) (expression_statement "unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);" (assignment_expression "unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224)" identifier = (cast_expression "(double ******)(PTR_LAB_00190c2c + 0x5224)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(PTR_LAB_00190c2c + 0x5224)" ( (binary_expression "PTR_LAB_00190c2c + 0x5224" identifier + number_literal) )))) ;) (expression_statement "unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;" (assignment_expression "unaff_s3 = PTR_LAB_00190c2c + 0x4ef4" identifier = (binary_expression "PTR_LAB_00190c2c + 0x4ef4" identifier + number_literal)) ;) (expression_statement "ppppppdVar15 = param_3;" (assignment_expression "ppppppdVar15 = param_3" identifier = identifier) ;) (expression_statement "ppppppdVar29 = param_2;" (assignment_expression "ppppppdVar29 = param_2" identifier = identifier) ;) (do_statement "do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);" do (compound_statement "{\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    }" { (if_statement "if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }" if (parenthesized_expression "(ppppppdVar29[6] == (double *****)0x0)" ( (binary_expression "ppppppdVar29[6] == (double *****)0x0" (subscript_expression "ppppppdVar29[6]" identifier [ number_literal ]) == (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }" { (labeled_statement "LAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;" statement_identifier : (expression_statement "ppppppdVar29 = (double ******)*ppppppdVar29;" (assignment_expression "ppppppdVar29 = (double ******)*ppppppdVar29" identifier = (cast_expression "(double ******)*ppppppdVar29" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppdVar29" * identifier))) ;)) (expression_statement "ppppppdVar16 = ppppppdVar15;" (assignment_expression "ppppppdVar16 = ppppppdVar15" identifier = identifier) ;) (expression_statement "ppppppdVar30 = (double ******)local_38;" (assignment_expression "ppppppdVar30 = (double ******)local_38" identifier = (cast_expression "(double ******)local_38" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar15 = (double ******)local_34;" (assignment_expression "ppppppdVar15 = (double ******)local_34" identifier = (cast_expression "(double ******)local_34" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }) (else_clause "else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }" else (compound_statement "{\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }" { (expression_statement "unaff_s0 = &local_3c;" (assignment_expression "unaff_s0 = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "unaff_s1 = &local_38;" (assignment_expression "unaff_s1 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "param_2 = (double ******)*param_1;" (assignment_expression "param_2 = (double ******)*param_1" identifier = (cast_expression "(double ******)*param_1" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*param_1" * identifier))) ;) (expression_statement "ppppppdVar15 = ppppppdVar29;" (assignment_expression "ppppppdVar15 = ppppppdVar29" identifier = identifier) ;) (expression_statement "ppppppdVar17 = unaff_s0;" (assignment_expression "ppppppdVar17 = unaff_s0" identifier = identifier) ;) (expression_statement "(*pcVar4)(unaff_s1);" (call_expression "(*pcVar4)(unaff_s1)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (expression_statement "puVar26 = PTR_DAT_00190948;" (assignment_expression "puVar26 = PTR_DAT_00190948" identifier = identifier) ;) (expression_statement "pppppdVar10 = ppppppdVar29[7];" (assignment_expression "pppppdVar10 = ppppppdVar29[7]" identifier = (subscript_expression "ppppppdVar29[7]" identifier [ number_literal ])) ;) (if_statement "if ((int)pppppdVar10 < 1) goto LAB_000b5618;" if (parenthesized_expression "((int)pppppdVar10 < 1)" ( (binary_expression "(int)pppppdVar10 < 1" (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_000b5618;" goto statement_identifier ;)) (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" identifier = number_literal) ;) (do_statement "do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);" do (compound_statement "{\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        }" { (expression_statement "unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];" (assignment_expression "unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6]" identifier = (cast_expression "(double ******)ppppppdVar29[8][unaff_s6]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppdVar29[8][unaff_s6]" (subscript_expression "ppppppdVar29[8]" identifier [ number_literal ]) [ identifier ]))) ;) (if_statement "if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }" if (parenthesized_expression "(unaff_s8 != (double ******)0x0)" ( (binary_expression "unaff_s8 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }" { (do_statement "do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);" do (compound_statement "{\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            }" { (expression_statement "FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);" (call_expression "FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0)" identifier (argument_list "(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0)" ( identifier , (pointer_expression "*(code *)((int)unaff_s8 + 3)" * (cast_expression "(code *)((int)unaff_s8 + 3)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + 3)" ( (binary_expression "(int)unaff_s8 + 3" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier ))) ;) (expression_statement "FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);" (call_expression "FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0)" identifier (argument_list "(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0)" ( identifier , (pointer_expression "*(code *)((int)unaff_s8 + 7)" * (cast_expression "(code *)((int)unaff_s8 + 7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + 7)" ( (binary_expression "(int)unaff_s8 + 7" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier ))) ;) (expression_statement "ppppppdVar15 = (double ******)unaff_s8[2];" (assignment_expression "ppppppdVar15 = (double ******)unaff_s8[2]" identifier = (cast_expression "(double ******)unaff_s8[2]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "unaff_s8[2]" identifier [ number_literal ]))) ;) (expression_statement "param_2 = (double ******)unaff_s8[3];" (assignment_expression "param_2 = (double ******)unaff_s8[3]" identifier = (cast_expression "(double ******)unaff_s8[3]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "unaff_s8[3]" identifier [ number_literal ]))) ;) (expression_statement "ppppppdVar17 = unaff_s0;" (assignment_expression "ppppppdVar17 = unaff_s0" identifier = identifier) ;) (expression_statement "FUN_000b4ef4(unaff_s1);" (call_expression "FUN_000b4ef4(unaff_s1)" identifier (argument_list "(unaff_s1)" ( identifier ))) ;) (if_statement "if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }" if (parenthesized_expression "((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34))" ( (binary_expression "(((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)" (parenthesized_expression "(((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0))" ( (binary_expression "((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)" (parenthesized_expression "((double ******)local_3c == (double ******)0x0)" ( (binary_expression "(double ******)local_3c == (double ******)0x0" (cast_expression "(double ******)local_3c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) && (parenthesized_expression "(ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)" ( (comma_expression "ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0" (assignment_expression "ppppppdVar15 = (double ******)local_34" identifier = (cast_expression "(double ******)local_34" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) , (binary_expression "param_3 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) ))) )) && (parenthesized_expression "(param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)" ( (comma_expression "param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34" (assignment_expression "param_2 = (double ******)local_38" identifier = (cast_expression "(double ******)local_38" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) , (binary_expression "*(int *)(puVar26 + -0xba0) <= (int)local_34" (pointer_expression "*(int *)(puVar26 + -0xba0)" * (cast_expression "(int *)(puVar26 + -0xba0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0xba0)" ( (binary_expression "puVar26 + -0xba0" identifier + number_literal) )))) <= (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }" { (expression_statement "local_3c = (double *****)(*(code *)param_3)(param_4);" (assignment_expression "local_3c = (double *****)(*(code *)param_3)(param_4)" identifier = (cast_expression "(double *****)(*(code *)param_3)(param_4)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)param_3)(param_4)" (parenthesized_expression "(*(code *)param_3)" ( (pointer_expression "*(code *)param_3" * (cast_expression "(code *)param_3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4)" ( identifier ))))) ;) (expression_statement "local_34 = (double *****)0x0;" (assignment_expression "local_34 = (double *****)0x0" identifier = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) })) (expression_statement "unaff_s8 = (double ******)unaff_s8[4];" (assignment_expression "unaff_s8 = (double ******)unaff_s8[4]" identifier = (cast_expression "(double ******)unaff_s8[4]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "unaff_s8[4]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(unaff_s8 != (double ******)0x0)" ( (binary_expression "unaff_s8 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) ;) (expression_statement "pppppdVar10 = ppppppdVar29[7];" (assignment_expression "pppppdVar10 = ppppppdVar29[7]" identifier = (subscript_expression "ppppppdVar29[7]" identifier [ number_literal ])) ;) (expression_statement "unaff_s8 = (double ******)0x0;" (assignment_expression "unaff_s8 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) })) (expression_statement "unaff_s6 = unaff_s6 + 1;" (assignment_expression "unaff_s6 = unaff_s6 + 1" identifier = (binary_expression "unaff_s6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(unaff_s6 < (int)pppppdVar10)" ( (binary_expression "unaff_s6 < (int)pppppdVar10" identifier < (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "ppppppdVar29 = (double ******)*ppppppdVar29;" (assignment_expression "ppppppdVar29 = (double ******)*ppppppdVar29" identifier = (cast_expression "(double ******)*ppppppdVar29" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppdVar29" * identifier))) ;) (expression_statement "ppppppdVar16 = ppppppdVar15;" (assignment_expression "ppppppdVar16 = ppppppdVar15" identifier = identifier) ;) (expression_statement "ppppppdVar30 = (double ******)local_38;" (assignment_expression "ppppppdVar30 = (double ******)local_38" identifier = (cast_expression "(double ******)local_38" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar15 = (double ******)local_34;" (assignment_expression "ppppppdVar15 = (double ******)local_34" identifier = (cast_expression "(double ******)local_34" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "unaff_s7 = (double ******)puVar26;" (assignment_expression "unaff_s7 = (double ******)puVar26" identifier = (cast_expression "(double ******)puVar26" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }))) (expression_statement "local_38 = (double *****)ppppppdVar30;" (assignment_expression "local_38 = (double *****)ppppppdVar30" identifier = (cast_expression "(double *****)ppppppdVar30" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "local_34 = (double *****)ppppppdVar15;" (assignment_expression "local_34 = (double *****)ppppppdVar15" identifier = (cast_expression "(double *****)ppppppdVar15" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;" if (parenthesized_expression "((double ******)local_3c != (double ******)0x0)" ( (binary_expression "(double ******)local_3c != (double ******)0x0" (cast_expression "(double ******)local_3c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b5730;" goto statement_identifier ;)) }) while (parenthesized_expression "(ppppppdVar29 != (double ******)0x0)" ( (binary_expression "ppppppdVar29 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) ;) (if_statement "if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }" if (parenthesized_expression "(param_3 == (double ******)0x0)" ( (binary_expression "param_3 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }" { (labeled_statement "LAB_000b57b8:\n      local_38 = (double *****)0x0;" statement_identifier : (expression_statement "local_38 = (double *****)0x0;" (assignment_expression "local_38 = (double *****)0x0" identifier = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;)) (expression_statement "*param_6 = ppppppdVar30;" (assignment_expression "*param_6 = ppppppdVar30" (pointer_expression "*param_6" * identifier) = identifier) ;) (expression_statement "*param_5 = local_34;" (assignment_expression "*param_5 = local_34" (pointer_expression "*param_5" * identifier) = identifier) ;) (expression_statement "ppppppdVar16 = (double ******)local_34;" (assignment_expression "ppppppdVar16 = (double ******)local_34" identifier = (cast_expression "(double ******)local_34" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }) (else_clause "else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }" else (compound_statement "{\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }" { (expression_statement "ppppppdVar16 = ppppppdVar15;" (assignment_expression "ppppppdVar16 = ppppppdVar15" identifier = identifier) ;) (if_statement "if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }" if (parenthesized_expression "(0 < (int)ppppppdVar15)" ( (binary_expression "0 < (int)ppppppdVar15" number_literal < (cast_expression "(int)ppppppdVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }" { (expression_statement "local_3c = (double *****)(*(code *)param_3)(param_4);" (assignment_expression "local_3c = (double *****)(*(code *)param_3)(param_4)" identifier = (cast_expression "(double *****)(*(code *)param_3)(param_4)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)param_3)(param_4)" (parenthesized_expression "(*(code *)param_3)" ( (pointer_expression "*(code *)param_3" * (cast_expression "(code *)param_3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4)" ( identifier ))))) ;) (expression_statement "param_2 = ppppppdVar30;" (assignment_expression "param_2 = ppppppdVar30" identifier = identifier) ;) (expression_statement "ppppppdVar16 = ppppppdVar15;" (assignment_expression "ppppppdVar16 = ppppppdVar15" identifier = identifier) ;) })) }))) }))) (labeled_statement "LAB_000b5730:\n  ppppppdVar30 = (double ******)local_38;" statement_identifier : (expression_statement "ppppppdVar30 = (double ******)local_38;" (assignment_expression "ppppppdVar30 = (double ******)local_38" identifier = (cast_expression "(double ******)local_38" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;)) (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)(local_38);" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)(local_38)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" * (cast_expression "(code *)PTR_sqlite3_free_0019096c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_38)" ( identifier ))) ;) (if_statement "if ((double ******)local_2c == *(double *******)puVar35) {\n    return (double ******)local_3c;\n  }" if (parenthesized_expression "((double ******)local_2c == *(double *******)puVar35)" ( (binary_expression "(double ******)local_2c == *(double *******)puVar35" (cast_expression "(double ******)local_2c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (pointer_expression "*(double *******)puVar35" * (cast_expression "(double *******)puVar35" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) (compound_statement "{\n    return (double ******)local_3c;\n  }" { (return_statement "return (double ******)local_3c;" return (cast_expression "(double ******)local_3c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) ;) })) (expression_statement "pcVar4 = FUN_000b57e0;" (assignment_expression "pcVar4 = FUN_000b57e0" identifier = identifier) ;) (expression_statement "ppppppdVar15 = (double ******)local_2c;" (assignment_expression "ppppppdVar15 = (double ******)local_2c" identifier = (cast_expression "(double ******)local_2c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "puVar35 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar35 = 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_b0 = puVar35 + 0xe3140;" (assignment_expression "puStack_b0 = puVar35 + 0xe3140" identifier = (binary_expression "puVar35 + 0xe3140" identifier + number_literal)) ;) (expression_statement "piVar31 = *(int **)(puVar35 + 0xdb644);" (assignment_expression "piVar31 = *(int **)(puVar35 + 0xdb644)" identifier = (pointer_expression "*(int **)(puVar35 + 0xdb644)" * (cast_expression "(int **)(puVar35 + 0xdb644)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + 0xdb644)" ( (binary_expression "puVar35 + 0xdb644" identifier + number_literal) ))))) ;) (expression_statement "pppppdStack_a4 = (double *****)0x0;" (assignment_expression "pppppdStack_a4 = (double *****)0x0" identifier = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iStack_9c = *piVar31;" (assignment_expression "iStack_9c = *piVar31" identifier = (pointer_expression "*piVar31" * identifier)) ;) (expression_statement "ppppppdVar29 = (double ******)0x0;" (assignment_expression "ppppppdVar29 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppdVar14 = param_2;" (assignment_expression "ppppppdVar14 = param_2" identifier = identifier) ;) (expression_statement "ppppppdVar21 = unaff_s0;" (assignment_expression "ppppppdVar21 = unaff_s0" identifier = identifier) ;) (expression_statement "ppppppdVar24 = unaff_s2;" (assignment_expression "ppppppdVar24 = unaff_s2" identifier = identifier) ;) (expression_statement "pppppdStack_98 = (double *****)unaff_s0;" (assignment_expression "pppppdStack_98 = (double *****)unaff_s0" identifier = (cast_expression "(double *****)unaff_s0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_94 = (double *****)unaff_s1;" (assignment_expression "pppppdStack_94 = (double *****)unaff_s1" identifier = (cast_expression "(double *****)unaff_s1" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_90 = (double *****)unaff_s2;" (assignment_expression "pppppdStack_90 = (double *****)unaff_s2" identifier = (cast_expression "(double *****)unaff_s2" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "puStack_8c = unaff_s3;" (assignment_expression "puStack_8c = unaff_s3" identifier = identifier) ;) (expression_statement "pppppdStack_88 = (double *****)param_3;" (assignment_expression "pppppdStack_88 = (double *****)param_3" identifier = (cast_expression "(double *****)param_3" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_84 = (double *****)ppppppdVar30;" (assignment_expression "pppppdStack_84 = (double *****)ppppppdVar30" identifier = (cast_expression "(double *****)ppppppdVar30" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iStack_80 = unaff_s6;" (assignment_expression "iStack_80 = unaff_s6" identifier = identifier) ;) (expression_statement "pppppdStack_7c = (double *****)unaff_s7;" (assignment_expression "pppppdStack_7c = (double *****)unaff_s7" identifier = (cast_expression "(double *****)unaff_s7" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_78 = (double *****)unaff_s8;" (assignment_expression "pppppdStack_78 = (double *****)unaff_s8" identifier = (cast_expression "(double *****)unaff_s8" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_74 = pcVar4;" (assignment_expression "pcStack_74 = pcVar4" identifier = identifier) ;) (if_statement "if (ppppppdVar15[8] != (double *****)0x0) {\n    ppppppdVar21 = ppppppdVar15;\n    if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }\n  }" if (parenthesized_expression "(ppppppdVar15[8] != (double *****)0x0)" ( (binary_expression "ppppppdVar15[8] != (double *****)0x0" (subscript_expression "ppppppdVar15[8]" identifier [ number_literal ]) != (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n    ppppppdVar21 = ppppppdVar15;\n    if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }\n  }" { (expression_statement "ppppppdVar21 = ppppppdVar15;" (assignment_expression "ppppppdVar21 = ppppppdVar15" identifier = identifier) ;) (if_statement "if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }" if (parenthesized_expression "(ppppppdVar15[10] == (double *****)0x0)" ( (binary_expression "ppppppdVar15[10] == (double *****)0x0" (subscript_expression "ppppppdVar15[10]" identifier [ number_literal ]) == (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }" { (expression_statement "ppppppdVar29 = (double ******)0x0;" (assignment_expression "ppppppdVar29 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppdVar24 = param_2;" (assignment_expression "ppppppdVar24 = param_2" identifier = identifier) ;) (if_statement "if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }" if (parenthesized_expression "((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2]))" ( (binary_expression "(int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])" (cast_expression "(int)ppppppdVar15[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar15[4]" identifier [ number_literal ])) <= (cast_expression "(int)((int)param_2 + (int)ppppppdVar15[2])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)param_2 + (int)ppppppdVar15[2])" ( (binary_expression "(int)param_2 + (int)ppppppdVar15[2]" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppdVar15[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar15[2]" identifier [ number_literal ]))) )))) )) (compound_statement "{\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }" { (expression_statement "param_3 = ppppppdVar15 + 5;" (assignment_expression "param_3 = ppppppdVar15 + 5" identifier = (binary_expression "ppppppdVar15 + 5" identifier + number_literal)) ;) (expression_statement "puVar26 = *(undefined **)(puVar35 + 0xdb168);" (assignment_expression "puVar26 = *(undefined **)(puVar35 + 0xdb168)" identifier = (pointer_expression "*(undefined **)(puVar35 + 0xdb168)" * (cast_expression "(undefined **)(puVar35 + 0xdb168)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + 0xdb168)" ( (binary_expression "puVar35 + 0xdb168" identifier + number_literal) ))))) ;) (expression_statement "ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);" (assignment_expression "ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08)" identifier = (cast_expression "(double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(puVar35 + 0xdb44c) + 0x4d08)" ( (binary_expression "*(int *)(puVar35 + 0xdb44c) + 0x4d08" (pointer_expression "*(int *)(puVar35 + 0xdb44c)" * (cast_expression "(int *)(puVar35 + 0xdb44c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + 0xdb44c)" ( (binary_expression "puVar35 + 0xdb44c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);" (assignment_expression "ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4)" identifier = (cast_expression "(double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(puVar35 + 0xdb3c4) + 0x27a4)" ( (binary_expression "*(int *)(puVar35 + 0xdb3c4) + 0x27a4" (pointer_expression "*(int *)(puVar35 + 0xdb3c4)" * (cast_expression "(int *)(puVar35 + 0xdb3c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + 0xdb3c4)" ( (binary_expression "puVar35 + 0xdb3c4" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );" do (compound_statement "{\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        }" { (expression_statement "ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);" (assignment_expression "ppppdStack_a0 = *(double *****)(puVar26 + -0xba0)" identifier = (pointer_expression "*(double *****)(puVar26 + -0xba0)" * (cast_expression "(double *****)(puVar26 + -0xba0)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar26 + -0xba0)" ( (binary_expression "puVar26 + -0xba0" identifier + number_literal) ))))) ;) (if_statement "if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }" if (parenthesized_expression "(*ppppppdVar15 == (double *****)0x0)" ( (binary_expression "*ppppppdVar15 == (double *****)0x0" (pointer_expression "*ppppppdVar15" * identifier) == (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }" { (expression_statement "(*(code *)ppppppdVar30)(ppppppdVar15);" (call_expression "(*(code *)ppppppdVar30)(ppppppdVar15)" (parenthesized_expression "(*(code *)ppppppdVar30)" ( (pointer_expression "*(code *)ppppppdVar30" * (cast_expression "(code *)ppppppdVar30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppppppdVar15)" ( identifier ))) ;) })) (expression_statement "ppppppdVar16 = &pppppdStack_a4;" (assignment_expression "ppppppdVar16 = &pppppdStack_a4" identifier = (pointer_expression "&pppppdStack_a4" & identifier)) ;) (expression_statement "iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);" (assignment_expression "iVar5 = FUN_000b4d08(param_3,ppppdStack_a0)" identifier = (call_expression "FUN_000b4d08(param_3,ppppdStack_a0)" identifier (argument_list "(param_3,ppppdStack_a0)" ( identifier , identifier )))) ;) (expression_statement "unaff_s1 = ppppppdVar22;" (assignment_expression "unaff_s1 = ppppppdVar22" identifier = identifier) ;) (expression_statement "unaff_s3 = puVar26;" (assignment_expression "unaff_s3 = puVar26" identifier = identifier) ;) (expression_statement "unaff_s7 = &pppppdStack_a4;" (assignment_expression "unaff_s7 = &pppppdStack_a4" identifier = (pointer_expression "&pppppdStack_a4" & identifier)) ;) (expression_statement "unaff_s8 = (double ******)&ppppdStack_a0;" (assignment_expression "unaff_s8 = (double ******)&ppppdStack_a0" identifier = (cast_expression "(double ******)&ppppdStack_a0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&ppppdStack_a0" & identifier))) ;) (if_statement "if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }" { (expression_statement "ppppppdVar16 = (double ******)&ppppdStack_a0;" (assignment_expression "ppppppdVar16 = (double ******)&ppppdStack_a0" identifier = (cast_expression "(double ******)&ppppdStack_a0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&ppppdStack_a0" & identifier))) ;) (expression_statement "pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);" (assignment_expression "pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6])" identifier = (cast_expression "(double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6])" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6])" (parenthesized_expression "(*(code *)ppppppdVar15[8])" ( (pointer_expression "*(code *)ppppppdVar15[8]" * (cast_expression "(code *)ppppppdVar15[8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppppppdVar15[8]" identifier [ number_literal ]))) )) (argument_list "(ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6])" ( (subscript_expression "ppppppdVar15[9]" identifier [ number_literal ]) , (binary_expression "(int)ppppppdVar15[5] + (int)ppppppdVar15[6]" (cast_expression "(int)ppppppdVar15[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar15[5]" identifier [ number_literal ])) + (cast_expression "(int)ppppppdVar15[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar15[6]" identifier [ number_literal ]))) ))))) ;) (if_statement "if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }" if (parenthesized_expression "((double *****)ppppdStack_a0 == (double *****)0x0)" ( (binary_expression "(double *****)ppppdStack_a0 == (double *****)0x0" (cast_expression "(double *****)ppppdStack_a0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }" { (expression_statement "ppppppdVar15[4] = ppppppdVar15[6];" (assignment_expression "ppppppdVar15[4] = ppppppdVar15[6]" (subscript_expression "ppppppdVar15[4]" identifier [ number_literal ]) = (subscript_expression "ppppppdVar15[6]" identifier [ number_literal ])) ;) (expression_statement "ppppppdVar15[10] = (double *****)0x1;" (assignment_expression "ppppppdVar15[10] = (double *****)0x1" (subscript_expression "ppppppdVar15[10]" identifier [ number_literal ]) = (cast_expression "(double *****)0x1" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppdVar15[3] = ppppppdVar15[5];" (assignment_expression "ppppppdVar15[3] = ppppppdVar15[5]" (subscript_expression "ppppppdVar15[3]" identifier [ number_literal ]) = (subscript_expression "ppppppdVar15[5]" identifier [ number_literal ])) ;) (expression_statement "ppppppdVar29 = (double ******)pppppdStack_a4;" (assignment_expression "ppppppdVar29 = (double ******)pppppdStack_a4" identifier = (cast_expression "(double ******)pppppdStack_a4" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar14 = (double ******)0x1;" (assignment_expression "ppppppdVar14 = (double ******)0x1" identifier = (cast_expression "(double ******)0x1" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (break_statement "break;" break ;) })) (expression_statement "pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);" (assignment_expression "pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6])" identifier = (cast_expression "(double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6])" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppdStack_a0 + (int)ppppppdVar15[6])" ( (binary_expression "(int)ppppdStack_a0 + (int)ppppppdVar15[6]" (cast_expression "(int)ppppdStack_a0" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppdVar15[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar15[6]" identifier [ number_literal ]))) )))) ;) (expression_statement "ppppppdVar14 = (double ******)ppppppdVar15[10];" (assignment_expression "ppppppdVar14 = (double ******)ppppppdVar15[10]" identifier = (cast_expression "(double ******)ppppppdVar15[10]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppdVar15[10]" identifier [ number_literal ]))) ;) (expression_statement "ppppppdVar15[6] = pppppdVar10;" (assignment_expression "ppppppdVar15[6] = pppppdVar10" (subscript_expression "ppppppdVar15[6]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }" else (compound_statement "{\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }" { (expression_statement "pppppdVar10 = ppppppdVar15[6];" (assignment_expression "pppppdVar10 = ppppppdVar15[6]" identifier = (subscript_expression "ppppppdVar15[6]" identifier [ number_literal ])) ;) (expression_statement "ppppppdVar14 = (double ******)ppppppdVar15[10];" (assignment_expression "ppppppdVar14 = (double ******)ppppppdVar15[10]" identifier = (cast_expression "(double ******)ppppppdVar15[10]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppdVar15[10]" identifier [ number_literal ]))) ;) }))) (expression_statement "ppppppdVar15[4] = pppppdVar10;" (assignment_expression "ppppppdVar15[4] = pppppdVar10" (subscript_expression "ppppppdVar15[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppdVar15[3] = ppppppdVar15[5];" (assignment_expression "ppppppdVar15[3] = ppppppdVar15[5]" (subscript_expression "ppppppdVar15[3]" identifier [ number_literal ]) = (subscript_expression "ppppppdVar15[5]" identifier [ number_literal ])) ;) (expression_statement "ppppppdVar29 = (double ******)pppppdStack_a4;" (assignment_expression "ppppppdVar29 = (double ******)pppppdStack_a4" identifier = (cast_expression "(double ******)pppppdStack_a4" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;" if (parenthesized_expression "(((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0))" ( (binary_expression "((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)" (parenthesized_expression "((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10))" ( (binary_expression "(ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)" (parenthesized_expression "(ppppppdVar14 != (double ******)0x0)" ( (binary_expression "ppppppdVar14 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) || (parenthesized_expression "((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)" ( (binary_expression "(int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10" (cast_expression "(int)((int)param_2 + (int)ppppppdVar15[2])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)param_2 + (int)ppppppdVar15[2])" ( (binary_expression "(int)param_2 + (int)ppppppdVar15[2]" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppdVar15[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar15[2]" identifier [ number_literal ]))) ))) < (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) || (parenthesized_expression "((double ******)pppppdStack_a4 != (double ******)0x0)" ( (binary_expression "(double ******)pppppdStack_a4 != (double ******)0x0" (cast_expression "(double ******)pppppdStack_a4" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) }) (else_clause "else {\n      ppppppdVar29 = (double ******)0x0;\n    }" else (compound_statement "{\n      ppppppdVar29 = (double ******)0x0;\n    }" { (expression_statement "ppppppdVar29 = (double ******)0x0;" (assignment_expression "ppppppdVar29 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) }))) })) (if_statement "if (iStack_9c == *piVar31) {\n    return ppppppdVar29;\n  }" if (parenthesized_expression "(iStack_9c == *piVar31)" ( (binary_expression "iStack_9c == *piVar31" identifier == (pointer_expression "*piVar31" * identifier)) )) (compound_statement "{\n    return ppppppdVar29;\n  }" { (return_statement "return ppppppdVar29;" return identifier ;) })) (expression_statement "pcVar4 = *(code **)(puStack_b0 + -0x7b28);" (assignment_expression "pcVar4 = *(code **)(puStack_b0 + -0x7b28)" identifier = (pointer_expression "*(code **)(puStack_b0 + -0x7b28)" * (cast_expression "(code **)(puStack_b0 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7b28)" ( (binary_expression "puStack_b0 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar36 = FUN_000b5998;" (assignment_expression "pcVar36 = FUN_000b5998" identifier = identifier) ;) (expression_statement "iVar5 = iStack_9c;" (assignment_expression "iVar5 = iStack_9c" identifier = identifier) ;) (expression_statement "pppppdStack_a4 = (double *****)ppppppdVar29;" (assignment_expression "pppppdStack_a4 = (double *****)ppppppdVar29" identifier = (cast_expression "(double *****)ppppppdVar29" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_f0 = pcVar4 + 0xe2f88;" (assignment_expression "pcStack_f0 = pcVar4 + 0xe2f88" identifier = (binary_expression "pcVar4 + 0xe2f88" identifier + number_literal)) ;) (expression_statement "ppppppdVar29 = (double ******)&DAT_00000009;" (assignment_expression "ppppppdVar29 = (double ******)&DAT_00000009" identifier = (cast_expression "(double ******)&DAT_00000009" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000009" & identifier))) ;) (expression_statement "piVar23 = *(int **)(pcVar4 + 0xdb48c);" (assignment_expression "piVar23 = *(int **)(pcVar4 + 0xdb48c)" identifier = (pointer_expression "*(int **)(pcVar4 + 0xdb48c)" * (cast_expression "(int **)(pcVar4 + 0xdb48c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xdb48c)" ( (binary_expression "pcVar4 + 0xdb48c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(pcVar4 + 0xdb294);" (assignment_expression "iVar28 = *(int *)(pcVar4 + 0xdb294)" identifier = (pointer_expression "*(int *)(pcVar4 + 0xdb294)" * (cast_expression "(int *)(pcVar4 + 0xdb294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xdb294)" ( (binary_expression "pcVar4 + 0xdb294" identifier + number_literal) ))))) ;) (expression_statement "uStack_e8 = 0;" (assignment_expression "uStack_e8 = 0" identifier = number_literal) ;) (expression_statement "iStack_e4 = *piVar23;" (assignment_expression "iStack_e4 = *piVar23" identifier = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "pppppdStack_dc = (double *****)ppppppdVar21;" (assignment_expression "pppppdStack_dc = (double *****)ppppppdVar21" identifier = (cast_expression "(double *****)ppppppdVar21" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_d8 = (double *****)unaff_s1;" (assignment_expression "pppppdStack_d8 = (double *****)unaff_s1" identifier = (cast_expression "(double *****)unaff_s1" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_d4 = (double *****)ppppppdVar24;" (assignment_expression "pppppdStack_d4 = (double *****)ppppppdVar24" identifier = (cast_expression "(double *****)ppppppdVar24" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "puStack_d0 = unaff_s3;" (assignment_expression "puStack_d0 = unaff_s3" identifier = identifier) ;) (expression_statement "pppppdStack_cc = (double *****)param_3;" (assignment_expression "pppppdStack_cc = (double *****)param_3" identifier = (cast_expression "(double *****)param_3" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_c8 = (double *****)ppppppdVar30;" (assignment_expression "pppppdStack_c8 = (double *****)ppppppdVar30" identifier = (cast_expression "(double *****)ppppppdVar30" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_c4 = pcVar36;" (assignment_expression "pcStack_c4 = pcVar36" identifier = identifier) ;) (expression_statement "ppppppdVar30 = (double ******)FUN_000b57e0();" (assignment_expression "ppppppdVar30 = (double ******)FUN_000b57e0()" identifier = (cast_expression "(double ******)FUN_000b57e0()" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (ppppppdVar30 == (double ******)0x0) {\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);\n    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);\n    iVar20 = iVar20 + uStack_e8;\n    if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }\n  }\n  else {\n    pppppdVar10 = (double *****)0x1;\n  }" if (parenthesized_expression "(ppppppdVar30 == (double ******)0x0)" ( (binary_expression "ppppppdVar30 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);\n    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);\n    iVar20 = iVar20 + uStack_e8;\n    if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }\n  }" { (expression_statement "pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));" (assignment_expression "pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" identifier = (cast_expression "(byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" ( (binary_expression "*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )))) ;) (expression_statement "bVar1 = *pbVar11;" (assignment_expression "bVar1 = *pbVar11" identifier = (pointer_expression "*pbVar11" * identifier)) ;) (if_statement "if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\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      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }" { (expression_statement "iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);" (assignment_expression "iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8)" identifier = (call_expression "(*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))" ( (pointer_expression "*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388)" * (cast_expression "(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7d78) + 0x3388)" ( (binary_expression "*(int *)(pcStack_f0 + -0x7d78) + 0x3388" (pointer_expression "*(int *)(pcStack_f0 + -0x7d78)" * (cast_expression "(int *)(pcStack_f0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7d78)" ( (binary_expression "pcStack_f0 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pbVar11,&uStack_e8)" ( identifier , (pointer_expression "&uStack_e8" & identifier) )))) ;) (if_statement "if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }" if (parenthesized_expression "(0x10000 < uStack_e8)" ( (binary_expression "0x10000 < uStack_e8" number_literal < identifier) )) (compound_statement "{\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }" { (expression_statement "ppppppdVar17 = (double ******)&DAT_00030133;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_00030133" identifier = (cast_expression "(double ******)&DAT_00030133" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00030133" & identifier))) ;) (expression_statement "iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;" (assignment_expression "iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c" identifier = (binary_expression "*(int *)(pcStack_f0 + -0x7fc8) + 0x625c" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc8)" ( (binary_expression "pcStack_f0 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);" (assignment_expression "ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64)" identifier = (cast_expression "(double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64)" ( (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);" (assignment_expression "ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378)" identifier = (cast_expression "(double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378)" ( (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + -0x6378" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppdVar10 = (double *****)(iVar20 + 1);" (assignment_expression "pppppdVar10 = (double *****)(iVar20 + 1)" identifier = (cast_expression "(double *****)(iVar20 + 1)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar20 + 1)" ( (binary_expression "iVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(pcStack_f0 + -0x7d40))(0xb);" (call_expression "(**(code **)(pcStack_f0 + -0x7d40))(0xb)" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7d40))" ( (pointer_expression "**(code **)(pcStack_f0 + -0x7d40)" * (pointer_expression "*(code **)(pcStack_f0 + -0x7d40)" * (cast_expression "(code **)(pcStack_f0 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7d40)" ( (binary_expression "pcStack_f0 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "ppppppdVar30 = (double ******)&DAT_0000000b;" (assignment_expression "ppppppdVar30 = (double ******)&DAT_0000000b" identifier = (cast_expression "(double ******)&DAT_0000000b" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (goto_statement "goto LAB_000b5ad4;" goto statement_identifier ;) })) }) (else_clause "else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }" else (compound_statement "{\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }" { (expression_statement "iVar20 = 1;" (assignment_expression "iVar20 = 1" identifier = number_literal) ;) (expression_statement "uStack_e8 = (uint)bVar1;" (assignment_expression "uStack_e8 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) (expression_statement "ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);" (assignment_expression "ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100)" identifier = (cast_expression "(double ******)(iVar20 + uStack_e8 + 100)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar20 + uStack_e8 + 100)" ( (binary_expression "iVar20 + uStack_e8 + 100" (binary_expression "iVar20 + uStack_e8" identifier + identifier) + number_literal) )))) ;) (expression_statement "ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);" (assignment_expression "ppppppdVar30 = (double ******)FUN_000b57e0(iVar5)" identifier = (cast_expression "(double ******)FUN_000b57e0(iVar5)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))))) ;) (expression_statement "iVar20 = iVar20 + uStack_e8;" (assignment_expression "iVar20 = iVar20 + uStack_e8" identifier = (binary_expression "iVar20 + uStack_e8" identifier + identifier)) ;) (if_statement "if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }" if (parenthesized_expression "(ppppppdVar30 == (double ******)0x0)" ( (binary_expression "ppppppdVar30 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }" { (do_statement "do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);" do (compound_statement "{\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      }" { (expression_statement "ppppppdVar29 = *(double *******)(iVar5 + 8);" (assignment_expression "ppppppdVar29 = *(double *******)(iVar5 + 8)" identifier = (pointer_expression "*(double *******)(iVar5 + 8)" * (cast_expression "(double *******)(iVar5 + 8)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) ;) (expression_statement "ppppppdVar16 = *(double *******)(iVar5 + 0x10);" (assignment_expression "ppppppdVar16 = *(double *******)(iVar5 + 0x10)" identifier = (pointer_expression "*(double *******)(iVar5 + 0x10)" * (cast_expression "(double *******)(iVar5 + 0x10)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }" if (parenthesized_expression "(iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16)" ( (binary_expression "iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16" (binary_expression "iVar20 + (int)ppppppdVar29" identifier + (cast_expression "(int)ppppppdVar29" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)ppppppdVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }" { (expression_statement "ppppppdVar17 = *(double *******)(iVar5 + 0xc);" (assignment_expression "ppppppdVar17 = *(double *******)(iVar5 + 0xc)" identifier = (pointer_expression "*(double *******)(iVar5 + 0xc)" * (cast_expression "(double *******)(iVar5 + 0xc)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar25 = iVar20;" (assignment_expression "iVar25 = iVar20" identifier = identifier) ;) (if_statement "if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }" if (parenthesized_expression "(*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0)" ( (binary_expression "*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0" (pointer_expression "*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29))" * (cast_expression "(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29))" ( (binary_expression "(int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)" (cast_expression "(int)ppppppdVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(iVar20 + (int)ppppppdVar29)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar20 + (int)ppppppdVar29)" ( (binary_expression "iVar20 + (int)ppppppdVar29" identifier + (cast_expression "(int)ppppppdVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }" { (expression_statement "pppppdVar10 = (double *****)(iVar20 + 1);" (assignment_expression "pppppdVar10 = (double *****)(iVar20 + 1)" identifier = (cast_expression "(double *****)(iVar20 + 1)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar20 + 1)" ( (binary_expression "iVar20 + 1" identifier + number_literal) )))) ;) (goto_statement "goto LAB_000b5ad4;" goto statement_identifier ;) })) (while_statement "while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }" { (expression_statement "iVar20 = iVar25 + 1;" (assignment_expression "iVar20 = iVar25 + 1" identifier = (binary_expression "iVar25 + 1" identifier + number_literal)) ;) (if_statement "if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;" if (parenthesized_expression "((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20)" ( (binary_expression "(int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20" (cast_expression "(int)ppppppdVar16" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "(int)ppppppdVar29 + iVar20" (cast_expression "(int)ppppppdVar29" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) )) (break_statement "break;" break ;)) (expression_statement "pppppdVar10 = (double *****)(iVar25 + 2);" (assignment_expression "pppppdVar10 = (double *****)(iVar25 + 2)" identifier = (cast_expression "(double *****)(iVar25 + 2)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar25 + 2)" ( (binary_expression "iVar25 + 2" identifier + number_literal) )))) ;) (expression_statement "iVar25 = iVar20;" (assignment_expression "iVar25 = iVar20" identifier = identifier) ;) (if_statement "if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;" if (parenthesized_expression "(*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)" ( (binary_expression "*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0" (pointer_expression "*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20))" * (cast_expression "(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20))" ( (binary_expression "(int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)" (cast_expression "(int)ppppppdVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)((int)ppppppdVar29 + iVar20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)ppppppdVar29 + iVar20)" ( (binary_expression "(int)ppppppdVar29 + iVar20" (cast_expression "(int)ppppppdVar29" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000b5ad4;" goto statement_identifier ;)) })) })) (expression_statement "ppppppdVar29 = (double ******)(iVar20 + 100);" (assignment_expression "ppppppdVar29 = (double ******)(iVar20 + 100)" identifier = (cast_expression "(double ******)(iVar20 + 100)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar20 + 100)" ( (binary_expression "iVar20 + 100" identifier + number_literal) )))) ;) (expression_statement "ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);" (assignment_expression "ppppppdVar15 = (double ******)FUN_000b57e0(iVar5)" identifier = (cast_expression "(double ******)FUN_000b57e0(iVar5)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))))) ;) }) while (parenthesized_expression "(ppppppdVar15 == (double ******)0x0)" ( (binary_expression "ppppppdVar15 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) ;) (expression_statement "pppppdVar10 = (double *****)(iVar20 + 1);" (assignment_expression "pppppdVar10 = (double *****)(iVar20 + 1)" identifier = (cast_expression "(double *****)(iVar20 + 1)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar20 + 1)" ( (binary_expression "iVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "ppppppdVar30 = ppppppdVar15;" (assignment_expression "ppppppdVar30 = ppppppdVar15" identifier = identifier) ;) }) (else_clause "else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }" else (compound_statement "{\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }" { (expression_statement "pppppdVar10 = (double *****)(iVar20 + 1);" (assignment_expression "pppppdVar10 = (double *****)(iVar20 + 1)" identifier = (cast_expression "(double *****)(iVar20 + 1)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar20 + 1)" ( (binary_expression "iVar20 + 1" identifier + number_literal) )))) ;) }))) }) (else_clause "else {\n    pppppdVar10 = (double *****)0x1;\n  }" else (compound_statement "{\n    pppppdVar10 = (double *****)0x1;\n  }" { (expression_statement "pppppdVar10 = (double *****)0x1;" (assignment_expression "pppppdVar10 = (double *****)0x1" identifier = (cast_expression "(double *****)0x1" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }))) (labeled_statement "LAB_000b5ad4:\n  *ppppppdVar14 = pppppdVar10;" statement_identifier : (expression_statement "*ppppppdVar14 = pppppdVar10;" (assignment_expression "*ppppppdVar14 = pppppdVar10" (pointer_expression "*ppppppdVar14" * identifier) = identifier) ;)) (if_statement "if (iStack_e4 == *piVar23) {\n    return ppppppdVar30;\n  }" if (parenthesized_expression "(iStack_e4 == *piVar23)" ( (binary_expression "iStack_e4 == *piVar23" identifier == (pointer_expression "*piVar23" * identifier)) )) (compound_statement "{\n    return ppppppdVar30;\n  }" { (return_statement "return ppppppdVar30;" return identifier ;) })) (expression_statement "pcVar4 = *(code **)(pcStack_f0 + -0x7b28);" (assignment_expression "pcVar4 = *(code **)(pcStack_f0 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_f0 + -0x7b28)" * (cast_expression "(code **)(pcStack_f0 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7b28)" ( (binary_expression "pcStack_f0 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar36 = FUN_000b5b8c;" (assignment_expression "pcVar36 = FUN_000b5b8c" identifier = identifier) ;) (expression_statement "iVar20 = iStack_e4;" (assignment_expression "iVar20 = iStack_e4" identifier = identifier) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_148 = pcVar4 + 0xe2d94;" (assignment_expression "pcStack_148 = pcVar4 + 0xe2d94" identifier = (binary_expression "pcVar4 + 0xe2d94" identifier + number_literal)) ;) (expression_statement "ppppppdVar33 = (double ******)&ppppdStack_138;" (assignment_expression "ppppppdVar33 = (double ******)&ppppdStack_138" identifier = (cast_expression "(double ******)&ppppdStack_138" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&ppppdStack_138" & identifier))) ;) (expression_statement "ppppppdVar24 = (double ******)0x0;" (assignment_expression "ppppppdVar24 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppdVar21 = (double ******)0x0;" (assignment_expression "ppppppdVar21 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "puVar32 = *(undefined4 **)(pcVar4 + 0xdb298);" (assignment_expression "puVar32 = *(undefined4 **)(pcVar4 + 0xdb298)" identifier = (pointer_expression "*(undefined4 **)(pcVar4 + 0xdb298)" * (cast_expression "(undefined4 **)(pcVar4 + 0xdb298)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xdb298)" ( (binary_expression "pcVar4 + 0xdb298" identifier + number_literal) ))))) ;) (expression_statement "pppppdStack_134 = (double *****)*puVar32;" (assignment_expression "pppppdStack_134 = (double *****)*puVar32" identifier = (cast_expression "(double *****)*puVar32" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*puVar32" * identifier))) ;) (expression_statement "ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);" (assignment_expression "ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0)" identifier = (cast_expression "(double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0)" ( (binary_expression "*(int *)(pcVar4 + 0xdb0a0) + 0x57e0" (pointer_expression "*(int *)(pcVar4 + 0xdb0a0)" * (cast_expression "(int *)(pcVar4 + 0xdb0a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xdb0a0)" ( (binary_expression "pcVar4 + 0xdb0a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);" (assignment_expression "pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xdb01c) + 0x3388)" ( (binary_expression "*(int *)(pcVar4 + 0xdb01c) + 0x3388" (pointer_expression "*(int *)(pcVar4 + 0xdb01c)" * (cast_expression "(int *)(pcVar4 + 0xdb01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xdb01c)" ( (binary_expression "pcVar4 + 0xdb01c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppppdVar6 = (double ******)0x0;" (assignment_expression "ppppppdVar6 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppdVar15 = ppppppdVar29;" (assignment_expression "ppppppdVar15 = ppppppdVar29" identifier = identifier) ;) (expression_statement "pppppdStack_13c = (double *****)ppppppdVar16;" (assignment_expression "pppppdStack_13c = (double *****)ppppppdVar16" identifier = (cast_expression "(double *****)ppppppdVar16" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppdStack_130 = (double ****)pppppdVar10;" (assignment_expression "ppppdStack_130 = (double ****)pppppdVar10" identifier = (cast_expression "(double ****)pppppdVar10" ( (type_descriptor "double ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pppppdStack_12c = (double *****)ppppppdVar30;" (assignment_expression "pppppdStack_12c = (double *****)ppppppdVar30" identifier = (cast_expression "(double *****)ppppppdVar30" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "piStack_128 = piVar23;" (assignment_expression "piStack_128 = piVar23" identifier = identifier) ;) (expression_statement "pppppdStack_124 = (double *****)ppppppdVar14;" (assignment_expression "pppppdStack_124 = (double *****)ppppppdVar14" identifier = (cast_expression "(double *****)ppppppdVar14" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iStack_120 = iVar28 + 0x57e0;" (assignment_expression "iStack_120 = iVar28 + 0x57e0" identifier = (binary_expression "iVar28 + 0x57e0" identifier + number_literal)) ;) (expression_statement "iStack_11c = iVar5;" (assignment_expression "iStack_11c = iVar5" identifier = identifier) ;) (expression_statement "piStack_118 = piVar31;" (assignment_expression "piStack_118 = piVar31" identifier = identifier) ;) (expression_statement "pppppdStack_114 = (double *****)unaff_s7;" (assignment_expression "pppppdStack_114 = (double *****)unaff_s7" identifier = (cast_expression "(double *****)unaff_s7" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_110 = (double *****)unaff_s8;" (assignment_expression "pppppdStack_110 = (double *****)unaff_s8" identifier = (cast_expression "(double *****)unaff_s8" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_10c = pcVar36;" (assignment_expression "pcStack_10c = pcVar36" identifier = identifier) ;) (if_statement "if (0 < (int)ppppppdVar29) {\n    do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));\n  }" if (parenthesized_expression "(0 < (int)ppppppdVar29)" ( (binary_expression "0 < (int)ppppppdVar29" number_literal < (cast_expression "(int)ppppppdVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));\n  }" { (do_statement "do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));" do (compound_statement "{\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    }" { (expression_statement "ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);" (assignment_expression "ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10)" identifier = (cast_expression "(double ******)((int)ppppppdVar21 + 10)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar21 + 10)" ( (binary_expression "(int)ppppppdVar21 + 10" (cast_expression "(int)ppppppdVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (while_statement "while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }" { (expression_statement "ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);" (assignment_expression "ppppppdVar6 = (double ******)FUN_000b57e0(iVar20)" identifier = (cast_expression "(double ******)FUN_000b57e0(iVar20)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(iVar20)" identifier (argument_list "(iVar20)" ( identifier ))))) ;) (if_statement "if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;" if (parenthesized_expression "(ppppppdVar6 != (double ******)0x0)" ( (binary_expression "ppppppdVar6 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b5c24;" goto statement_identifier ;)) (expression_statement "unaff_s8 = (double ******)((int)ppppppdVar21 + 1);" (assignment_expression "unaff_s8 = (double ******)((int)ppppppdVar21 + 1)" identifier = (cast_expression "(double ******)((int)ppppppdVar21 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar21 + 1)" ( (binary_expression "(int)ppppppdVar21 + 1" (cast_expression "(int)ppppppdVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppppppdVar17 = *(double *******)(iVar20 + 8);" (assignment_expression "ppppppdVar17 = *(double *******)(iVar20 + 8)" identifier = (pointer_expression "*(double *******)(iVar20 + 8)" * (cast_expression "(double *******)(iVar20 + 8)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];" (assignment_expression "uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21]" identifier = (subscript_expression "(uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21]" (call_expression "(uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))" ( (cast_expression "(code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" ( (binary_expression "(int)ppppppdVar17 + *(int *)(iVar20 + 0xc)" (cast_expression "(int)ppppppdVar17" ( (type_descriptor "int" primitive_type) ) 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) ))))) ))) ))) [ (cast_expression "(int)ppppppdVar21" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);" (assignment_expression "ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1)" identifier = (cast_expression "(double ******)((int)ppppppdVar24 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar24 + 1)" ( (binary_expression "(int)ppppppdVar24 + 1" (cast_expression "(int)ppppppdVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (uVar8 - 3 < 2) break;" if (parenthesized_expression "(uVar8 - 3 < 2)" ( (binary_expression "uVar8 - 3 < 2" (binary_expression "uVar8 - 3" identifier - number_literal) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);" (assignment_expression "ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9)" identifier = (cast_expression "(double ******)((int)ppppppdVar21 + 9)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar21 + 9)" ( (binary_expression "(int)ppppppdVar21 + 9" (cast_expression "(int)ppppppdVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }" if (parenthesized_expression "(1 < uVar8 - 1)" ( (binary_expression "1 < uVar8 - 1" number_literal < (binary_expression "uVar8 - 1" identifier - number_literal)) )) (compound_statement "{\n          ppppppdVar21 = unaff_s8;\n        }" { (expression_statement "ppppppdVar21 = unaff_s8;" (assignment_expression "ppppppdVar21 = unaff_s8" identifier = identifier) ;) })) (expression_statement "ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);" (assignment_expression "ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10)" identifier = (cast_expression "(double ******)((int)ppppppdVar21 + 10)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar21 + 10)" ( (binary_expression "(int)ppppppdVar21 + 10" (cast_expression "(int)ppppppdVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;" if (parenthesized_expression "(ppppppdVar29 == ppppppdVar24)" ( (binary_expression "ppppppdVar29 == ppppppdVar24" identifier == identifier) )) (goto_statement "goto LAB_000b5c24;" goto statement_identifier ;)) })) (expression_statement "ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);" (assignment_expression "ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8)" identifier = (cast_expression "(double ******)((int)ppppppdVar17 + (int)unaff_s8)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar17 + (int)unaff_s8)" ( (binary_expression "(int)ppppppdVar17 + (int)unaff_s8" (cast_expression "(int)ppppppdVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));" (assignment_expression "pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" identifier = (cast_expression "(code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" ( (binary_expression "(int)ppppppdVar17 + *(int *)(iVar20 + 0xc)" (cast_expression "(int)ppppppdVar17" ( (type_descriptor "int" primitive_type) ) 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 "cVar2 = *pcVar36;" (assignment_expression "cVar2 = *pcVar36" identifier = (pointer_expression "*pcVar36" * identifier)) ;) (if_statement "if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }" if (parenthesized_expression "((char)cVar2 < '\0')" ( (binary_expression "(char)cVar2 < '\0'" (cast_expression "(char)cVar2" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }" { (expression_statement "iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);" (assignment_expression "iVar5 = (*pcVar4)(pcVar36,ppppppdVar33)" identifier = (call_expression "(*pcVar4)(pcVar36,ppppppdVar33)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(pcVar36,ppppppdVar33)" ( identifier , identifier )))) ;) }) (else_clause "else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }" else (compound_statement "{\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "ppppdStack_138 = (double ****)(uint)(byte)cVar2;" (assignment_expression "ppppdStack_138 = (double ****)(uint)(byte)cVar2" identifier = (cast_expression "(double ****)(uint)(byte)cVar2" ( (type_descriptor "double ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (cast_expression "(uint)(byte)cVar2" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)cVar2" ( (type_descriptor "byte" type_identifier) ) identifier)))) ;) }))) (expression_statement "unaff_s8 = (double ******)((int)unaff_s8 + iVar5);" (assignment_expression "unaff_s8 = (double ******)((int)unaff_s8 + iVar5)" identifier = (cast_expression "(double ******)((int)unaff_s8 + iVar5)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)unaff_s8 + iVar5)" ( (binary_expression "(int)unaff_s8 + iVar5" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);" (assignment_expression "ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138)" identifier = (cast_expression "(double ******)((int)unaff_s8 + (int)ppppdStack_138)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)unaff_s8 + (int)ppppdStack_138)" ( (binary_expression "(int)unaff_s8 + (int)ppppdStack_138" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppdStack_138" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppdVar15 = ppppppdVar21;" (assignment_expression "ppppppdVar15 = ppppppdVar21" identifier = identifier) ;) (expression_statement "ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);" (assignment_expression "ppppppdVar6 = (double ******)FUN_000b57e0(iVar20)" identifier = (cast_expression "(double ******)FUN_000b57e0(iVar20)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(iVar20)" identifier (argument_list "(iVar20)" ( identifier ))))) ;) }) while (parenthesized_expression "((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29))" ( (binary_expression "(ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29)" (parenthesized_expression "(ppppppdVar6 == (double ******)0x0)" ( (binary_expression "ppppppdVar6 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) && (parenthesized_expression "(ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29)" ( (comma_expression "ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29" (assignment_expression "ppppppdVar6 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) , (binary_expression "(int)ppppppdVar24 < (int)ppppppdVar29" (cast_expression "(int)ppppppdVar24" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppppppdVar29" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) ;) })) (labeled_statement "LAB_000b5c24:\n  *pppppdStack_13c = (double ****)ppppppdVar21;" statement_identifier : (expression_statement "*pppppdStack_13c = (double ****)ppppppdVar21;" (assignment_expression "*pppppdStack_13c = (double ****)ppppppdVar21" (pointer_expression "*pppppdStack_13c" * identifier) = (cast_expression "(double ****)ppppppdVar21" ( (type_descriptor "double ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;)) (if_statement "if ((double ******)pppppdStack_134 == (double ******)*puVar32) {\n    return ppppppdVar6;\n  }" if (parenthesized_expression "((double ******)pppppdStack_134 == (double ******)*puVar32)" ( (binary_expression "(double ******)pppppdStack_134 == (double ******)*puVar32" (cast_expression "(double ******)pppppdStack_134" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(double ******)*puVar32" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*puVar32" * identifier))) )) (compound_statement "{\n    return ppppppdVar6;\n  }" { (return_statement "return ppppppdVar6;" return identifier ;) })) (expression_statement "pcVar36 = *(code **)(pcStack_148 + -0x7b28);" (assignment_expression "pcVar36 = *(code **)(pcStack_148 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7b28)" * (cast_expression "(code **)(pcStack_148 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7b28)" ( (binary_expression "pcStack_148 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar37 = FUN_000b5d20;" (assignment_expression "pcVar37 = FUN_000b5d20" identifier = identifier) ;) (expression_statement "ppppppdVar6 = (double ******)pppppdStack_134;" (assignment_expression "ppppppdVar6 = (double ******)pppppdStack_134" identifier = (cast_expression "(double ******)pppppdStack_134" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "(*pcVar36)();" (call_expression "(*pcVar36)()" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1c0 = pcVar36 + 0xe2c00;" (assignment_expression "pcStack_1c0 = pcVar36 + 0xe2c00" identifier = (binary_expression "pcVar36 + 0xe2c00" identifier + number_literal)) ;) (expression_statement "piVar31 = *(int **)(pcVar36 + 0xdb104);" (assignment_expression "piVar31 = *(int **)(pcVar36 + 0xdb104)" identifier = (pointer_expression "*(int **)(pcVar36 + 0xdb104)" * (cast_expression "(int **)(pcVar36 + 0xdb104)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdb104)" ( (binary_expression "pcVar36 + 0xdb104" identifier + number_literal) ))))) ;) (expression_statement "iStack_18c = *piVar31;" (assignment_expression "iStack_18c = *piVar31" identifier = (pointer_expression "*piVar31" * identifier)) ;) (expression_statement "ppppppdVar14 = ppppppdVar15;" (assignment_expression "ppppppdVar14 = ppppppdVar15" identifier = identifier) ;) (expression_statement "ppppppdVar30 = ppppppdVar16;" (assignment_expression "ppppppdVar30 = ppppppdVar16" identifier = identifier) ;) (expression_statement "pppppdStack_1b4 = (double *****)ppppppdVar17;" (assignment_expression "pppppdStack_1b4 = (double *****)ppppppdVar17" identifier = (cast_expression "(double *****)ppppppdVar17" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_188 = (double *****)ppppppdVar21;" (assignment_expression "pppppdStack_188 = (double *****)ppppppdVar21" identifier = (cast_expression "(double *****)ppppppdVar21" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iStack_184 = iVar20;" (assignment_expression "iStack_184 = iVar20" identifier = identifier) ;) (expression_statement "pppppdStack_180 = (double *****)ppppppdVar24;" (assignment_expression "pppppdStack_180 = (double *****)ppppppdVar24" identifier = (cast_expression "(double *****)ppppppdVar24" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_17c = (double *****)ppppppdVar22;" (assignment_expression "pppppdStack_17c = (double *****)ppppppdVar22" identifier = (cast_expression "(double *****)ppppppdVar22" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_178 = (double *****)ppppppdVar29;" (assignment_expression "pppppdStack_178 = (double *****)ppppppdVar29" identifier = (cast_expression "(double *****)ppppppdVar29" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_174 = pcVar4;" (assignment_expression "pcStack_174 = pcVar4" identifier = identifier) ;) (expression_statement "puStack_170 = puVar32;" (assignment_expression "puStack_170 = puVar32" identifier = identifier) ;) (expression_statement "pppppdStack_16c = (double *****)ppppppdVar33;" (assignment_expression "pppppdStack_16c = (double *****)ppppppdVar33" identifier = (cast_expression "(double *****)ppppppdVar33" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_168 = (double *****)unaff_s8;" (assignment_expression "pppppdStack_168 = (double *****)unaff_s8" identifier = (cast_expression "(double *****)unaff_s8" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_164 = pcVar37;" (assignment_expression "pcStack_164 = pcVar37" identifier = identifier) ;) (if_statement "if (0 < (int)ppppppdVar15) {\n    ppppppdVar21 = (double ******)0x0;\n    pcVar4 = *(code **)(pcVar36 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);\n    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;\n    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);\nLAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;\n    ppppppdVar33 = ppppppdVar21;\n    pcVar36 = pcStack_1c0;\nLAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }\n    ppppppdVar14 = (double ******)&DAT_00000009;\n    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n    pcVar36 = pcStack_1c0;\n    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n    pppppdVar10 = ppppppdVar6[2];\n    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    ppppppdVar6[2] = (double *****)ppppppdVar14;\n    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);\n    if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }\n    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n    ppppppdVar21 = ppppppdVar16;\n    ppppppdVar24 = ppppppdVar15;\n    pcVar36 = pcStack_1c0;\n    unaff_s8 = ppppppdVar6;\n    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" if (parenthesized_expression "(0 < (int)ppppppdVar15)" ( (binary_expression "0 < (int)ppppppdVar15" number_literal < (cast_expression "(int)ppppppdVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    ppppppdVar21 = (double ******)0x0;\n    pcVar4 = *(code **)(pcVar36 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);\n    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;\n    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);\nLAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;\n    ppppppdVar33 = ppppppdVar21;\n    pcVar36 = pcStack_1c0;\nLAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }\n    ppppppdVar14 = (double ******)&DAT_00000009;\n    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n    pcVar36 = pcStack_1c0;\n    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n    pppppdVar10 = ppppppdVar6[2];\n    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    ppppppdVar6[2] = (double *****)ppppppdVar14;\n    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);\n    if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }\n    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n    ppppppdVar21 = ppppppdVar16;\n    ppppppdVar24 = ppppppdVar15;\n    pcVar36 = pcStack_1c0;\n    unaff_s8 = ppppppdVar6;\n    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" { (expression_statement "ppppppdVar21 = (double ******)0x0;" (assignment_expression "ppppppdVar21 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pcVar4 = *(code **)(pcVar36 + 0xdae88);" (assignment_expression "pcVar4 = *(code **)(pcVar36 + 0xdae88)" identifier = (pointer_expression "*(code **)(pcVar36 + 0xdae88)" * (cast_expression "(code **)(pcVar36 + 0xdae88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdae88)" ( (binary_expression "pcVar36 + 0xdae88" identifier + number_literal) ))))) ;) (expression_statement "pcStack_1b0 = pcVar4 + 0x924;" (assignment_expression "pcStack_1b0 = pcVar4 + 0x924" identifier = (binary_expression "pcVar4 + 0x924" identifier + number_literal)) ;) (expression_statement "pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);" (assignment_expression "pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48)" identifier = (cast_expression "(code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar36 + 0xdae88) + -0x2b48)" ( (binary_expression "*(int *)(pcVar36 + 0xdae88) + -0x2b48" (pointer_expression "*(int *)(pcVar36 + 0xdae88)" * (cast_expression "(int *)(pcVar36 + 0xdae88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xdae88)" ( (binary_expression "pcVar36 + 0xdae88" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;" (assignment_expression "iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0" identifier = (binary_expression "*(int *)(pcVar36 + 0xdaf0c) + 0x57e0" (pointer_expression "*(int *)(pcVar36 + 0xdaf0c)" * (cast_expression "(int *)(pcVar36 + 0xdaf0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xdaf0c)" ( (binary_expression "pcVar36 + 0xdaf0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);" (assignment_expression "iStack_1a8 = *(int *)(pcVar36 + 0xdaea0)" identifier = (pointer_expression "*(int *)(pcVar36 + 0xdaea0)" * (cast_expression "(int *)(pcVar36 + 0xdaea0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xdaea0)" ( (binary_expression "pcVar36 + 0xdaea0" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;" statement_identifier : (expression_statement "ppppppdVar22 = (double ******)0x1;" (assignment_expression "ppppppdVar22 = (double ******)0x1" identifier = (cast_expression "(double ******)0x1" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (expression_statement "ppppppdVar33 = ppppppdVar21;" (assignment_expression "ppppppdVar33 = ppppppdVar21" identifier = identifier) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (labeled_statement "LAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }" statement_identifier : (while_statement "while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }" while (parenthesized_expression "((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0)))" ( (parenthesized_expression "(ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))" ( (binary_expression "ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0)" (binary_expression "ppppppdVar16 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) && (parenthesized_expression "(*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0)" ( (binary_expression "*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0" (pointer_expression "*(code *)((int)ppppppdVar16 + (int)ppppppdVar33)" * (cast_expression "(code *)((int)ppppppdVar16 + (int)ppppppdVar33)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar16 + (int)ppppppdVar33)" ( (binary_expression "(int)ppppppdVar16 + (int)ppppppdVar33" (cast_expression "(int)ppppppdVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) )) (compound_statement "{\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }" { (expression_statement "ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);" (assignment_expression "ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1)" identifier = (cast_expression "(double ******)((int)ppppppdVar33 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar33 + 1)" ( (binary_expression "(int)ppppppdVar33 + 1" (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppppppdVar7 = (double ******)0x0;" (assignment_expression "ppppppdVar7 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;" if (parenthesized_expression "((int)ppppppdVar15 <= (int)ppppppdVar33)" ( (binary_expression "(int)ppppppdVar15 <= (int)ppppppdVar33" (cast_expression "(int)ppppppdVar15" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) }))) (expression_statement "ppppppdVar14 = (double ******)&DAT_00000009;" (assignment_expression "ppppppdVar14 = (double ******)&DAT_00000009" identifier = (cast_expression "(double ******)&DAT_00000009" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000009" & identifier))) ;) (expression_statement "ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);" (assignment_expression "ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6)" identifier = (cast_expression "(double ******)FUN_000b57e0(ppppppdVar6)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(ppppppdVar6)" identifier (argument_list "(ppppppdVar6)" ( identifier ))))) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (if_statement "if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;" if (parenthesized_expression "(ppppppdVar7 != (double ******)0x0)" ( (binary_expression "ppppppdVar7 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) (expression_statement "pppppdVar10 = ppppppdVar6[2];" (assignment_expression "pppppdVar10 = ppppppdVar6[2]" identifier = (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ])) ;) (expression_statement "ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);" (assignment_expression "ppppppdVar14 = (double ******)((int)pppppdVar10 + 1)" identifier = (cast_expression "(double ******)((int)pppppdVar10 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppdVar10 + 1)" ( (binary_expression "(int)pppppdVar10 + 1" (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }" if (parenthesized_expression "((int)ppppppdVar6[4] <= (int)pppppdVar10)" ( (binary_expression "(int)ppppppdVar6[4] <= (int)pppppdVar10" (cast_expression "(int)ppppppdVar6[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[4]" identifier [ number_literal ])) <= (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }" { (expression_statement "ppppppdVar17 = (double ******)&DAT_000300ea;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_000300ea" identifier = (cast_expression "(double ******)&DAT_000300ea" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_000300ea" & identifier))) ;) (labeled_statement "LAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;" statement_identifier : (expression_statement "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;" (assignment_expression "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c" identifier = (binary_expression "*(int *)(pcStack_1c0 + -0x7fc8) + 0x625c" (pointer_expression "*(int *)(pcStack_1c0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_1c0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7fc8)" ( (binary_expression "pcStack_1c0 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);" (assignment_expression "ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64)" identifier = (cast_expression "(double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64" (pointer_expression "*(int *)(pcStack_1c0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_1c0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7fc4)" ( (binary_expression "pcStack_1c0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);" (assignment_expression "ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378)" identifier = (cast_expression "(double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378" (pointer_expression "*(int *)(pcStack_1c0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_1c0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7fc4)" ( (binary_expression "pcStack_1c0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcStack_1c0 + -0x7d40))(0xb);" (call_expression "(**(code **)(pcStack_1c0 + -0x7d40))(0xb)" (parenthesized_expression "(**(code **)(pcStack_1c0 + -0x7d40))" ( (pointer_expression "**(code **)(pcStack_1c0 + -0x7d40)" * (pointer_expression "*(code **)(pcStack_1c0 + -0x7d40)" * (cast_expression "(code **)(pcStack_1c0 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c0 + -0x7d40)" ( (binary_expression "pcStack_1c0 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "ppppppdVar7 = (double ******)&DAT_0000000b;" (assignment_expression "ppppppdVar7 = (double ******)&DAT_0000000b" identifier = (cast_expression "(double ******)&DAT_0000000b" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "ppppppdVar6[2] = (double *****)ppppppdVar14;" (assignment_expression "ppppppdVar6[2] = (double *****)ppppppdVar14" (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]) = (cast_expression "(double *****)ppppppdVar14" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);" (assignment_expression "pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10)" identifier = (binary_expression "(code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10)" (cast_expression "(code *)(uint)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar6[3] + (int)pppppdVar10)" ( (binary_expression "(int)ppppppdVar6[3] + (int)pppppdVar10" (cast_expression "(int)ppppppdVar6[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[3]" identifier [ number_literal ])) + (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }" if (parenthesized_expression "(pcVar4 != (code *)0x0)" ( (binary_expression "pcVar4 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }" { (expression_statement "ppppppdVar17 = (double ******)&DAT_00000028;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_00000028" identifier = (cast_expression "(double ******)&DAT_00000028" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000028" & identifier))) ;) (expression_statement "ppppppdVar30 = (double ******)0x0;" (assignment_expression "ppppppdVar30 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);" (assignment_expression "ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33)" identifier = (cast_expression "(double ******)(pppppdStack_1b4 + (int)ppppppdVar33)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(pppppdStack_1b4 + (int)ppppppdVar33)" ( (binary_expression "pppppdStack_1b4 + (int)ppppppdVar33" identifier + (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppdVar24 = (double ******)(*pcStack_1b0)(0);" (assignment_expression "ppppppdVar24 = (double ******)(*pcStack_1b0)(0)" identifier = (cast_expression "(double ******)(*pcStack_1b0)(0)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*pcStack_1b0)(0)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }" if (parenthesized_expression "(ppppppdVar24 == (double ******)0x0)" ( (binary_expression "ppppppdVar24 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }" { (expression_statement "ppppppdVar7 = (double ******)&DAT_00000007;" (assignment_expression "ppppppdVar7 = (double ******)&DAT_00000007" identifier = (cast_expression "(double ******)&DAT_00000007" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "*ppppppdVar29 = (double *****)0x0;" (assignment_expression "*ppppppdVar29 = (double *****)0x0" (pointer_expression "*ppppppdVar29" * identifier) = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "*(undefined2 *)(ppppppdVar24 + 2) = 1;" (assignment_expression "*(undefined2 *)(ppppppdVar24 + 2) = 1" (pointer_expression "*(undefined2 *)(ppppppdVar24 + 2)" * (cast_expression "(undefined2 *)(ppppppdVar24 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppdVar24 + 2)" ( (binary_expression "ppppppdVar24 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppdVar24[8] = (double *****)0x0;" (assignment_expression "ppppppdVar24[8] = (double *****)0x0" (subscript_expression "ppppppdVar24[8]" identifier [ number_literal ]) = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "*ppppppdVar29 = (double *****)ppppppdVar24;" (assignment_expression "*ppppppdVar29 = (double *****)ppppppdVar24" (pointer_expression "*ppppppdVar29" * identifier) = (cast_expression "(double *****)ppppppdVar24" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppppdVar30 = (double ******)ppppppdVar6[2];" (assignment_expression "ppppppdVar30 = (double ******)ppppppdVar6[2]" identifier = (cast_expression "(double ******)ppppppdVar6[2]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]))) ;) (expression_statement "pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);" (assignment_expression "pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30)" identifier = (cast_expression "(double *)((int)ppppppdVar6[3] + (int)ppppppdVar30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar6[3] + (int)ppppppdVar30)" ( (binary_expression "(int)ppppppdVar6[3] + (int)ppppppdVar30" (cast_expression "(int)ppppppdVar6[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[3]" identifier [ number_literal ])) + (cast_expression "(int)ppppppdVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }" if (parenthesized_expression "(pcVar4 + -3 < (code *)0x2)" ( (binary_expression "pcVar4 + -3 < (code *)0x2" (binary_expression "pcVar4 + -3" identifier + number_literal) < (cast_expression "(code *)0x2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }" { (if_statement "if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }" if (parenthesized_expression "((char)*(code *)pdVar12 < '\0')" ( (binary_expression "(char)*(code *)pdVar12 < '\0'" (cast_expression "(char)*(code *)pdVar12" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)pdVar12" * (cast_expression "(code *)pdVar12" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }" { (expression_statement "iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);" (assignment_expression "iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198)" identifier = (call_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))" ( (pointer_expression "*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388)" * (cast_expression "(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7d78) + 0x3388" (pointer_expression "*(int *)(pcStack_1c0 + -0x7d78)" * (cast_expression "(int *)(pcStack_1c0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7d78)" ( (binary_expression "pcStack_1c0 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pdVar12,&pppppdStack_198)" ( identifier , (pointer_expression "&pppppdStack_198" & identifier) )))) ;) (expression_statement "ppppppdVar30 = (double ******)ppppppdVar6[2];" (assignment_expression "ppppppdVar30 = (double ******)ppppppdVar6[2]" identifier = (cast_expression "(double ******)ppppppdVar6[2]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }" else (compound_statement "{\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;" (assignment_expression "pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12" identifier = (binary_expression "(double *****)(uint)(byte)*(code *)pdVar12" (cast_expression "(double *****)(uint)(byte)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * (cast_expression "(code *)pdVar12" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (expression_statement "ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);" (assignment_expression "ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30)" (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]) = (cast_expression "(double *****)(iVar5 + (int)ppppppdVar30)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar5 + (int)ppppppdVar30)" ( (binary_expression "iVar5 + (int)ppppppdVar30" identifier + (cast_expression "(int)ppppppdVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppdVar14 = (double ******)pppppdStack_198;" (assignment_expression "ppppppdVar14 = (double ******)pppppdStack_198" identifier = (cast_expression "(double ******)pppppdStack_198" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);" (assignment_expression "ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6)" identifier = (cast_expression "(double ******)FUN_000b57e0(ppppppdVar6)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(ppppppdVar6)" identifier (argument_list "(ppppppdVar6)" ( identifier ))))) ;) (expression_statement "pppppdVar10 = pppppdStack_198;" (assignment_expression "pppppdVar10 = pppppdStack_198" identifier = identifier) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (if_statement "if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;" if (parenthesized_expression "(ppppppdVar7 != (double ******)0x0)" ( (binary_expression "ppppppdVar7 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) (expression_statement "ppppppdVar17 = (double ******)&DAT_00030000;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_00030000" identifier = (cast_expression "(double ******)&DAT_00030000" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00030000" & identifier))) ;) (if_statement "if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }" if (parenthesized_expression "(-1 < (int)pppppdStack_198)" ( (binary_expression "-1 < (int)pppppdStack_198" number_literal < (cast_expression "(int)pppppdStack_198" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }" { (if_statement "if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }" if (parenthesized_expression "((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2])" ( (binary_expression "(int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]" (cast_expression "(int)pppppdStack_198" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "(int)ppppppdVar6[4] - (int)ppppppdVar6[2]" (cast_expression "(int)ppppppdVar6[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[4]" identifier [ number_literal ])) - (cast_expression "(int)ppppppdVar6[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ])))) )) (compound_statement "{\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }" { (expression_statement "pppppdStack_1a0 = *ppppppdVar29;" (assignment_expression "pppppdStack_1a0 = *ppppppdVar29" identifier = (pointer_expression "*ppppppdVar29" * identifier)) ;) (expression_statement "ppppppdVar29 = (double ******)ppppppdVar6[3];" (assignment_expression "ppppppdVar29 = (double ******)ppppppdVar6[3]" identifier = (cast_expression "(double ******)ppppppdVar6[3]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppdVar6[3]" identifier [ number_literal ]))) ;) (expression_statement "pppppdStack_1a4 = ppppppdVar6[2];" (assignment_expression "pppppdStack_1a4 = ppppppdVar6[2]" identifier = (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ])) ;) (expression_statement "ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();" (assignment_expression "ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))()" identifier = (cast_expression "(double ******)(**(code **)(pcStack_1c0 + -0x7d98))()" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcStack_1c0 + -0x7d98))()" (parenthesized_expression "(**(code **)(pcStack_1c0 + -0x7d98))" ( (pointer_expression "**(code **)(pcStack_1c0 + -0x7d98)" * (pointer_expression "*(code **)(pcStack_1c0 + -0x7d98)" * (cast_expression "(code **)(pcStack_1c0 + -0x7d98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c0 + -0x7d98)" ( (binary_expression "pcStack_1c0 + -0x7d98" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "ppppppdVar30 = (double ******)pppppdStack_1a4;" (assignment_expression "ppppppdVar30 = (double ******)pppppdStack_1a4" identifier = (cast_expression "(double ******)pppppdStack_1a4" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar22 = (double ******)pppppdVar10;" (assignment_expression "ppppppdVar22 = (double ******)pppppdVar10" identifier = (cast_expression "(double ******)pppppdVar10" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }" if (parenthesized_expression "(ppppppdVar21 == (double ******)0x0)" ( (binary_expression "ppppppdVar21 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }" { (expression_statement "ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);" (assignment_expression "ppppppdVar14 = (double ******)((int)pppppdVar10 + 1)" identifier = (cast_expression "(double ******)((int)pppppdVar10 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppdVar10 + 1)" ( (binary_expression "(int)pppppdVar10 + 1" (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppdStack_19c = (double *****)ppppppdVar21;" (assignment_expression "pppppdStack_19c = (double *****)ppppppdVar21" identifier = (cast_expression "(double *****)ppppppdVar21" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );" (assignment_expression "iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    )" identifier = (call_expression "(*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    )" (parenthesized_expression "(*pcStack_1ac)" ( (pointer_expression "*pcStack_1ac" * identifier) )) (argument_list "((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    )" ( (binary_expression "(uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)" (call_expression "(uint)(ppppppdVar14 < pppppdVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppppppdVar14 < pppppdVar10)" ( (binary_expression "ppppppdVar14 < pppppdVar10" identifier < identifier) ))) + (parenthesized_expression "((int)pppppdVar10 >> 0x1f)" ( (binary_expression "(int)pppppdVar10 >> 0x1f" (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (if_statement "if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }" { (expression_statement "ppppppdVar30 = (double ******)pppppdVar10;" (assignment_expression "ppppppdVar30 = (double ******)pppppdVar10" identifier = (cast_expression "(double ******)pppppdVar10" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));" (assignment_expression "uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4))" identifier = (call_expression "(**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4))" (parenthesized_expression "(**(code **)(pcStack_1c0 + -0x7af4))" ( (pointer_expression "**(code **)(pcStack_1c0 + -0x7af4)" * (pointer_expression "*(code **)(pcStack_1c0 + -0x7af4)" * (cast_expression "(code **)(pcStack_1c0 + -0x7af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c0 + -0x7af4)" ( (binary_expression "pcStack_1c0 + -0x7af4" identifier + number_literal) ))))) )) (argument_list "(iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4))" ( identifier , (cast_expression "(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar29 + (int)pppppdStack_1a4)" ( (binary_expression "(int)ppppppdVar29 + (int)pppppdStack_1a4" (cast_expression "(int)ppppppdVar29" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppdStack_1a4" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (if_statement "if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }" if (parenthesized_expression "((double ******)pppppdStack_1a0 == (double ******)0x0)" ( (binary_expression "(double ******)pppppdStack_1a0 == (double ******)0x0" (cast_expression "(double ******)pppppdStack_1a0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }" { (expression_statement "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);" (assignment_expression "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]) = (cast_expression "(double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppdVar6[2] + (int)pppppdStack_198)" ( (binary_expression "(int)ppppppdVar6[2] + (int)pppppdStack_198" (cast_expression "(int)ppppppdVar6[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ])) + (cast_expression "(int)pppppdStack_198" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (expression_statement "ppppppdVar7 = (double ******)pppppdStack_19c;" (assignment_expression "ppppppdVar7 = (double ******)pppppdStack_19c" identifier = (cast_expression "(double ******)pppppdStack_19c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar14 = (double ******)pppppdStack_198;" (assignment_expression "ppppppdVar14 = (double ******)pppppdStack_198" identifier = (cast_expression "(double ******)pppppdStack_198" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }) (else_clause "else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }" else (compound_statement "{\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }" { (expression_statement "pppppdStack_1a4 = pppppdStack_19c;" (assignment_expression "pppppdStack_1a4 = pppppdStack_19c" identifier = identifier) ;) (expression_statement "ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);" (assignment_expression "ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3)" identifier = (cast_expression "(double ******)(uint)(pcVar4 == (code *)0x3)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(uint)(pcVar4 == (code *)0x3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar4 == (code *)0x3)" ( (binary_expression "pcVar4 == (code *)0x3" identifier == (cast_expression "(code *)0x3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (expression_statement "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);" (assignment_expression "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4)" identifier = (pointer_expression "*(int *)(pcStack_1c0 + -0x7fb4)" * (cast_expression "(int *)(pcStack_1c0 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7fb4)" ( (binary_expression "pcStack_1c0 + -0x7fb4" identifier + number_literal) ))))) ;) (expression_statement "ppppppdVar30 = (double ******)pppppdVar10;" (assignment_expression "ppppppdVar30 = (double ******)pppppdVar10" identifier = (cast_expression "(double ******)pppppdVar10" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "(*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);" (call_expression "(*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18)" (parenthesized_expression "(*(code *)(iStack_1a8 + -0x2aec))" ( (pointer_expression "*(code *)(iStack_1a8 + -0x2aec)" * (cast_expression "(code *)(iStack_1a8 + -0x2aec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_1a8 + -0x2aec)" ( (binary_expression "iStack_1a8 + -0x2aec" identifier + number_literal) )))) )) (argument_list "(pppppdStack_1a0,uVar18)" ( identifier , identifier ))) ;) (expression_statement "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);" (assignment_expression "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]) = (cast_expression "(double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppdVar6[2] + (int)pppppdStack_198)" ( (binary_expression "(int)ppppppdVar6[2] + (int)pppppdStack_198" (cast_expression "(int)ppppppdVar6[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ])) + (cast_expression "(int)pppppdStack_198" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (expression_statement "ppppppdVar7 = (double ******)pppppdStack_1a4;" (assignment_expression "ppppppdVar7 = (double ******)pppppdStack_1a4" identifier = (cast_expression "(double ******)pppppdStack_1a4" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar14 = (double ******)pppppdStack_198;" (assignment_expression "ppppppdVar14 = (double ******)pppppdStack_198" identifier = (cast_expression "(double ******)pppppdStack_198" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }))) (expression_statement "ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);" (assignment_expression "ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1)" identifier = (cast_expression "(double ******)((int)ppppppdVar33 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar33 + 1)" ( (binary_expression "(int)ppppppdVar33 + 1" (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcStack_1c0 = pcVar36;" (assignment_expression "pcStack_1c0 = pcVar36" identifier = identifier) ;) (expression_statement "pppppdStack_198 = (double *****)ppppppdVar14;" (assignment_expression "pppppdStack_198 = (double *****)ppppppdVar14" identifier = (cast_expression "(double *****)ppppppdVar14" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;" if (parenthesized_expression "((int)ppppppdVar21 < (int)ppppppdVar15)" ( (binary_expression "(int)ppppppdVar21 < (int)ppppppdVar15" (cast_expression "(int)ppppppdVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppppppdVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b5dac;" goto statement_identifier ;)) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) })) (expression_statement "ppppppdVar7 = (double ******)&DAT_00000007;" (assignment_expression "ppppppdVar7 = (double ******)&DAT_00000007" identifier = (cast_expression "(double ******)&DAT_00000007" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);" (assignment_expression "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]) = (cast_expression "(double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppdVar6[2] + (int)pppppdStack_198)" ( (binary_expression "(int)ppppppdVar6[2] + (int)pppppdStack_198" (cast_expression "(int)ppppppdVar6[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ])) + (cast_expression "(int)pppppdStack_198" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) })) (expression_statement "ppppppdVar17 = (double ******)&DAT_000300fd;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_000300fd" identifier = (cast_expression "(double ******)&DAT_000300fd" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_000300fd" & identifier))) ;) (expression_statement "ppppppdVar22 = (double ******)pppppdStack_198;" (assignment_expression "ppppppdVar22 = (double ******)pppppdStack_198" identifier = (cast_expression "(double ******)pppppdStack_198" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (goto_statement "goto LAB_000b5e90;" goto statement_identifier ;) })) (expression_statement "ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);" (assignment_expression "ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1)" identifier = (cast_expression "(double ******)((int)ppppppdVar33 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar33 + 1)" ( (binary_expression "(int)ppppppdVar33 + 1" (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);" (assignment_expression "ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2)" identifier = (cast_expression "(double ******)(uint)(pcVar4 + -1 < (code *)0x2)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(uint)(pcVar4 + -1 < (code *)0x2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar4 + -1 < (code *)0x2)" ( (binary_expression "pcVar4 + -1 < (code *)0x2" (binary_expression "pcVar4 + -1" identifier + number_literal) < (cast_expression "(code *)0x2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (if_statement "if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;" if (parenthesized_expression "(ppppppdVar14 != (double ******)0x0)" ( (binary_expression "ppppppdVar14 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto code_r0x000b6070;" goto statement_identifier ;)) })) (expression_statement "ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);" (assignment_expression "ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1)" identifier = (cast_expression "(double ******)((int)ppppppdVar33 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar33 + 1)" ( (binary_expression "(int)ppppppdVar33 + 1" (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppppppdVar21 = ppppppdVar16;" (assignment_expression "ppppppdVar21 = ppppppdVar16" identifier = identifier) ;) (expression_statement "ppppppdVar24 = ppppppdVar15;" (assignment_expression "ppppppdVar24 = ppppppdVar15" identifier = identifier) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (expression_statement "unaff_s8 = ppppppdVar6;" (assignment_expression "unaff_s8 = ppppppdVar6" identifier = identifier) ;) (if_statement "if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;" if (parenthesized_expression "((int)ppppppdVar15 <= (int)ppppppdVar33)" ( (binary_expression "(int)ppppppdVar15 <= (int)ppppppdVar33" (cast_expression "(int)ppppppdVar15" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b5e64;" goto statement_identifier ;)) (goto_statement "goto LAB_000b5db4;" goto statement_identifier ;) })) (labeled_statement "LAB_000b5e64:\n  ppppppdVar7 = (double ******)0x0;" statement_identifier : (expression_statement "ppppppdVar7 = (double ******)0x0;" (assignment_expression "ppppppdVar7 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (expression_statement "ppppppdVar16 = ppppppdVar21;" (assignment_expression "ppppppdVar16 = ppppppdVar21" identifier = identifier) ;) (expression_statement "ppppppdVar15 = ppppppdVar24;" (assignment_expression "ppppppdVar15 = ppppppdVar24" identifier = identifier) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (expression_statement "ppppppdVar6 = unaff_s8;" (assignment_expression "ppppppdVar6 = unaff_s8" identifier = identifier) ;) (labeled_statement "LAB_000b5de4:\n  if (iStack_18c == *piVar31) {\n    return ppppppdVar7;\n  }" statement_identifier : (if_statement "if (iStack_18c == *piVar31) {\n    return ppppppdVar7;\n  }" if (parenthesized_expression "(iStack_18c == *piVar31)" ( (binary_expression "iStack_18c == *piVar31" identifier == (pointer_expression "*piVar31" * identifier)) )) (compound_statement "{\n    return ppppppdVar7;\n  }" { (return_statement "return ppppppdVar7;" return identifier ;) }))) (expression_statement "pcVar36 = *(code **)(pcVar36 + -0x7b28);" (assignment_expression "pcVar36 = *(code **)(pcVar36 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcVar36 + -0x7b28)" * (cast_expression "(code **)(pcVar36 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + -0x7b28)" ( (binary_expression "pcVar36 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar37 = FUN_000b6188;" (assignment_expression "pcVar37 = FUN_000b6188" identifier = identifier) ;) (expression_statement "iVar5 = iStack_18c;" (assignment_expression "iVar5 = iStack_18c" identifier = identifier) ;) (expression_statement "(*pcVar36)();" (call_expression "(*pcVar36)()" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar23 = *(int **)(pcVar36 + 0xdac9c);" (assignment_expression "piVar23 = *(int **)(pcVar36 + 0xdac9c)" identifier = (pointer_expression "*(int **)(pcVar36 + 0xdac9c)" * (cast_expression "(int **)(pcVar36 + 0xdac9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdac9c)" ( (binary_expression "pcVar36 + 0xdac9c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar5 + 0x5c);" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x5c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "iStack_204 = *piVar23;" (assignment_expression "iStack_204 = *piVar23" identifier = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "pppppdStack_200 = (double *****)ppppppdVar16;" (assignment_expression "pppppdStack_200 = (double *****)ppppppdVar16" identifier = (cast_expression "(double *****)ppppppdVar16" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iStack_1fc = iVar20;" (assignment_expression "iStack_1fc = iVar20" identifier = identifier) ;) (expression_statement "pppppdStack_1f8 = (double *****)ppppppdVar15;" (assignment_expression "pppppdStack_1f8 = (double *****)ppppppdVar15" identifier = (cast_expression "(double *****)ppppppdVar15" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_1f4 = (double *****)ppppppdVar22;" (assignment_expression "pppppdStack_1f4 = (double *****)ppppppdVar22" identifier = (cast_expression "(double *****)ppppppdVar22" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_1f0 = (double *****)ppppppdVar29;" (assignment_expression "pppppdStack_1f0 = (double *****)ppppppdVar29" identifier = (cast_expression "(double *****)ppppppdVar29" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_1ec = pcVar4;" (assignment_expression "pcStack_1ec = pcVar4" identifier = identifier) ;) (expression_statement "piStack_1e8 = piVar31;" (assignment_expression "piStack_1e8 = piVar31" identifier = identifier) ;) (expression_statement "pppppdStack_1e4 = (double *****)ppppppdVar33;" (assignment_expression "pppppdStack_1e4 = (double *****)ppppppdVar33" identifier = (cast_expression "(double *****)ppppppdVar33" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_1e0 = (double *****)ppppppdVar6;" (assignment_expression "pppppdStack_1e0 = (double *****)ppppppdVar6" identifier = (cast_expression "(double *****)ppppppdVar6" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_1dc = pcVar37;" (assignment_expression "pcStack_1dc = pcVar37" identifier = identifier) ;) (if_statement "if (iVar28 != 0) {\n    iVar20 = *(int *)(iVar5 + 0x4c);\n    iVar25 = 0;\n    if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }\n    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);\n  }" if (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar20 = *(int *)(iVar5 + 0x4c);\n    iVar25 = 0;\n    if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }\n    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);\n  }" { (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }" if (parenthesized_expression "(0 < iVar20)" ( (binary_expression "0 < iVar20" number_literal < identifier) )) (compound_statement "{\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }" { (expression_statement "iVar27 = *(int *)(pcVar36 + 0xdaa20);" (assignment_expression "iVar27 = *(int *)(pcVar36 + 0xdaa20)" identifier = (pointer_expression "*(int *)(pcVar36 + 0xdaa20)" * (cast_expression "(int *)(pcVar36 + 0xdaa20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xdaa20)" ( (binary_expression "pcVar36 + 0xdaa20" identifier + number_literal) ))))) ;) (do_statement "do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);" do (compound_statement "{\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      }" { (expression_statement "iVar20 = iVar25 * 4;" (assignment_expression "iVar20 = iVar25 * 4" identifier = (binary_expression "iVar25 * 4" identifier * number_literal)) ;) (expression_statement "iVar25 = iVar25 + 1;" (assignment_expression "iVar25 = iVar25 + 1" identifier = (binary_expression "iVar25 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));" (call_expression "(*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20))" (parenthesized_expression "(*(code *)(iVar27 + -0x18d4))" ( (pointer_expression "*(code *)(iVar27 + -0x18d4)" * (cast_expression "(code *)(iVar27 + -0x18d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + -0x18d4)" ( (binary_expression "iVar27 + -0x18d4" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(iVar28 + iVar20))" ( (pointer_expression "*(undefined4 *)(iVar28 + iVar20)" * (cast_expression "(undefined4 *)(iVar28 + iVar20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + iVar20)" ( (binary_expression "iVar28 + iVar20" identifier + identifier) )))) ))) ;) (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar5 + 0x5c);" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x5c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar25 < iVar20 << 1)" ( (binary_expression "iVar25 < iVar20 << 1" identifier < (binary_expression "iVar20 << 1" identifier << number_literal)) )) ;) })) (expression_statement "(**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);" (call_expression "(**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdabd0))" ( (pointer_expression "**(code **)(pcVar36 + 0xdabd0)" * (pointer_expression "*(code **)(pcVar36 + 0xdabd0)" * (cast_expression "(code **)(pcVar36 + 0xdabd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdabd0)" ( (binary_expression "pcVar36 + 0xdabd0" identifier + number_literal) ))))) )) (argument_list "(iVar28,0,iVar20 << 3)" ( identifier , number_literal , (binary_expression "iVar20 << 3" identifier << number_literal) ))) ;) })) (expression_statement "ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2)" identifier = (cast_expression "(double ******)FUN_000b57e0(iVar5,2)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(iVar5,2)" identifier (argument_list "(iVar5,2)" ( identifier , number_literal ))))) ;) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" * (cast_expression "(double *******)(iVar5 + 0x40)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;" if (parenthesized_expression "(ppppppdVar16 != (double ******)0x0)" ( (binary_expression "ppppppdVar16 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)) {\nLAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;\n    goto LAB_000b6458;\n  }" if (parenthesized_expression "(*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8))" ( (binary_expression "*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0x10)" * (cast_expression "(int *)(iVar5 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) <= (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;\n    goto LAB_000b6458;\n  }" { (labeled_statement "LAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;" statement_identifier : (expression_statement "ppppppdVar16 = (double ******)0x65;" (assignment_expression "ppppppdVar16 = (double ******)0x65" identifier = (cast_expression "(double ******)0x65" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "(*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5);" (call_expression "(*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5)" (parenthesized_expression "(*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))" ( (pointer_expression "*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4)" * (cast_expression "(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4)" ( (binary_expression "*(int *)(pcVar36 + 0xdaa1c) + 0x27a4" (pointer_expression "*(int *)(pcVar36 + 0xdaa1c)" * (cast_expression "(int *)(pcVar36 + 0xdaa1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xdaa1c)" ( (binary_expression "pcVar36 + 0xdaa1c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar5)" ( identifier ))) ;) (expression_statement "iVar28 = *(int *)(iVar5 + 8);" (assignment_expression "iVar28 = *(int *)(iVar5 + 8)" identifier = (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar25 = *(int *)(pcVar36 + 0xdaa20);" (assignment_expression "iVar25 = *(int *)(pcVar36 + 0xdaa20)" identifier = (pointer_expression "*(int *)(pcVar36 + 0xdaa20)" * (cast_expression "(int *)(pcVar36 + 0xdaa20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xdaa20)" ( (binary_expression "pcVar36 + 0xdaa20" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar5 + 4) = iVar28;" (assignment_expression "*(int *)(iVar5 + 4) = iVar28" (pointer_expression "*(int *)(iVar5 + 4)" * (cast_expression "(int *)(iVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar5 + 8) = iVar28 + 1;" (assignment_expression "*(int *)(iVar5 + 8) = iVar28 + 1" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *(byte *)(iVar20 + iVar28);" (assignment_expression "bVar1 = *(byte *)(iVar20 + iVar28)" identifier = (pointer_expression "*(byte *)(iVar20 + iVar28)" * (cast_expression "(byte *)(iVar20 + iVar28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + iVar28)" ( (binary_expression "iVar20 + iVar28" identifier + identifier) ))))) ;) (while_statement "while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }\n    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);\n    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar5 + 0x30) = 0;\n    iStack_208 = iStack_208 - iVar28;\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;\n    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;\n    iVar28 = *(int *)(iVar5 + 0x4c) * 8;\n    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);\n    (**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);\n    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n    *(int *)(iVar5 + 0x58) = iVar28;\n    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;\n    ppppppdVar16 = (double ******)pppppdStack_20c;\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;\n    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n    iVar28 = *(int *)(iVar5 + 8);\n    *(int *)(iVar5 + 4) = iVar28;\n    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;\n    iVar20 = *(int *)(iVar5 + 0xc);\n    *(int *)(iVar5 + 8) = iVar28 + 1;\n    bVar1 = *(byte *)(iVar20 + iVar28);\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 (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }\n    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);\n    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar5 + 0x30) = 0;\n    iStack_208 = iStack_208 - iVar28;\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;\n    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;\n    iVar28 = *(int *)(iVar5 + 0x4c) * 8;\n    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);\n    (**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);\n    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n    *(int *)(iVar5 + 0x58) = iVar28;\n    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;\n    ppppppdVar16 = (double ******)pppppdStack_20c;\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;\n    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n    iVar28 = *(int *)(iVar5 + 8);\n    *(int *)(iVar5 + 4) = iVar28;\n    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;\n    iVar20 = *(int *)(iVar5 + 0xc);\n    *(int *)(iVar5 + 8) = iVar28 + 1;\n    bVar1 = *(byte *)(iVar20 + iVar28);\n  }" { (if_statement "if (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }" if (parenthesized_expression "(ppppppdVar17 != (double ******)0x0)" ( (binary_expression "ppppppdVar17 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      *ppppppdVar17 = (double *****)0x1;\n    }" { (expression_statement "*ppppppdVar17 = (double *****)0x1;" (assignment_expression "*ppppppdVar17 = (double *****)0x1" (pointer_expression "*ppppppdVar17" * identifier) = (cast_expression "(double *****)0x1" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) })) (expression_statement "*(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);" (assignment_expression "*(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50)" (pointer_expression "*(uint *)(iVar5 + 0x38)" * (cast_expression "(uint *)(iVar5 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 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 "pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);" (assignment_expression "pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208)" identifier = (cast_expression "(double *****)FUN_000b5998(iVar5,&iStack_208)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "FUN_000b5998(iVar5,&iStack_208)" identifier (argument_list "(iVar5,&iStack_208)" ( identifier , (pointer_expression "&iStack_208" & identifier) ))))) ;) (if_statement "if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }" if (parenthesized_expression "((double ******)pppppdStack_20c != (double ******)0x0)" ( (binary_expression "(double ******)pppppdStack_20c != (double ******)0x0" (cast_expression "(double ******)pppppdStack_20c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }" { (labeled_statement "LAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;" statement_identifier : (expression_statement "*(double ******)(iVar5 + 0x40) = pppppdStack_20c;" (assignment_expression "*(double ******)(iVar5 + 0x40) = pppppdStack_20c" (pointer_expression "*(double ******)(iVar5 + 0x40)" * (cast_expression "(double ******)(iVar5 + 0x40)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);" (assignment_expression "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c)" (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) )))) = (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*(int *)(iVar5 + 0x58) = iVar28;" (assignment_expression "*(int *)(iVar5 + 0x58) = iVar28" (pointer_expression "*(int *)(iVar5 + 0x58)" * (cast_expression "(int *)(iVar5 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x58)" ( (binary_expression "iVar5 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);" (assignment_expression "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c)" (pointer_expression "*(int *)(iVar5 + 0x48)" * (cast_expression "(int *)(iVar5 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x48)" ( (binary_expression "iVar5 + 0x48" identifier + number_literal) )))) = (binary_expression "iVar28 + *(int *)(iVar5 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))))) ;) (expression_statement "ppppppdVar16 = (double ******)pppppdStack_20c;" (assignment_expression "ppppppdVar16 = (double ******)pppppdStack_20c" identifier = (cast_expression "(double ******)pppppdStack_20c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));" (assignment_expression "pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" identifier = (cast_expression "(byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" ( (binary_expression "*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 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      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 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      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }" { (expression_statement "iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);" (assignment_expression "iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c)" identifier = (call_expression "(*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c)" (parenthesized_expression "(*(code *)(iVar25 + 0x3388))" ( (pointer_expression "*(code *)(iVar25 + 0x3388)" * (cast_expression "(code *)(iVar25 + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x3388)" ( (binary_expression "iVar25 + 0x3388" identifier + number_literal) )))) )) (argument_list "(pbVar11,iVar5 + 0x4c)" ( identifier , (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))) ;) (expression_statement "uVar8 = *(uint *)(iVar5 + 0x4c);" (assignment_expression "uVar8 = *(uint *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(uint *)(iVar5 + 0x4c)" * (cast_expression "(uint *)(iVar5 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }" else (compound_statement "{\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }" { (expression_statement "iVar28 = 1;" (assignment_expression "iVar28 = 1" identifier = number_literal) ;) (expression_statement "*(uint *)(iVar5 + 0x4c) = uVar8;" (assignment_expression "*(uint *)(iVar5 + 0x4c) = uVar8" (pointer_expression "*(uint *)(iVar5 + 0x4c)" * (cast_expression "(uint *)(iVar5 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))) = identifier) ;) }))) (if_statement "if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 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 **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }" { (expression_statement "(**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdaa58))" ( (pointer_expression "**(code **)(pcVar36 + 0xdaa58)" * (pointer_expression "*(code **)(pcVar36 + 0xdaa58)" * (cast_expression "(code **)(pcVar36 + 0xdaa58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdaa58)" ( (binary_expression "pcVar36 + 0xdaa58" identifier + number_literal) ))))) )) (argument_list "(0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c)" ( number_literal , (binary_expression "*(int *)(pcVar36 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(pcVar36 + 0xda7d4)" * (cast_expression "(int *)(pcVar36 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xda7d4)" ( (binary_expression "pcVar36 + 0xda7d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(pcVar36 + 0xda7d4)" * (cast_expression "(int *)(pcVar36 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xda7d4)" ( (binary_expression "pcVar36 + 0xda7d4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar36 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(pcVar36 + 0xda7d0)" * (cast_expression "(int *)(pcVar36 + 0xda7d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xda7d0)" ( (binary_expression "pcVar36 + 0xda7d0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "ppppppdVar16 = (double ******)&DAT_0000000b;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_0000000b" identifier = (cast_expression "(double ******)&DAT_0000000b" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (expression_statement "*(undefined4 *)(iVar5 + 0x40) = 0xb;" (assignment_expression "*(undefined4 *)(iVar5 + 0x40) = 0xb" (pointer_expression "*(undefined4 *)(iVar5 + 0x40)" * (cast_expression "(undefined4 *)(iVar5 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);" (assignment_expression "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c)" (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) )))) = (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*(int *)(iVar5 + 0x58) = iVar28;" (assignment_expression "*(int *)(iVar5 + 0x58) = iVar28" (pointer_expression "*(int *)(iVar5 + 0x58)" * (cast_expression "(int *)(iVar5 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x58)" ( (binary_expression "iVar5 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);" (assignment_expression "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c)" (pointer_expression "*(int *)(iVar5 + 0x48)" * (cast_expression "(int *)(iVar5 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x48)" ( (binary_expression "iVar5 + 0x48" identifier + number_literal) )))) = (binary_expression "iVar28 + *(int *)(iVar5 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))))) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(iVar5 + 0x30) = 0;" (assignment_expression "*(undefined4 *)(iVar5 + 0x30) = 0" (pointer_expression "*(undefined4 *)(iVar5 + 0x30)" * (cast_expression "(undefined4 *)(iVar5 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iStack_208 = iStack_208 - iVar28;" (assignment_expression "iStack_208 = iStack_208 - iVar28" identifier = (binary_expression "iStack_208 - iVar28" identifier - identifier)) ;) (expression_statement "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;" (assignment_expression "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar5 + 8) + iVar28" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) + identifier)) ;) (expression_statement "FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);" (call_expression "FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c)" identifier (argument_list "(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) , (binary_expression "uVar8 * 8 + iStack_208" (binary_expression "uVar8 * 8" identifier * number_literal) + identifier) , (pointer_expression "&pppppdStack_20c" & identifier) ))) ;) (if_statement "if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;" if (parenthesized_expression "((double ******)pppppdStack_20c != (double ******)0x0)" ( (binary_expression "(double ******)pppppdStack_20c != (double ******)0x0" (cast_expression "(double ******)pppppdStack_20c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b6434;" goto statement_identifier ;)) (expression_statement "iVar28 = *(int *)(iVar5 + 0x4c) * 8;" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "(**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);" (call_expression "(**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdabd0))" ( (pointer_expression "**(code **)(pcVar36 + 0xdabd0)" * (pointer_expression "*(code **)(pcVar36 + 0xdabd0)" * (cast_expression "(code **)(pcVar36 + 0xdabd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdabd0)" ( (binary_expression "pcVar36 + 0xdabd0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar5 + 0x2c),0,iVar28)" ( (pointer_expression "*(undefined4 *)(iVar5 + 0x2c)" * (cast_expression "(undefined4 *)(iVar5 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) , number_literal , identifier ))) ;) (expression_statement "(**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);" (call_expression "(**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdaca4))" ( (pointer_expression "**(code **)(pcVar36 + 0xdaca4)" * (pointer_expression "*(code **)(pcVar36 + 0xdaca4)" * (cast_expression "(code **)(pcVar36 + 0xdaca4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdaca4)" ( (binary_expression "pcVar36 + 0xdaca4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208)" ( (binary_expression "*(int *)(iVar5 + 0x2c) + iVar28" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) + identifier) , (binary_expression "*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) , identifier ))) ;) (expression_statement "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);" (assignment_expression "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c)" (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) )))) = (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar5 + 0x58) = iVar28;" (assignment_expression "*(int *)(iVar5 + 0x58) = iVar28" (pointer_expression "*(int *)(iVar5 + 0x58)" * (cast_expression "(int *)(iVar5 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x58)" ( (binary_expression "iVar5 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(double ******)(iVar5 + 0x40) = pppppdStack_20c;" (assignment_expression "*(double ******)(iVar5 + 0x40) = pppppdStack_20c" (pointer_expression "*(double ******)(iVar5 + 0x40)" * (cast_expression "(double ******)(iVar5 + 0x40)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);" (assignment_expression "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c)" (pointer_expression "*(int *)(iVar5 + 0x48)" * (cast_expression "(int *)(iVar5 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x48)" ( (binary_expression "iVar5 + 0x48" identifier + number_literal) )))) = (binary_expression "iVar28 + *(int *)(iVar5 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;" (assignment_expression "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar5 + 8) + iStack_208" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) + identifier)) ;) (expression_statement "ppppppdVar16 = (double ******)pppppdStack_20c;" (assignment_expression "ppppppdVar16 = (double ******)pppppdStack_20c" identifier = (cast_expression "(double ******)pppppdStack_20c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;" if (parenthesized_expression "((double ******)pppppdStack_20c != (double ******)0x0)" ( (binary_expression "(double ******)pppppdStack_20c != (double ******)0x0" (cast_expression "(double ******)pppppdStack_20c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2)" identifier = (cast_expression "(double ******)FUN_000b57e0(iVar5,2)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(iVar5,2)" identifier (argument_list "(iVar5,2)" ( identifier , number_literal ))))) ;) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" * (cast_expression "(double *******)(iVar5 + 0x40)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;" if (parenthesized_expression "(ppppppdVar16 != (double ******)0x0)" ( (binary_expression "ppppppdVar16 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "iVar28 = *(int *)(iVar5 + 8);" (assignment_expression "iVar28 = *(int *)(iVar5 + 8)" identifier = (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar5 + 4) = iVar28;" (assignment_expression "*(int *)(iVar5 + 4) = iVar28" (pointer_expression "*(int *)(iVar5 + 4)" * (cast_expression "(int *)(iVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;" if (parenthesized_expression "(*(int *)(iVar5 + 0x10) <= iVar28)" ( (binary_expression "*(int *)(iVar5 + 0x10) <= iVar28" (pointer_expression "*(int *)(iVar5 + 0x10)" * (cast_expression "(int *)(iVar5 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_000b6494;" goto statement_identifier ;)) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar5 + 8) = iVar28 + 1;" (assignment_expression "*(int *)(iVar5 + 8) = iVar28 + 1" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *(byte *)(iVar20 + iVar28);" (assignment_expression "bVar1 = *(byte *)(iVar20 + iVar28)" identifier = (pointer_expression "*(byte *)(iVar20 + iVar28)" * (cast_expression "(byte *)(iVar20 + iVar28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + iVar28)" ( (binary_expression "iVar20 + iVar28" identifier + identifier) ))))) ;) })) (if_statement "if ((*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" if (parenthesized_expression "((*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0))))" ( (binary_expression "(*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))" (parenthesized_expression "(*(int *)(iVar5 + 0x48) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x48) == 0" (pointer_expression "*(int *)(iVar5 + 0x48)" * (cast_expression "(int *)(iVar5 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x48)" ( (binary_expression "iVar5 + 0x48" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))" ( (parenthesized_expression "(iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0))" ( (comma_expression "iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x38)" identifier = (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) ))))) , (binary_expression "iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)" (binary_expression "iVar28 != 0" identifier != number_literal) && (parenthesized_expression "(*(int *)(iVar5 + 0x3c) != 0)" ( (binary_expression "*(int *)(iVar5 + 0x3c) != 0" (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 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    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" else (compound_statement "{\n    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" { (expression_statement "iVar25 = *(int *)(iVar5 + 8);" (assignment_expression "iVar25 = *(int *)(iVar5 + 8)" identifier = (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar5 + 0x50) = uVar8;" (assignment_expression "*(uint *)(iVar5 + 0x50) = uVar8" (pointer_expression "*(uint *)(iVar5 + 0x50)" * (cast_expression "(uint *)(iVar5 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar5 + 8) = iVar25 + 1;" (assignment_expression "*(int *)(iVar5 + 8) = iVar25 + 1" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) = (binary_expression "iVar25 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);" (assignment_expression "*(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25)" (pointer_expression "*(uint *)(iVar5 + 0x54)" * (cast_expression "(uint *)(iVar5 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x54)" ( (binary_expression "iVar5 + 0x54" identifier + number_literal) )))) = (binary_expression "(uint)*(byte *)(iVar20 + iVar25)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar20 + iVar25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + iVar25)" ( (binary_expression "iVar20 + iVar25" identifier + identifier) ))))) ;) (if_statement "if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\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      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }" { (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) (if_statement "if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }" if (parenthesized_expression "(ppppppdVar14 != (double ******)0x0)" ( (binary_expression "ppppppdVar14 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }" { (if_statement "if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }" if (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == 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 (iVar20 < 1) goto LAB_000b6830;" if (parenthesized_expression "(iVar20 < 1)" ( (binary_expression "iVar20 < 1" identifier < number_literal) )) (goto_statement "goto LAB_000b6830;" goto statement_identifier ;)) (expression_statement "pcVar9 = *(char **)(iVar5 + 0x58);" (assignment_expression "pcVar9 = *(char **)(iVar5 + 0x58)" identifier = (pointer_expression "*(char **)(iVar5 + 0x58)" * (cast_expression "(char **)(iVar5 + 0x58)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x58)" ( (binary_expression "iVar5 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "pcVar13 = pcVar9 + iVar20;" (assignment_expression "pcVar13 = pcVar9 + iVar20" identifier = (binary_expression "pcVar9 + iVar20" identifier + identifier)) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (do_statement "do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );" do (compound_statement "{\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          }" { (if_statement "if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }" if (parenthesized_expression "(*pcVar9 != '\0')" ( (binary_expression "*pcVar9 != '\0'" (pointer_expression "*pcVar9" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar20 = iVar20 + 1;\n            }" { (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 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 (pcVar13 == pcVar9) goto LAB_000b65d4;" if (parenthesized_expression "(pcVar13 == pcVar9)" ( (binary_expression "pcVar13 == 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 "iVar20 = iVar20 << 1;" (assignment_expression "iVar20 = iVar20 << 1" identifier = (binary_expression "iVar20 << 1" identifier << number_literal)) ;) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;) })) (expression_statement "iVar19 = *(int *)(iVar5 + 0x5c);" (assignment_expression "iVar19 = *(int *)(iVar5 + 0x5c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = iVar19 + iVar20 * 4;" (assignment_expression "iVar27 = iVar19 + iVar20 * 4" identifier = (binary_expression "iVar19 + iVar20 * 4" identifier + (binary_expression "iVar20 * 4" identifier * number_literal))) ;) (expression_statement "iVar25 = iVar19;" (assignment_expression "iVar25 = iVar19" identifier = identifier) ;) (if_statement "if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }" if (parenthesized_expression "(*(int *)(iVar5 + 0x3c) != 0)" ( (binary_expression "*(int *)(iVar5 + 0x3c) != 0" (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }" { (expression_statement "iVar25 = iVar27;" (assignment_expression "iVar25 = iVar27" identifier = identifier) ;) (expression_statement "iVar27 = iVar19;" (assignment_expression "iVar27 = iVar19" identifier = identifier) ;) })) (if_statement "if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }" if (parenthesized_expression "(uVar8 == 0x12)" ( (binary_expression "uVar8 == 0x12" identifier == number_literal) )) (compound_statement "{\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }" { (labeled_statement "LAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);" statement_identifier : (expression_statement "ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27)" identifier = (cast_expression "(double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b5d20(iVar5,iVar20,0,iVar27)" identifier (argument_list "(iVar5,iVar20,0,iVar27)" ( identifier , identifier , number_literal , identifier ))))) ;)) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" * (cast_expression "(double *******)(iVar5 + 0x40)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;" if (parenthesized_expression "(ppppppdVar16 != (double ******)0x0)" ( (binary_expression "ppppppdVar16 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" if (parenthesized_expression "(*(int *)(iVar5 + 0x38) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x38) == 0" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }" { (if_statement "if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;" if (parenthesized_expression "(*(int *)(iVar5 + 0x3c) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x3c) == 0" (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000b6734;" goto statement_identifier ;)) (expression_statement "iVar28 = *(int *)(iVar5 + 0x50);" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x50)" identifier = (pointer_expression "*(int *)(iVar5 + 0x50)" * (cast_expression "(int *)(iVar5 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (iVar28 != 0x17) goto LAB_000b6788;" if (parenthesized_expression "(iVar28 != 0x17)" ( (binary_expression "iVar28 != 0x17" identifier != number_literal) )) (goto_statement "goto LAB_000b6788;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" else (compound_statement "{\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" { (expression_statement "iVar28 = *(int *)(iVar5 + 0x50);" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x50)" identifier = (pointer_expression "*(int *)(iVar5 + 0x50)" * (cast_expression "(int *)(iVar5 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }" if (parenthesized_expression "(iVar28 != 0x17)" ( (binary_expression "iVar28 != 0x17" identifier != number_literal) )) (compound_statement "{\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }" { (expression_statement "iVar20 = *(int *)(iVar5 + 0x3c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b6780;" goto statement_identifier ;) })) }))) (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }" if (parenthesized_expression "(0 < iVar20)" ( (binary_expression "0 < iVar20" number_literal < identifier) )) (compound_statement "{\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }" { (do_statement "do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);" do (compound_statement "{\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          }" { (if_statement "if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }" if (parenthesized_expression "(*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0')" ( (binary_expression "*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0'" (pointer_expression "*(char *)(*(int *)(iVar5 + 0x58) + iVar28)" * (cast_expression "(char *)(*(int *)(iVar5 + 0x58) + iVar28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x58) + iVar28)" ( (binary_expression "*(int *)(iVar5 + 0x58) + iVar28" (pointer_expression "*(int *)(iVar5 + 0x58)" * (cast_expression "(int *)(iVar5 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x58)" ( (binary_expression "iVar5 + 0x58" identifier + number_literal) )))) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }" { (expression_statement "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);" (assignment_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4)" (pointer_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" ( (binary_expression "*(int *)(iVar5 + 0x5c) + iVar28 * 4" (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) )))) + (binary_expression "iVar28 * 4" identifier * number_literal)) )))) = (pointer_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4)" ( (binary_expression "*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4" (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) )))) + (binary_expression "(iVar20 + iVar28) * 4" (parenthesized_expression "(iVar20 + iVar28)" ( (binary_expression "iVar20 + iVar28" identifier + identifier) )) * number_literal)) ))))) ;) (if_statement "if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }" if (parenthesized_expression "(*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0)" ( (binary_expression "*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0" (pointer_expression "*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" * (cast_expression "(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" ( (binary_expression "*(int *)(iVar5 + 0x5c) + iVar28 * 4" (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) )))) + (binary_expression "iVar28 * 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 *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4)" ( (binary_expression "*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4" (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) )))) + (binary_expression "(iVar28 + *(int *)(iVar5 + 0x4c)) * 4" (parenthesized_expression "(iVar28 + *(int *)(iVar5 + 0x4c))" ( (binary_expression "iVar28 + *(int *)(iVar5 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) )) * number_literal)) )))) = number_literal) ;) (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) })) (expression_statement "iVar28 = iVar28 + 1;" (assignment_expression "iVar28 = iVar28 + 1" identifier = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar28 < iVar20)" ( (binary_expression "iVar28 < iVar20" identifier < identifier) )) ;) })) }) (else_clause "else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }" else (compound_statement "{\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }" { (if_statement "if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }" if (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 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 "ppppppdVar14 = *(double *******)(iVar5 + 0x58);" (assignment_expression "ppppppdVar14 = *(double *******)(iVar5 + 0x58)" identifier = (pointer_expression "*(double *******)(iVar5 + 0x58)" * (cast_expression "(double *******)(iVar5 + 0x58)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0x58)" ( (binary_expression "iVar5 + 0x58" identifier + number_literal) ))))) ;) })) (expression_statement "ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25)" identifier = (cast_expression "(double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25)" identifier (argument_list "(iVar5,iVar20,ppppppdVar14,iVar25)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" * (cast_expression "(double *******)(iVar5 + 0x40)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;" if (parenthesized_expression "(ppppppdVar16 != (double ******)0x0)" ( (binary_expression "ppppppdVar16 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }" if (parenthesized_expression "(*(int *)(iVar5 + 0x50) != 9)" ( (binary_expression "*(int *)(iVar5 + 0x50) != 9" (pointer_expression "*(int *)(iVar5 + 0x50)" * (cast_expression "(int *)(iVar5 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }" { (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b6678;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }" if (parenthesized_expression "(*(int *)(iVar5 + 0x38) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x38) == 0" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }" { (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" identifier = (cast_expression "(double ******)&DAT_00000064" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000064" & identifier))) ;) (if_statement "if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;" if (parenthesized_expression "(*(int *)(iVar5 + 0x3c) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x3c) == 0" (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "iVar28 = 9;" (assignment_expression "iVar28 = 9" identifier = number_literal) ;) }) (else_clause "else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }" else (compound_statement "{\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }" { (expression_statement "iVar20 = *(int *)(iVar5 + 0x3c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = 9;" (assignment_expression "iVar28 = 9" identifier = number_literal) ;) (labeled_statement "LAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;" statement_identifier : (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" identifier = (cast_expression "(double ******)&DAT_00000064" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000064" & identifier))) ;)) (if_statement "if (iVar20 == 0) goto LAB_000b6458;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" statement_identifier : (if_statement "if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" if (parenthesized_expression "(iVar28 == 0x12)" ( (binary_expression "iVar28 == 0x12" identifier == number_literal) )) (compound_statement "{\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" { (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" identifier = (cast_expression "(double ******)&DAT_00000064" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000064" & identifier))) ;) (expression_statement "*(undefined4 *)(iVar5 + 0x50) = 9;" (assignment_expression "*(undefined4 *)(iVar5 + 0x50) = 9" (pointer_expression "*(undefined4 *)(iVar5 + 0x50)" * (cast_expression "(undefined4 *)(iVar5 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) }))) (if_statement "if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }" if (parenthesized_expression "(iVar28 == 9)" ( (binary_expression "iVar28 == 9" identifier == number_literal) )) (compound_statement "{\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }" { (expression_statement "*(undefined4 *)(iVar5 + 0x50) = 0x12;" (assignment_expression "*(undefined4 *)(iVar5 + 0x50) = 0x12" (pointer_expression "*(undefined4 *)(iVar5 + 0x50)" * (cast_expression "(undefined4 *)(iVar5 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" identifier = (cast_expression "(double ******)&DAT_00000064" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000064" & identifier))) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;" statement_identifier : (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" identifier = (cast_expression "(double ******)&DAT_00000064" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000064" & identifier))) ;)) (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 **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c);" statement_identifier : (expression_statement "(**(code **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdaa58))" ( (pointer_expression "**(code **)(pcVar36 + 0xdaa58)" * (pointer_expression "*(code **)(pcVar36 + 0xdaa58)" * (cast_expression "(code **)(pcVar36 + 0xdaa58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdaa58)" ( (binary_expression "pcVar36 + 0xdaa58" identifier + number_literal) ))))) )) (argument_list "(0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c)" ( number_literal , (binary_expression "*(int *)(pcVar36 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(pcVar36 + 0xda7d4)" * (cast_expression "(int *)(pcVar36 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xda7d4)" ( (binary_expression "pcVar36 + 0xda7d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(pcVar36 + 0xda7d4)" * (cast_expression "(int *)(pcVar36 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xda7d4)" ( (binary_expression "pcVar36 + 0xda7d4" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar36 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(pcVar36 + 0xda7d0)" * (cast_expression "(int *)(pcVar36 + 0xda7d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xda7d0)" ( (binary_expression "pcVar36 + 0xda7d0" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "ppppppdVar16 = (double ******)&DAT_0000000b;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_0000000b" identifier = (cast_expression "(double ******)&DAT_0000000b" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (expression_statement "*(undefined4 *)(iVar5 + 0x40) = 0xb;" (assignment_expression "*(undefined4 *)(iVar5 + 0x40) = 0xb" (pointer_expression "*(undefined4 *)(iVar5 + 0x40)" * (cast_expression "(undefined4 *)(iVar5 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_000b6458:\n  while (iStack_204 != *piVar23) {\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }" statement_identifier : (while_statement "while (iStack_204 != *piVar23) {\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }" while (parenthesized_expression "(iStack_204 != *piVar23)" ( (binary_expression "iStack_204 != *piVar23" identifier != (pointer_expression "*piVar23" * identifier)) )) (compound_statement "{\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }" { (expression_statement "(**(code **)(pcVar36 + 0xdac70))();" (call_expression "(**(code **)(pcVar36 + 0xdac70))()" (parenthesized_expression "(**(code **)(pcVar36 + 0xdac70))" ( (pointer_expression "**(code **)(pcVar36 + 0xdac70)" * (pointer_expression "*(code **)(pcVar36 + 0xdac70)" * (cast_expression "(code **)(pcVar36 + 0xdac70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdac70)" ( (binary_expression "pcVar36 + 0xdac70" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000b6830:\n    iVar20 = 0;" statement_identifier : (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);" statement_identifier : (expression_statement "ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30)" identifier = (cast_expression "(double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b5b8c(iVar5,iVar20,ppppppdVar30)" identifier (argument_list "(iVar5,iVar20,ppppppdVar30)" ( identifier , identifier , identifier ))))) ;)) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" * (cast_expression "(double *******)(iVar5 + 0x40)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }" if (parenthesized_expression "(ppppppdVar16 == (double ******)0x0)" ( (binary_expression "ppppppdVar16 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }" { (expression_statement "*ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));" (assignment_expression "*ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" (pointer_expression "*ppppppdVar14" * identifier) = (cast_expression "(double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" ( (binary_expression "*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )))) ;) (expression_statement "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;" (assignment_expression "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar5 + 8) + (int)*ppppppdVar30" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) + (cast_expression "(int)*ppppppdVar30" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppppppdVar30" * identifier)))) ;) (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" identifier = (cast_expression "(double ******)&DAT_00000064" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000064" & identifier))) ;) })) }))) (return_statement "return ppppppdVar16;" return identifier ;) (labeled_statement "code_r0x000b6070:\n  ppppppdVar30 = *(double *******)pdVar12;" statement_identifier : (expression_statement "ppppppdVar30 = *(double *******)pdVar12;" (assignment_expression "ppppppdVar30 = *(double *******)pdVar12" identifier = (pointer_expression "*(double *******)pdVar12" * (cast_expression "(double *******)pdVar12" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ;)) (expression_statement "ppppppdVar17 = *(double *******)((int)pdVar12 + 4);" (assignment_expression "ppppppdVar17 = *(double *******)((int)pdVar12 + 4)" identifier = (pointer_expression "*(double *******)((int)pdVar12 + 4)" * (cast_expression "(double *******)((int)pdVar12 + 4)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (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 "dVar38 = *pdVar12;" (assignment_expression "dVar38 = *pdVar12" identifier = (pointer_expression "*pdVar12" * identifier)) ;) (expression_statement "uVar3 = *(ushort *)(ppppppdVar24 + 2);" (assignment_expression "uVar3 = *(ushort *)(ppppppdVar24 + 2)" identifier = (pointer_expression "*(ushort *)(ppppppdVar24 + 2)" * (cast_expression "(ushort *)(ppppppdVar24 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppdVar24 + 2)" ( (binary_expression "ppppppdVar24 + 2" identifier + number_literal) ))))) ;) (expression_statement "ppppppdVar14 = (double ******)(uVar3 & 0x2400);" (assignment_expression "ppppppdVar14 = (double ******)(uVar3 & 0x2400)" identifier = (cast_expression "(double ******)(uVar3 & 0x2400)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(uVar3 & 0x2400)" ( (binary_expression "uVar3 & 0x2400" identifier & number_literal) )))) ;) (expression_statement "ppppppdVar21 = ppppppdVar34;" (assignment_expression "ppppppdVar21 = ppppppdVar34" identifier = identifier) ;) (if_statement "if (pcVar4 == (code *)0x1) {\n    if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }\n  }\n  else {\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }" if (parenthesized_expression "(pcVar4 == (code *)0x1)" ( (binary_expression "pcVar4 == (code *)0x1" identifier == (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }\n  }" { (if_statement "if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }" if (parenthesized_expression "((uVar3 & 0x2400) == 0)" ( (binary_expression "(uVar3 & 0x2400) == 0" (parenthesized_expression "(uVar3 & 0x2400)" ( (binary_expression "uVar3 & 0x2400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }" { (expression_statement "ppppppdVar24[1] = (double *****)ppppppdVar17;" (assignment_expression "ppppppdVar24[1] = (double *****)ppppppdVar17" (subscript_expression "ppppppdVar24[1]" identifier [ number_literal ]) = (cast_expression "(double *****)ppppppdVar17" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "*ppppppdVar24 = (double *****)ppppppdVar30;" (assignment_expression "*ppppppdVar24 = (double *****)ppppppdVar30" (pointer_expression "*ppppppdVar24" * identifier) = (cast_expression "(double *****)ppppppdVar30" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "*(undefined2 *)(ppppppdVar24 + 2) = 4;" (assignment_expression "*(undefined2 *)(ppppppdVar24 + 2) = 4" (pointer_expression "*(undefined2 *)(ppppppdVar24 + 2)" * (cast_expression "(undefined2 *)(ppppppdVar24 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppdVar24 + 2)" ( (binary_expression "ppppppdVar24 + 2" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }" else (compound_statement "{\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }" { (expression_statement "pppppdStack_1a4 = (double *****)ppppppdVar34;" (assignment_expression "pppppdStack_1a4 = (double *****)ppppppdVar34" identifier = (cast_expression "(double *****)ppppppdVar34" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);" (call_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))" ( (pointer_expression "*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc)" * (cast_expression "(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc" (pointer_expression "*(int *)(pcStack_1c0 + -0x7d78)" * (cast_expression "(int *)(pcStack_1c0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7d78)" ( (binary_expression "pcStack_1c0 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppdVar24)" ( identifier ))) ;) (expression_statement "ppppppdVar21 = (double ******)pppppdStack_1a4;" (assignment_expression "ppppppdVar21 = (double ******)pppppdStack_1a4" identifier = (cast_expression "(double ******)pppppdStack_1a4" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }))) }) (else_clause "else {\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }" else (compound_statement "{\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }" { (expression_statement "pppppdStack_198 = (double *****)ppppppdVar30;" (assignment_expression "pppppdStack_198 = (double *****)ppppppdVar30" identifier = (cast_expression "(double *****)ppppppdVar30" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_194 = (double *****)ppppppdVar17;" (assignment_expression "pppppdStack_194 = (double *****)ppppppdVar17" identifier = (cast_expression "(double *****)ppppppdVar17" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }" if (parenthesized_expression "((uVar3 & 0x2400) == 0)" ( (binary_expression "(uVar3 & 0x2400) == 0" (parenthesized_expression "(uVar3 & 0x2400)" ( (binary_expression "uVar3 & 0x2400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }" { (expression_statement "*(undefined2 *)(ppppppdVar24 + 2) = 1;" (assignment_expression "*(undefined2 *)(ppppppdVar24 + 2) = 1" (pointer_expression "*(undefined2 *)(ppppppdVar24 + 2)" * (cast_expression "(undefined2 *)(ppppppdVar24 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppdVar24 + 2)" ( (binary_expression "ppppppdVar24 + 2" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }" else (compound_statement "{\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }" { (expression_statement "pppppdStack_1a4 = (double *****)ppppppdVar24;" (assignment_expression "pppppdStack_1a4 = (double *****)ppppppdVar24" identifier = (cast_expression "(double *****)ppppppdVar24" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_1a0 = (double *****)ppppppdVar34;" (assignment_expression "pppppdStack_1a0 = (double *****)ppppppdVar34" identifier = (cast_expression "(double *****)ppppppdVar34" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);" (call_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))" ( (pointer_expression "*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170)" * (cast_expression "(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7d78) + -0x2170" (pointer_expression "*(int *)(pcStack_1c0 + -0x7d78)" * (cast_expression "(int *)(pcStack_1c0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7d78)" ( (binary_expression "pcStack_1c0 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppdVar24)" ( identifier ))) ;) (expression_statement "ppppppdVar24 = (double ******)pppppdStack_1a4;" (assignment_expression "ppppppdVar24 = (double ******)pppppdStack_1a4" identifier = (cast_expression "(double ******)pppppdStack_1a4" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar21 = (double ******)pppppdStack_1a0;" (assignment_expression "ppppppdVar21 = (double ******)pppppdStack_1a0" identifier = (cast_expression "(double ******)pppppdStack_1a0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }))) (if_statement "if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }" if (parenthesized_expression "(!NAN(dVar38))" ( (unary_expression "!NAN(dVar38)" ! (call_expression "NAN(dVar38)" identifier (argument_list "(dVar38)" ( identifier )))) )) (compound_statement "{\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }" { (expression_statement "*(double *)ppppppdVar24 = dVar38;" (assignment_expression "*(double *)ppppppdVar24 = dVar38" (pointer_expression "*(double *)ppppppdVar24" * (cast_expression "(double *)ppppppdVar24" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(undefined2 *)(ppppppdVar24 + 2) = 8;" (assignment_expression "*(undefined2 *)(ppppppdVar24 + 2) = 8" (pointer_expression "*(undefined2 *)(ppppppdVar24 + 2)" * (cast_expression "(undefined2 *)(ppppppdVar24 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppdVar24 + 2)" ( (binary_expression "ppppppdVar24 + 2" identifier + number_literal) )))) = number_literal) ;) })) }))) (expression_statement "ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15);" (assignment_expression "ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15)" identifier = (cast_expression "(double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(uint)((int)ppppppdVar34 < (int)ppppppdVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppdVar34 < (int)ppppppdVar15)" ( (binary_expression "(int)ppppppdVar34 < (int)ppppppdVar15" (cast_expression "(int)ppppppdVar34" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppppppdVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "ppppppdVar6[2] = ppppppdVar6[2] + 2;" (assignment_expression "ppppppdVar6[2] = ppppppdVar6[2] + 2" (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]) = (binary_expression "ppppppdVar6[2] + 2" (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]) + number_literal)) ;) (if_statement "if (ppppppdVar29 == (double ******)0x0) {\n    ppppppdVar7 = (double ******)0x0;\n    ppppppdVar33 = ppppppdVar34;\n    pcVar36 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }" if (parenthesized_expression "(ppppppdVar29 == (double ******)0x0)" ( (binary_expression "ppppppdVar29 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    ppppppdVar7 = (double ******)0x0;\n    ppppppdVar33 = ppppppdVar34;\n    pcVar36 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }" { (expression_statement "ppppppdVar7 = (double ******)0x0;" (assignment_expression "ppppppdVar7 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppdVar33 = ppppppdVar34;" (assignment_expression "ppppppdVar33 = ppppppdVar34" identifier = identifier) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (goto_statement "goto LAB_000b5dac;" goto statement_identifier ;) })))
(translation_unit "/* DWARF original prototype: int sessionChangegroupOutput(sqlite3_changegroup * pGrp,\n   _func_int_void_ptr_void_ptr_int * xOutput, void * pOut, int * pnOut, void * * ppOut,\n   sqlite3_changegroup * pGrp) */\n\nint sessionChangegroupOutput\n              (sqlite3_changegroup *pGrp,_func_int_void_ptr_void_ptr_int *xOutput,void *pOut,\n              int *pnOut,void **ppOut,sqlite3_changegroup *pGrp_1)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  int *piVar3;\n  code *pcVar4;\n  u8 *puVar5;\n  SessionInput *pSVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var9;\n  uint uVar10;\n  int iVar11;\n  byte *pbVar12;\n  SessionInput *pIn;\n  double *pdVar13;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var14;\n  _func_int_void_ptr_void_ptr_int *p_Var15;\n  SessionInput *nByte;\n  SessionInput *abPK;\n  SessionInput *pSVar16;\n  SessionInput *pSVar17;\n  u8 *puVar18;\n  int *piVar19;\n  undefined4 uVar20;\n  sqlite3_value **ppsVar21;\n  sqlite3_value **apOut;\n  int *unaff_s0;\n  int iVar22;\n  int iVar23;\n  SessionInput *pSVar24;\n  SessionBuffer *unaff_s1;\n  SessionBuffer *pSVar25;\n  SessionInput *pSVar26;\n  sqlite3_value **apOut_00;\n  _func_int_void_ptr_void_ptr_int *unaff_s2;\n  _func_int_void_ptr_void_ptr_int *p_Var27;\n  SessionInput *pSVar28;\n  undefined *unaff_s3;\n  undefined *puVar29;\n  SessionInput *pSVar30;\n  SessionBuffer *p;\n  SessionInput *pSVar31;\n  void *unaff_s6;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var32;\n  int *piVar33;\n  SessionInput *unaff_s7;\n  SessionInput *pSVar34;\n  SessionInput *pSVar35;\n  undefined *puVar36;\n  SessionInput *unaff_s8;\n  code *pcVar37;\n  code *pcVar38;\n  double dVar39;\n  u8 *puStack_20c;\n  int iStack_208;\n  int iStack_204;\n  SessionInput *pSStack_200;\n  SessionInput *pSStack_1fc;\n  SessionInput *pSStack_1f8;\n  SessionInput *pSStack_1f4;\n  SessionInput *pSStack_1f0;\n  code *pcStack_1ec;\n  int *piStack_1e8;\n  SessionInput *pSStack_1e4;\n  SessionInput *pSStack_1e0;\n  code *pcStack_1dc;\n  int iStack_1c8;\n  code *pcStack_1c0;\n  int *piStack_1b4;\n  code *pcStack_1b0;\n  code *pcStack_1ac;\n  int iStack_1a8;\n  SessionInput *pSStack_1a4;\n  SessionInput *pSStack_1a0;\n  SessionInput *pSStack_19c;\n  SessionInput *pSStack_198;\n  int *piStack_194;\n  SessionInput *pSStack_18c;\n  SessionInput *pSStack_188;\n  SessionInput *pSStack_184;\n  SessionInput *pSStack_180;\n  SessionInput *pSStack_17c;\n  SessionInput *pSStack_178;\n  code *pcStack_174;\n  int *piStack_170;\n  SessionInput *pSStack_16c;\n  SessionInput *pSStack_168;\n  code *pcStack_164;\n  code *pcStack_148;\n  SessionInput *pSStack_13c;\n  SessionInput SStack_138;\n  code *pcStack_10c;\n  int iStack_f8;\n  code *pcStack_f0;\n  uint uStack_e8;\n  SessionInput *pSStack_e4;\n  int *piStack_dc;\n  SessionBuffer *pSStack_d8;\n  _func_int_void_ptr_void_ptr_int *p_Stack_d4;\n  undefined *puStack_d0;\n  SessionBuffer *pSStack_cc;\n  code *pcStack_c8;\n  code *pcStack_c4;\n  undefined *puStack_b0;\n  undefined1 auStack_a4 [8];\n  SessionInput *pSStack_9c;\n  int *piStack_98;\n  SessionBuffer *pSStack_94;\n  _func_int_void_ptr_void_ptr_int *p_Stack_90;\n  undefined *puStack_8c;\n  void *pvStack_88;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Stack_84;\n  void *pvStack_80;\n  SessionInput *pSStack_7c;\n  SessionInput *pSStack_78;\n  code *pcStack_74;\n  int rc;\n  SessionBuffer buf;\n  \n  puVar36 = PTR___stack_chk_guard_00190e24;\n  rc = 0;\n  buf.aBuf = (u8 *)0x0;\n  buf.nBuf = 0;\n  buf.nAlloc = 0;\n  piVar3 = *(int **)PTR___stack_chk_guard_00190e24;\n  piVar19 = pnOut;\n  if (xOutput == (_func_int_void_ptr_void_ptr_int *)0x0) {\n    pSVar17 = (SessionInput *)pOut;\n    if (pOut == (void *)0x0) {\n      p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (_func_int_void_ptr_void_ptr_int *)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    pSVar16 = (SessionInput *)pOut;\n    pSVar31 = (SessionInput *)xOutput;\n    do {\n      if ((pSVar31->buf).nBuf == 0) {\nLAB_000b5618:\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n      }\n      else {\n        unaff_s0 = &rc;\n        unaff_s1 = &buf;\n        xOutput = (_func_int_void_ptr_void_ptr_int *)pGrp->rc;\n        pSVar16 = pSVar31;\n        piVar19 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar29 = PTR_aBuiltinFunc_29540_1408__00190948;\n        iVar11 = (pSVar31->buf).nAlloc;\n        if (iVar11 < 1) goto LAB_000b5618;\n        unaff_s6 = (void *)0x0;\n        do {\n          unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);\n          if (unaff_s8 != (SessionInput *)0x0) {\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }\n          unaff_s6 = (void *)((int)unaff_s6 + 1);\n        } while ((int)unaff_s6 < iVar11);\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n        unaff_s7 = (SessionInput *)puVar29;\n      }\n      buf.aBuf = (u8 *)p_Var15;\n      buf.nBuf = (int)pSVar16;\n      if (rc != 0) goto LAB_000b5730;\n    } while (pSVar31 != (SessionInput *)0x0);\n    if (pOut == (void *)0x0) {\nLAB_000b57b8:\n      buf.aBuf = (u8 *)0x0;\n      pGrp_1->rc = (int)p_Var15;\n      *ppOut = (void *)buf.nBuf;\n      pSVar17 = (SessionInput *)buf.nBuf;\n    }\n    else {\n      pSVar17 = pSVar16;\n      if (0 < (int)pSVar16) {\n        rc = (*(code *)pOut)(pnOut);\n        xOutput = p_Var15;\n        pSVar17 = pSVar16;\n      }\n    }\n  }\nLAB_000b5730:\n  pcVar4 = (code *)buf.aBuf;\n  (*(code *)PTR_sqlite3_free_0019096c)(buf.aBuf);\n  if (piVar3 == *(int **)puVar36) {\n    return rc;\n  }\n  pcVar37 = sessionInputBuffer;\n  puVar36 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar36 + 0xe3140;\n  p_Var32 = *(_func_int_void_ptr_void_ptr_int_ptr **)(puVar36 + 0xdb644);\n  auStack_a4._0_4_ = 0;\n  pSStack_9c = *(SessionInput **)p_Var32;\n  iVar11 = 0;\n  p_Var15 = xOutput;\n  piVar33 = unaff_s0;\n  p_Var27 = unaff_s2;\n  piStack_98 = unaff_s0;\n  pSStack_94 = unaff_s1;\n  p_Stack_90 = unaff_s2;\n  puStack_8c = unaff_s3;\n  pvStack_88 = pOut;\n  p_Stack_84 = pcVar4;\n  pvStack_80 = unaff_s6;\n  pSStack_7c = unaff_s7;\n  pSStack_78 = unaff_s8;\n  pcStack_74 = pcVar37;\n  if (piVar3[8] != 0) {\n    piVar33 = piVar3;\n    if (piVar3[10] == 0) {\n      iVar11 = 0;\n      p_Var27 = xOutput;\n      if (piVar3[4] <= (int)(xOutput + piVar3[2])) {\n        p = (SessionBuffer *)(piVar3 + 5);\n        puVar29 = *(undefined **)(puVar36 + 0xdb168);\n        pSVar31 = (SessionInput *)(auStack_a4 + 4);\n        pSVar25 = (SessionBuffer *)(*(int *)(puVar36 + 0xdb44c) + 0x4d08);\n        pcVar4 = (code *)(*(int *)(puVar36 + 0xdb3c4) + 0x27a4);\n        do {\n          auStack_a4._4_4_ = *(undefined4 *)(puVar29 + -0xba0);\n          if (*piVar3 == 0) {\n            (*pcVar4)(piVar3);\n          }\n          pSVar17 = (SessionInput *)auStack_a4;\n          iVar11 = sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4);\n          unaff_s1 = pSVar25;\n          unaff_s3 = puVar29;\n          pOut = p;\n          unaff_s7 = (SessionInput *)auStack_a4;\n          unaff_s8 = pSVar31;\n          if (iVar11 == 0) {\n            pSVar17 = pSVar31;\n            auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);\n            if (auStack_a4._4_4_ == 0) {\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }\n            iVar23 = auStack_a4._4_4_ + piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n            piVar3[6] = iVar23;\n          }\n          else {\n            iVar23 = piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n          }\n          piVar3[4] = iVar23;\n          piVar3[3] = piVar3[5];\n          iVar11 = auStack_a4._0_4_;\n          if (((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0)) break;\n        } while( true );\n      }\n    }\n    else {\n      iVar11 = 0;\n    }\n  }\n  if (pSStack_9c == *(SessionInput **)p_Var32) {\n    return iVar11;\n  }\n  pcVar37 = *(code **)(puStack_b0 + -0x7b28);\n  pcVar38 = sessionChangesetBufferTblhdr;\n  pSVar31 = pSStack_9c;\n  auStack_a4._0_4_ = iVar11;\n  (*pcVar37)();\n  pcStack_f0 = pcVar37 + 0xe2f88;\n  pSVar16 = (SessionInput *)&DAT_00000009;\n  piVar3 = *(int **)(pcVar37 + 0xdb48c);\n  iVar11 = *(int *)(pcVar37 + 0xdb294);\n  uStack_e8 = 0;\n  pSStack_e4 = (SessionInput *)*piVar3;\n  piStack_dc = piVar33;\n  pSStack_d8 = unaff_s1;\n  p_Stack_d4 = p_Var27;\n  puStack_d0 = unaff_s3;\n  pSStack_cc = (SessionBuffer *)pOut;\n  pcStack_c8 = pcVar4;\n  pcStack_c4 = pcVar38;\n  puVar5 = (u8 *)sessionInputBuffer(pSVar31,9);\n  if (puVar5 == (u8 *)0x0) {\n    bVar1 = pSVar31->aData[pSVar31->iNext];\n    if ((char)bVar1 < '\0') {\n      iVar22 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))\n                         (pSVar31->aData + pSVar31->iNext,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        piVar19 = (int *)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        pSVar17 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        pSVar16 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        iVar23 = iVar22 + 1;\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        puVar5 = &DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar22 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    pSVar16 = (SessionInput *)(iVar22 + uStack_e8 + 100);\n    puVar5 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);\n    iVar22 = iVar22 + uStack_e8;\n    if (puVar5 == (u8 *)0x0) {\n      do {\n        pSVar16 = (SessionInput *)pSVar31->iNext;\n        pSVar17 = (SessionInput *)pSVar31->nData;\n        puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n        if ((int)puVar18 < (int)pSVar17) {\n          piVar19 = (int *)pSVar31->aData;\n          iVar7 = iVar22;\n          if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') {\n            iVar23 = iVar22 + 1;\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar22 = iVar7 + 1;\n            puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n            if ((int)pSVar17 <= (int)puVar18) break;\n            iVar23 = iVar7 + 2;\n            iVar7 = iVar22;\n            if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;\n          }\n        }\n        pSVar16 = (SessionInput *)(iVar22 + 100);\n        puVar18 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);\n      } while (puVar18 == (u8 *)0x0);\n      iVar23 = iVar22 + 1;\n      puVar5 = puVar18;\n    }\n    else {\n      iVar23 = iVar22 + 1;\n    }\n  }\n  else {\n    iVar23 = 1;\n  }\nLAB_000b5ad4:\n  *(int *)p_Var15 = iVar23;\n  if (pSStack_e4 == (SessionInput *)*piVar3) {\n    return (int)puVar5;\n  }\n  pcVar4 = *(code **)(pcStack_f0 + -0x7b28);\n  pcVar37 = sessionChangesetBufferRecord;\n  pSVar26 = pSStack_e4;\n  (*pcVar4)();\n  pcStack_148 = pcVar4 + 0xe2d94;\n  pSVar34 = &SStack_138;\n  pSVar28 = (SessionInput *)0x0;\n  pSVar24 = (SessionInput *)0x0;\n  piVar33 = *(int **)(pcVar4 + 0xdb298);\n  SStack_138.iCurrent = *piVar33;\n  pSVar30 = (SessionInput *)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);\n  pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);\n  iVar22 = 0;\n  nByte = pSVar16;\n  pSStack_13c = pSVar17;\n  SStack_138.iNext = iVar23;\n  SStack_138.aData = puVar5;\n  SStack_138.nData = (int)piVar3;\n  SStack_138.buf.aBuf = (u8 *)p_Var15;\n  SStack_138.buf.nBuf = iVar11 + 0x57e0;\n  SStack_138.buf.nAlloc = (int)pSVar31;\n  SStack_138.xInput = p_Var32;\n  SStack_138.pIn = unaff_s7;\n  SStack_138.bEof = (int)unaff_s8;\n  pcStack_10c = pcVar37;\n  if (0 < (int)pSVar16) {\n    do {\n      nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n      while( true ) {\n        iVar22 = sessionInputBuffer(pSVar26,(int)nByte);\n        if (iVar22 != 0) goto LAB_000b5c24;\n        unaff_s8 = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n        piVar19 = (int *)pSVar26->iNext;\n        uVar10 = (uint)(pSVar26->aData + (int)piVar19)[(int)pSVar24];\n        pSVar28 = (SessionInput *)((int)&pSVar28->bNoDiscard + 1);\n        if (uVar10 - 3 < 2) break;\n        pSVar24 = (SessionInput *)((int)&pSVar24->iNext + 1);\n        if (1 < uVar10 - 1) {\n          pSVar24 = unaff_s8;\n        }\n        nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n        if (pSVar16 == pSVar28) goto LAB_000b5c24;\n      }\n      piVar19 = (int *)((int)piVar19 + (int)unaff_s8);\n      pbVar12 = pSVar26->aData + (int)piVar19;\n      bVar1 = *pbVar12;\n      if ((char)bVar1 < '\0') {\n        iVar11 = (*pcVar4)(pbVar12,pSVar34);\n      }\n      else {\n        iVar11 = 1;\n        SStack_138.bNoDiscard = (uint)bVar1;\n      }\n      unaff_s8 = (SessionInput *)((int)&unaff_s8->bNoDiscard + iVar11);\n      pSVar24 = (SessionInput *)((int)&unaff_s8->bNoDiscard + SStack_138.bNoDiscard);\n      nByte = pSVar24;\n      iVar22 = sessionInputBuffer(pSVar26,(int)pSVar24);\n    } while ((iVar22 == 0) && (iVar22 = 0, (int)pSVar28 < (int)pSVar16));\n  }\nLAB_000b5c24:\n  pSStack_13c->bNoDiscard = (int)pSVar24;\n  if ((SessionInput *)SStack_138.iCurrent == (SessionInput *)*piVar33) {\n    return iVar22;\n  }\n  pcVar37 = *(code **)(pcStack_148 + -0x7b28);\n  pcVar38 = sessionReadRecord;\n  pIn = (SessionInput *)SStack_138.iCurrent;\n  (*pcVar37)();\n  pcStack_1c0 = pcVar37 + 0xe2c00;\n  piVar3 = *(int **)(pcVar37 + 0xdb104);\n  pSStack_18c = (SessionInput *)*piVar3;\n  abPK = nByte;\n  pSVar31 = pSVar17;\n  piStack_1b4 = piVar19;\n  pSStack_188 = pSVar24;\n  pSStack_184 = pSVar26;\n  pSStack_180 = pSVar28;\n  pSStack_17c = pSVar30;\n  pSStack_178 = pSVar16;\n  pcStack_174 = pcVar4;\n  piStack_170 = piVar33;\n  pSStack_16c = pSVar34;\n  pSStack_168 = unaff_s8;\n  pcStack_164 = pcVar38;\n  if (0 < (int)nByte) {\n    pSVar24 = (SessionInput *)0x0;\n    pcVar4 = *(code **)(pcVar37 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar37 + 0xdae88) + -0x2b48);\n    pSVar26 = (SessionInput *)(*(int *)(pcVar37 + 0xdaf0c) + 0x57e0);\n    iStack_1a8 = *(int *)(pcVar37 + 0xdaea0);\nLAB_000b5dac:\n    pSVar30 = (SessionInput *)0x1;\n    pSVar34 = pSVar24;\n    pcVar37 = pcStack_1c0;\nLAB_000b5db4:\n    while ((pSVar17 != (SessionInput *)0x0 &&\n           (*(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard) == '\0'))) {\n      pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      pSVar6 = (SessionInput *)0x0;\n      if ((int)nByte <= (int)pSVar34) goto LAB_000b5de4;\n    }\n    abPK = (SessionInput *)&DAT_00000009;\n    pSVar6 = (SessionInput *)sessionInputBuffer(pIn,9);\n    pcVar37 = pcStack_1c0;\n    if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;\n    iVar11 = pIn->iNext;\n    abPK = (SessionInput *)(iVar11 + 1);\n    if (pIn->nData <= iVar11) {\n      piVar19 = (int *)0x300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      pSVar31 = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      abPK = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      pSVar6 = (SessionInput *)&DAT_0000000b;\n      pcVar37 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    pIn->iNext = (int)abPK;\n    pcVar4 = (code *)(uint)pIn->aData[iVar11];\n    if (pcVar4 != (code *)0x0) {\n      piVar19 = (int *)&DAT_00000028;\n      pSVar31 = (SessionInput *)0x0;\n      pSVar16 = (SessionInput *)(piStack_1b4 + (int)pSVar34);\n      pSVar28 = (SessionInput *)(*pcStack_1b0)(0);\n      if (pSVar28 == (SessionInput *)0x0) {\n        pSVar6 = (SessionInput *)&DAT_00000007;\n        pSVar16->bNoDiscard = 0;\n        pcVar37 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)&pSVar28->iNext = 1;\n      pSVar28->xInput = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n      pSVar16->bNoDiscard = (int)pSVar28;\n      pSVar31 = (SessionInput *)pIn->iNext;\n      pdVar13 = (double *)(pIn->aData + (int)pSVar31);\n      if (pcVar4 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar13 < '\0') {\n          iVar11 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198);\n          pSVar31 = (SessionInput *)pIn->iNext;\n        }\n        else {\n          iVar11 = 1;\n          pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13;\n        }\n        pIn->iNext = (int)((int)&pSVar31->bNoDiscard + iVar11);\n        abPK = pSStack_198;\n        pSVar6 = (SessionInput *)sessionInputBuffer(pIn,(int)pSStack_198);\n        pSVar24 = pSStack_198;\n        pcVar37 = pcStack_1c0;\n        if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;\n        piVar19 = (int *)0x30000;\n        if (-1 < (int)pSStack_198) {\n          if ((int)pSStack_198 <= pIn->nData - pIn->iNext) {\n            pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;\n            pSVar16 = (SessionInput *)pIn->aData;\n            pSStack_1a4 = (SessionInput *)pIn->iNext;\n            pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();\n            pSVar31 = pSStack_1a4;\n            pSVar30 = pSVar24;\n            if (pSVar28 == (SessionInput *)0x0) {\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            pSVar6 = (SessionInput *)&DAT_00000007;\n            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n            pcVar37 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        piVar19 = (int *)0x300fd;\n        pSVar30 = pSStack_198;\n        goto LAB_000b5e90;\n      }\n      pSVar35 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      abPK = (SessionInput *)(uint)(pcVar4 + -1 < &SUB_00000002);\n      if (abPK != (SessionInput *)0x0) goto code_r0x000b6070;\n    }\n    pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n    pSVar24 = pSVar17;\n    pSVar28 = nByte;\n    pcVar37 = pcStack_1c0;\n    unaff_s8 = pIn;\n    if ((int)nByte <= (int)pSVar34) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  pSVar6 = (SessionInput *)0x0;\n  pSVar17 = pSVar24;\n  nByte = pSVar28;\n  pcVar37 = pcStack_1c0;\n  pIn = unaff_s8;\nLAB_000b5de4:\n  if (pSStack_18c == (SessionInput *)*piVar3) {\n    return (int)pSVar6;\n  }\n  pcVar37 = *(code **)(pcVar37 + -0x7b28);\n  pcVar38 = sessionChangesetNext;\n  pSVar24 = pSStack_18c;\n  (*pcVar37)();\n  piVar33 = *(int **)(pcVar37 + 0xdac9c);\n  iVar11 = pSVar24[2].iCurrent;\n  iStack_204 = *piVar33;\n  pSStack_200 = pSVar17;\n  pSStack_1fc = pSVar26;\n  pSStack_1f8 = nByte;\n  pSStack_1f4 = pSVar30;\n  pSStack_1f0 = pSVar16;\n  pcStack_1ec = pcVar4;\n  piStack_1e8 = piVar3;\n  pSStack_1e4 = pSVar34;\n  pSStack_1e0 = pIn;\n  pcStack_1dc = pcVar38;\n  if (iVar11 != 0) {\n    p_Var32 = pSVar24[1].xInput;\n    iVar23 = 0;\n    if (0 < (int)p_Var32) {\n      iVar22 = *(int *)(pcVar37 + 0xdaa20);\n      do {\n        iVar7 = iVar23 * 4;\n        iVar23 = iVar23 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar11 + iVar7));\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = pSVar24[2].iCurrent;\n      } while (iVar23 < (int)p_Var32 << 1);\n    }\n    (**(code **)(pcVar37 + 0xdabd0))(iVar11,0,(int)p_Var32 << 3);\n  }\n  puVar5 = (u8 *)sessionInputBuffer(pSVar24,2);\n  pSVar24[1].buf.aBuf = puVar5;\n  if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n  if (pSVar24->nData <= pSVar24->iNext) {\nLAB_000b6494:\n    puVar5 = (u8 *)0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(pcVar37 + 0xdaa1c) + 0x27a4))(pSVar24);\n  iVar11 = pSVar24->iNext;\n  puVar5 = pSVar24->aData;\n  iVar23 = *(int *)(pcVar37 + 0xdaa20);\n  pSVar24->iCurrent = iVar11;\n  pSVar24->iNext = iVar11 + 1;\n  bVar1 = puVar5[iVar11];\n  while (puVar8 = (undefined1 *)(uint)bVar1, ((uint)puVar8 & 0xfb) == 0x50) {\n    if (piVar19 != (int *)0x0) {\n      *piVar19 = 1;\n    }\n    pSVar24[1].aData = (u8 *)(uint)(puVar8 == (undefined1 *)0x50);\n    puStack_20c = (u8 *)sessionChangesetBufferTblhdr(pSVar24,&iStack_208);\n    if (puStack_20c != (u8 *)0x0) {\nLAB_000b6434:\n      p_Var32 = pSVar24[1].xInput;\n      iVar11 = pSVar24[1].bNoDiscard;\n      pSVar24[1].buf.aBuf = puStack_20c;\n      pSVar24[2].iCurrent = iVar11;\n      iVar11 = iVar11 + (int)p_Var32 * 8;\n      pSVar24[2].bNoDiscard = iVar11;\n      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n      puVar5 = puStack_20c;\n      goto LAB_000b6458;\n    }\n    bVar1 = pSVar24->aData[pSVar24->iNext];\n    p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar11 = (*(code *)(iVar23 + 0x3388))(pSVar24->aData + pSVar24->iNext,&pSVar24[1].xInput);\n      p_Var32 = pSVar24[1].xInput;\n    }\n    else {\n      iVar11 = 1;\n      pSVar24[1].xInput = p_Var32;\n    }\n    if ((int)p_Var32 < 1) {\n      (**(code **)(pcVar37 + 0xdaa58))\n                (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar37 + 0xda7d0) + 0x625c);\n      puVar5 = (u8 *)0xb;\n      p_Var32 = pSVar24[1].xInput;\n      iVar11 = pSVar24[1].bNoDiscard;\n      pSVar24[1].buf.aBuf = (u8 *)0xb;\n      pSVar24[2].iCurrent = iVar11;\n      iVar11 = iVar11 + (int)p_Var32 * 8;\n      pSVar24[2].bNoDiscard = iVar11;\n      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n      goto LAB_000b6458;\n    }\n    iVar22 = pSVar24->iNext;\n    pSVar24[1].iCurrent = 0;\n    iStack_208 = iStack_208 - iVar11;\n    pSVar24->iNext = iVar22 + iVar11;\n    sessionBufferGrow((SessionBuffer *)(pSVar24 + 1),(int)p_Var32 * 8 + iStack_208,\n                      (int *)&puStack_20c);\n    if (puStack_20c != (u8 *)0x0) goto LAB_000b6434;\n    iVar11 = (int)pSVar24[1].xInput * 8;\n    (**(code **)(pcVar37 + 0xdabd0))(pSVar24[1].bNoDiscard,0,iVar11);\n    (**(code **)(pcVar37 + 0xdaca4))\n              (pSVar24[1].bNoDiscard + iVar11,pSVar24->aData + pSVar24->iNext,iStack_208);\n    p_Var32 = pSVar24[1].xInput;\n    iVar22 = pSVar24->iNext;\n    iVar11 = pSVar24[1].bNoDiscard + (int)p_Var32 * 8;\n    pSVar24[2].iCurrent = pSVar24[1].bNoDiscard;\n    pSVar24[2].bNoDiscard = iVar11;\n    pSVar24[1].buf.aBuf = puStack_20c;\n    pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n    pSVar24->iNext = iVar22 + iStack_208;\n    puVar5 = puStack_20c;\n    if (puStack_20c != (u8 *)0x0) goto LAB_000b6458;\n    puVar5 = (u8 *)sessionInputBuffer(pSVar24,2);\n    pSVar24[1].buf.aBuf = puVar5;\n    if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n    iVar11 = pSVar24->iNext;\n    pSVar24->iCurrent = iVar11;\n    if (pSVar24->nData <= iVar11) goto LAB_000b6494;\n    puVar5 = pSVar24->aData;\n    pSVar24->iNext = iVar11 + 1;\n    bVar1 = puVar5[iVar11];\n  }\n  if ((pSVar24[1].buf.nAlloc == 0) ||\n     ((puVar18 = pSVar24[1].aData, puVar18 != (u8 *)0x0 && (pSVar24[1].nData != 0)))) {\n    uVar20 = 0x301e0;\n  }\n  else {\n    iVar11 = pSVar24->iNext;\n    pSVar24[1].pIn = puVar8;\n    pSVar24->iNext = iVar11 + 1;\n    pSVar24[1].bEof = (uint)puVar5[iVar11];\n    if ((puVar8 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f) < 0)) {\n      p_Var32 = pSVar24[1].xInput;\n      if (abPK != (SessionInput *)0x0) {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var32 < 1) goto LAB_000b6830;\n          p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard;\n          p_Var14 = p_Var32 + (int)p_Var9;\n          p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }\n            p_Var9 = p_Var9 + 1;\n            if (p_Var14 == p_Var9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar8 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var32 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar21 = (sqlite3_value **)pSVar24[2].iCurrent;\n      apOut = ppsVar21;\n      apOut_00 = ppsVar21 + (int)p_Var32;\n      if (pSVar24[1].nData != 0) {\n        apOut = ppsVar21 + (int)p_Var32;\n        apOut_00 = ppsVar21;\n      }\n      if (puVar8 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          if (pSVar24[1].nData == 0) goto LAB_000b6734;\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) {\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = 0;\n        if (0 < (int)p_Var32) {\n          do {\n            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }\n            iVar11 = iVar11 + 1;\n          } while (iVar11 < (int)p_Var32);\n        }\n      }\n      else {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b6678;\n          abPK = (SessionInput *)pSVar24[2].bNoDiscard;\n        }\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pSVar24[1].pIn != &DAT_00000009) {\n          p_Var32 = pSVar24[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          puVar5 = (u8 *)0x64;\n          if (pSVar24[1].nData == 0) goto LAB_000b6458;\n          puVar8 = &DAT_00000009;\n        }\n        else {\n          iVar11 = pSVar24[1].nData;\n          puVar8 = &DAT_00000009;\nLAB_000b6780:\n          puVar5 = (u8 *)0x64;\n          if (iVar11 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar8 == (undefined1 *)0x12) {\n          puVar5 = (u8 *)0x64;\n          pSVar24[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar8 == &DAT_00000009) {\n          pSVar24[1].pIn = (void *)0x12;\n          puVar5 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar5 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }\n    uVar20 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(pcVar37 + 0xdaa58))\n            (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,uVar20,\n             *(int *)(pcVar37 + 0xda7d0) + 0x625c);\n  puVar5 = (u8 *)0xb;\n  pSVar24[1].buf.aBuf = (u8 *)0xb;\nLAB_000b6458:\n  while (iStack_204 != *piVar33) {\n    (**(code **)(pcVar37 + 0xdac70))();\nLAB_000b6830:\n    p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\nLAB_000b65d4:\n    puVar5 = (u8 *)sessionChangesetBufferRecord(pSVar24,(int)p_Var32,&pSVar31->bNoDiscard);\n    pSVar24[1].buf.aBuf = puVar5;\n    if (puVar5 == (u8 *)0x0) {\n      abPK->bNoDiscard = (int)(pSVar24->aData + pSVar24->iNext);\n      pSVar24->iNext = pSVar24->iNext + pSVar31->bNoDiscard;\n      puVar5 = (u8 *)0x64;\n    }\n  }\n  return (int)puVar5;\ncode_r0x000b6070:\n  pSVar31 = *(SessionInput **)pdVar13;\n  piVar19 = *(int **)((int)pdVar13 + 4);\n  dVar39 = *pdVar13;\n  uVar2 = *(ushort *)&pSVar28->iNext;\n  abPK = (SessionInput *)(uVar2 & 0x2400);\n  pSVar24 = pSVar35;\n  if (pcVar4 == (code *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      pSVar28->iCurrent = (int)piVar19;\n      pSVar28->bNoDiscard = (int)pSVar31;\n      *(undefined2 *)&pSVar28->iNext = 4;\n    }\n    else {\n      pSStack_1a4 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(pSVar28);\n      pSVar24 = pSStack_1a4;\n    }\n  }\n  else {\n    pSStack_198 = pSVar31;\n    piStack_194 = piVar19;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)&pSVar28->iNext = 1;\n    }\n    else {\n      pSStack_1a4 = pSVar28;\n      pSStack_1a0 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(pSVar28);\n      pSVar28 = pSStack_1a4;\n      pSVar24 = pSStack_1a0;\n    }\n    if (!NAN(dVar39)) {\n      *(double *)pSVar28 = dVar39;\n      *(undefined2 *)&pSVar28->iNext = 8;\n    }\n  }\n  pSVar16 = (SessionInput *)(uint)((int)pSVar35 < (int)nByte);\n  pIn->iNext = pIn->iNext + 8;\n  if (pSVar16 == (SessionInput *)0x0) {\n    pSVar6 = (SessionInput *)0x0;\n    pSVar34 = pSVar35;\n    pcVar37 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}\n\n" comment (function_definition "int sessionChangegroupOutput\n              (sqlite3_changegroup *pGrp,_func_int_void_ptr_void_ptr_int *xOutput,void *pOut,\n              int *pnOut,void **ppOut,sqlite3_changegroup *pGrp_1)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  int *piVar3;\n  code *pcVar4;\n  u8 *puVar5;\n  SessionInput *pSVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var9;\n  uint uVar10;\n  int iVar11;\n  byte *pbVar12;\n  SessionInput *pIn;\n  double *pdVar13;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var14;\n  _func_int_void_ptr_void_ptr_int *p_Var15;\n  SessionInput *nByte;\n  SessionInput *abPK;\n  SessionInput *pSVar16;\n  SessionInput *pSVar17;\n  u8 *puVar18;\n  int *piVar19;\n  undefined4 uVar20;\n  sqlite3_value **ppsVar21;\n  sqlite3_value **apOut;\n  int *unaff_s0;\n  int iVar22;\n  int iVar23;\n  SessionInput *pSVar24;\n  SessionBuffer *unaff_s1;\n  SessionBuffer *pSVar25;\n  SessionInput *pSVar26;\n  sqlite3_value **apOut_00;\n  _func_int_void_ptr_void_ptr_int *unaff_s2;\n  _func_int_void_ptr_void_ptr_int *p_Var27;\n  SessionInput *pSVar28;\n  undefined *unaff_s3;\n  undefined *puVar29;\n  SessionInput *pSVar30;\n  SessionBuffer *p;\n  SessionInput *pSVar31;\n  void *unaff_s6;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var32;\n  int *piVar33;\n  SessionInput *unaff_s7;\n  SessionInput *pSVar34;\n  SessionInput *pSVar35;\n  undefined *puVar36;\n  SessionInput *unaff_s8;\n  code *pcVar37;\n  code *pcVar38;\n  double dVar39;\n  u8 *puStack_20c;\n  int iStack_208;\n  int iStack_204;\n  SessionInput *pSStack_200;\n  SessionInput *pSStack_1fc;\n  SessionInput *pSStack_1f8;\n  SessionInput *pSStack_1f4;\n  SessionInput *pSStack_1f0;\n  code *pcStack_1ec;\n  int *piStack_1e8;\n  SessionInput *pSStack_1e4;\n  SessionInput *pSStack_1e0;\n  code *pcStack_1dc;\n  int iStack_1c8;\n  code *pcStack_1c0;\n  int *piStack_1b4;\n  code *pcStack_1b0;\n  code *pcStack_1ac;\n  int iStack_1a8;\n  SessionInput *pSStack_1a4;\n  SessionInput *pSStack_1a0;\n  SessionInput *pSStack_19c;\n  SessionInput *pSStack_198;\n  int *piStack_194;\n  SessionInput *pSStack_18c;\n  SessionInput *pSStack_188;\n  SessionInput *pSStack_184;\n  SessionInput *pSStack_180;\n  SessionInput *pSStack_17c;\n  SessionInput *pSStack_178;\n  code *pcStack_174;\n  int *piStack_170;\n  SessionInput *pSStack_16c;\n  SessionInput *pSStack_168;\n  code *pcStack_164;\n  code *pcStack_148;\n  SessionInput *pSStack_13c;\n  SessionInput SStack_138;\n  code *pcStack_10c;\n  int iStack_f8;\n  code *pcStack_f0;\n  uint uStack_e8;\n  SessionInput *pSStack_e4;\n  int *piStack_dc;\n  SessionBuffer *pSStack_d8;\n  _func_int_void_ptr_void_ptr_int *p_Stack_d4;\n  undefined *puStack_d0;\n  SessionBuffer *pSStack_cc;\n  code *pcStack_c8;\n  code *pcStack_c4;\n  undefined *puStack_b0;\n  undefined1 auStack_a4 [8];\n  SessionInput *pSStack_9c;\n  int *piStack_98;\n  SessionBuffer *pSStack_94;\n  _func_int_void_ptr_void_ptr_int *p_Stack_90;\n  undefined *puStack_8c;\n  void *pvStack_88;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Stack_84;\n  void *pvStack_80;\n  SessionInput *pSStack_7c;\n  SessionInput *pSStack_78;\n  code *pcStack_74;\n  int rc;\n  SessionBuffer buf;\n  \n  puVar36 = PTR___stack_chk_guard_00190e24;\n  rc = 0;\n  buf.aBuf = (u8 *)0x0;\n  buf.nBuf = 0;\n  buf.nAlloc = 0;\n  piVar3 = *(int **)PTR___stack_chk_guard_00190e24;\n  piVar19 = pnOut;\n  if (xOutput == (_func_int_void_ptr_void_ptr_int *)0x0) {\n    pSVar17 = (SessionInput *)pOut;\n    if (pOut == (void *)0x0) {\n      p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (_func_int_void_ptr_void_ptr_int *)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    pSVar16 = (SessionInput *)pOut;\n    pSVar31 = (SessionInput *)xOutput;\n    do {\n      if ((pSVar31->buf).nBuf == 0) {\nLAB_000b5618:\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n      }\n      else {\n        unaff_s0 = &rc;\n        unaff_s1 = &buf;\n        xOutput = (_func_int_void_ptr_void_ptr_int *)pGrp->rc;\n        pSVar16 = pSVar31;\n        piVar19 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar29 = PTR_aBuiltinFunc_29540_1408__00190948;\n        iVar11 = (pSVar31->buf).nAlloc;\n        if (iVar11 < 1) goto LAB_000b5618;\n        unaff_s6 = (void *)0x0;\n        do {\n          unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);\n          if (unaff_s8 != (SessionInput *)0x0) {\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }\n          unaff_s6 = (void *)((int)unaff_s6 + 1);\n        } while ((int)unaff_s6 < iVar11);\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n        unaff_s7 = (SessionInput *)puVar29;\n      }\n      buf.aBuf = (u8 *)p_Var15;\n      buf.nBuf = (int)pSVar16;\n      if (rc != 0) goto LAB_000b5730;\n    } while (pSVar31 != (SessionInput *)0x0);\n    if (pOut == (void *)0x0) {\nLAB_000b57b8:\n      buf.aBuf = (u8 *)0x0;\n      pGrp_1->rc = (int)p_Var15;\n      *ppOut = (void *)buf.nBuf;\n      pSVar17 = (SessionInput *)buf.nBuf;\n    }\n    else {\n      pSVar17 = pSVar16;\n      if (0 < (int)pSVar16) {\n        rc = (*(code *)pOut)(pnOut);\n        xOutput = p_Var15;\n        pSVar17 = pSVar16;\n      }\n    }\n  }\nLAB_000b5730:\n  pcVar4 = (code *)buf.aBuf;\n  (*(code *)PTR_sqlite3_free_0019096c)(buf.aBuf);\n  if (piVar3 == *(int **)puVar36) {\n    return rc;\n  }\n  pcVar37 = sessionInputBuffer;\n  puVar36 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar36 + 0xe3140;\n  p_Var32 = *(_func_int_void_ptr_void_ptr_int_ptr **)(puVar36 + 0xdb644);\n  auStack_a4._0_4_ = 0;\n  pSStack_9c = *(SessionInput **)p_Var32;\n  iVar11 = 0;\n  p_Var15 = xOutput;\n  piVar33 = unaff_s0;\n  p_Var27 = unaff_s2;\n  piStack_98 = unaff_s0;\n  pSStack_94 = unaff_s1;\n  p_Stack_90 = unaff_s2;\n  puStack_8c = unaff_s3;\n  pvStack_88 = pOut;\n  p_Stack_84 = pcVar4;\n  pvStack_80 = unaff_s6;\n  pSStack_7c = unaff_s7;\n  pSStack_78 = unaff_s8;\n  pcStack_74 = pcVar37;\n  if (piVar3[8] != 0) {\n    piVar33 = piVar3;\n    if (piVar3[10] == 0) {\n      iVar11 = 0;\n      p_Var27 = xOutput;\n      if (piVar3[4] <= (int)(xOutput + piVar3[2])) {\n        p = (SessionBuffer *)(piVar3 + 5);\n        puVar29 = *(undefined **)(puVar36 + 0xdb168);\n        pSVar31 = (SessionInput *)(auStack_a4 + 4);\n        pSVar25 = (SessionBuffer *)(*(int *)(puVar36 + 0xdb44c) + 0x4d08);\n        pcVar4 = (code *)(*(int *)(puVar36 + 0xdb3c4) + 0x27a4);\n        do {\n          auStack_a4._4_4_ = *(undefined4 *)(puVar29 + -0xba0);\n          if (*piVar3 == 0) {\n            (*pcVar4)(piVar3);\n          }\n          pSVar17 = (SessionInput *)auStack_a4;\n          iVar11 = sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4);\n          unaff_s1 = pSVar25;\n          unaff_s3 = puVar29;\n          pOut = p;\n          unaff_s7 = (SessionInput *)auStack_a4;\n          unaff_s8 = pSVar31;\n          if (iVar11 == 0) {\n            pSVar17 = pSVar31;\n            auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);\n            if (auStack_a4._4_4_ == 0) {\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }\n            iVar23 = auStack_a4._4_4_ + piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n            piVar3[6] = iVar23;\n          }\n          else {\n            iVar23 = piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n          }\n          piVar3[4] = iVar23;\n          piVar3[3] = piVar3[5];\n          iVar11 = auStack_a4._0_4_;\n          if (((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0)) break;\n        } while( true );\n      }\n    }\n    else {\n      iVar11 = 0;\n    }\n  }\n  if (pSStack_9c == *(SessionInput **)p_Var32) {\n    return iVar11;\n  }\n  pcVar37 = *(code **)(puStack_b0 + -0x7b28);\n  pcVar38 = sessionChangesetBufferTblhdr;\n  pSVar31 = pSStack_9c;\n  auStack_a4._0_4_ = iVar11;\n  (*pcVar37)();\n  pcStack_f0 = pcVar37 + 0xe2f88;\n  pSVar16 = (SessionInput *)&DAT_00000009;\n  piVar3 = *(int **)(pcVar37 + 0xdb48c);\n  iVar11 = *(int *)(pcVar37 + 0xdb294);\n  uStack_e8 = 0;\n  pSStack_e4 = (SessionInput *)*piVar3;\n  piStack_dc = piVar33;\n  pSStack_d8 = unaff_s1;\n  p_Stack_d4 = p_Var27;\n  puStack_d0 = unaff_s3;\n  pSStack_cc = (SessionBuffer *)pOut;\n  pcStack_c8 = pcVar4;\n  pcStack_c4 = pcVar38;\n  puVar5 = (u8 *)sessionInputBuffer(pSVar31,9);\n  if (puVar5 == (u8 *)0x0) {\n    bVar1 = pSVar31->aData[pSVar31->iNext];\n    if ((char)bVar1 < '\0') {\n      iVar22 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))\n                         (pSVar31->aData + pSVar31->iNext,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        piVar19 = (int *)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        pSVar17 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        pSVar16 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        iVar23 = iVar22 + 1;\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        puVar5 = &DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar22 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    pSVar16 = (SessionInput *)(iVar22 + uStack_e8 + 100);\n    puVar5 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);\n    iVar22 = iVar22 + uStack_e8;\n    if (puVar5 == (u8 *)0x0) {\n      do {\n        pSVar16 = (SessionInput *)pSVar31->iNext;\n        pSVar17 = (SessionInput *)pSVar31->nData;\n        puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n        if ((int)puVar18 < (int)pSVar17) {\n          piVar19 = (int *)pSVar31->aData;\n          iVar7 = iVar22;\n          if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') {\n            iVar23 = iVar22 + 1;\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar22 = iVar7 + 1;\n            puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n            if ((int)pSVar17 <= (int)puVar18) break;\n            iVar23 = iVar7 + 2;\n            iVar7 = iVar22;\n            if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;\n          }\n        }\n        pSVar16 = (SessionInput *)(iVar22 + 100);\n        puVar18 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);\n      } while (puVar18 == (u8 *)0x0);\n      iVar23 = iVar22 + 1;\n      puVar5 = puVar18;\n    }\n    else {\n      iVar23 = iVar22 + 1;\n    }\n  }\n  else {\n    iVar23 = 1;\n  }\nLAB_000b5ad4:\n  *(int *)p_Var15 = iVar23;\n  if (pSStack_e4 == (SessionInput *)*piVar3) {\n    return (int)puVar5;\n  }\n  pcVar4 = *(code **)(pcStack_f0 + -0x7b28);\n  pcVar37 = sessionChangesetBufferRecord;\n  pSVar26 = pSStack_e4;\n  (*pcVar4)();\n  pcStack_148 = pcVar4 + 0xe2d94;\n  pSVar34 = &SStack_138;\n  pSVar28 = (SessionInput *)0x0;\n  pSVar24 = (SessionInput *)0x0;\n  piVar33 = *(int **)(pcVar4 + 0xdb298);\n  SStack_138.iCurrent = *piVar33;\n  pSVar30 = (SessionInput *)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);\n  pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);\n  iVar22 = 0;\n  nByte = pSVar16;\n  pSStack_13c = pSVar17;\n  SStack_138.iNext = iVar23;\n  SStack_138.aData = puVar5;\n  SStack_138.nData = (int)piVar3;\n  SStack_138.buf.aBuf = (u8 *)p_Var15;\n  SStack_138.buf.nBuf = iVar11 + 0x57e0;\n  SStack_138.buf.nAlloc = (int)pSVar31;\n  SStack_138.xInput = p_Var32;\n  SStack_138.pIn = unaff_s7;\n  SStack_138.bEof = (int)unaff_s8;\n  pcStack_10c = pcVar37;\n  if (0 < (int)pSVar16) {\n    do {\n      nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n      while( true ) {\n        iVar22 = sessionInputBuffer(pSVar26,(int)nByte);\n        if (iVar22 != 0) goto LAB_000b5c24;\n        unaff_s8 = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n        piVar19 = (int *)pSVar26->iNext;\n        uVar10 = (uint)(pSVar26->aData + (int)piVar19)[(int)pSVar24];\n        pSVar28 = (SessionInput *)((int)&pSVar28->bNoDiscard + 1);\n        if (uVar10 - 3 < 2) break;\n        pSVar24 = (SessionInput *)((int)&pSVar24->iNext + 1);\n        if (1 < uVar10 - 1) {\n          pSVar24 = unaff_s8;\n        }\n        nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n        if (pSVar16 == pSVar28) goto LAB_000b5c24;\n      }\n      piVar19 = (int *)((int)piVar19 + (int)unaff_s8);\n      pbVar12 = pSVar26->aData + (int)piVar19;\n      bVar1 = *pbVar12;\n      if ((char)bVar1 < '\0') {\n        iVar11 = (*pcVar4)(pbVar12,pSVar34);\n      }\n      else {\n        iVar11 = 1;\n        SStack_138.bNoDiscard = (uint)bVar1;\n      }\n      unaff_s8 = (SessionInput *)((int)&unaff_s8->bNoDiscard + iVar11);\n      pSVar24 = (SessionInput *)((int)&unaff_s8->bNoDiscard + SStack_138.bNoDiscard);\n      nByte = pSVar24;\n      iVar22 = sessionInputBuffer(pSVar26,(int)pSVar24);\n    } while ((iVar22 == 0) && (iVar22 = 0, (int)pSVar28 < (int)pSVar16));\n  }\nLAB_000b5c24:\n  pSStack_13c->bNoDiscard = (int)pSVar24;\n  if ((SessionInput *)SStack_138.iCurrent == (SessionInput *)*piVar33) {\n    return iVar22;\n  }\n  pcVar37 = *(code **)(pcStack_148 + -0x7b28);\n  pcVar38 = sessionReadRecord;\n  pIn = (SessionInput *)SStack_138.iCurrent;\n  (*pcVar37)();\n  pcStack_1c0 = pcVar37 + 0xe2c00;\n  piVar3 = *(int **)(pcVar37 + 0xdb104);\n  pSStack_18c = (SessionInput *)*piVar3;\n  abPK = nByte;\n  pSVar31 = pSVar17;\n  piStack_1b4 = piVar19;\n  pSStack_188 = pSVar24;\n  pSStack_184 = pSVar26;\n  pSStack_180 = pSVar28;\n  pSStack_17c = pSVar30;\n  pSStack_178 = pSVar16;\n  pcStack_174 = pcVar4;\n  piStack_170 = piVar33;\n  pSStack_16c = pSVar34;\n  pSStack_168 = unaff_s8;\n  pcStack_164 = pcVar38;\n  if (0 < (int)nByte) {\n    pSVar24 = (SessionInput *)0x0;\n    pcVar4 = *(code **)(pcVar37 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar37 + 0xdae88) + -0x2b48);\n    pSVar26 = (SessionInput *)(*(int *)(pcVar37 + 0xdaf0c) + 0x57e0);\n    iStack_1a8 = *(int *)(pcVar37 + 0xdaea0);\nLAB_000b5dac:\n    pSVar30 = (SessionInput *)0x1;\n    pSVar34 = pSVar24;\n    pcVar37 = pcStack_1c0;\nLAB_000b5db4:\n    while ((pSVar17 != (SessionInput *)0x0 &&\n           (*(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard) == '\0'))) {\n      pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      pSVar6 = (SessionInput *)0x0;\n      if ((int)nByte <= (int)pSVar34) goto LAB_000b5de4;\n    }\n    abPK = (SessionInput *)&DAT_00000009;\n    pSVar6 = (SessionInput *)sessionInputBuffer(pIn,9);\n    pcVar37 = pcStack_1c0;\n    if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;\n    iVar11 = pIn->iNext;\n    abPK = (SessionInput *)(iVar11 + 1);\n    if (pIn->nData <= iVar11) {\n      piVar19 = (int *)0x300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      pSVar31 = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      abPK = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      pSVar6 = (SessionInput *)&DAT_0000000b;\n      pcVar37 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    pIn->iNext = (int)abPK;\n    pcVar4 = (code *)(uint)pIn->aData[iVar11];\n    if (pcVar4 != (code *)0x0) {\n      piVar19 = (int *)&DAT_00000028;\n      pSVar31 = (SessionInput *)0x0;\n      pSVar16 = (SessionInput *)(piStack_1b4 + (int)pSVar34);\n      pSVar28 = (SessionInput *)(*pcStack_1b0)(0);\n      if (pSVar28 == (SessionInput *)0x0) {\n        pSVar6 = (SessionInput *)&DAT_00000007;\n        pSVar16->bNoDiscard = 0;\n        pcVar37 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)&pSVar28->iNext = 1;\n      pSVar28->xInput = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n      pSVar16->bNoDiscard = (int)pSVar28;\n      pSVar31 = (SessionInput *)pIn->iNext;\n      pdVar13 = (double *)(pIn->aData + (int)pSVar31);\n      if (pcVar4 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar13 < '\0') {\n          iVar11 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198);\n          pSVar31 = (SessionInput *)pIn->iNext;\n        }\n        else {\n          iVar11 = 1;\n          pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13;\n        }\n        pIn->iNext = (int)((int)&pSVar31->bNoDiscard + iVar11);\n        abPK = pSStack_198;\n        pSVar6 = (SessionInput *)sessionInputBuffer(pIn,(int)pSStack_198);\n        pSVar24 = pSStack_198;\n        pcVar37 = pcStack_1c0;\n        if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;\n        piVar19 = (int *)0x30000;\n        if (-1 < (int)pSStack_198) {\n          if ((int)pSStack_198 <= pIn->nData - pIn->iNext) {\n            pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;\n            pSVar16 = (SessionInput *)pIn->aData;\n            pSStack_1a4 = (SessionInput *)pIn->iNext;\n            pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();\n            pSVar31 = pSStack_1a4;\n            pSVar30 = pSVar24;\n            if (pSVar28 == (SessionInput *)0x0) {\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            pSVar6 = (SessionInput *)&DAT_00000007;\n            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n            pcVar37 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        piVar19 = (int *)0x300fd;\n        pSVar30 = pSStack_198;\n        goto LAB_000b5e90;\n      }\n      pSVar35 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      abPK = (SessionInput *)(uint)(pcVar4 + -1 < &SUB_00000002);\n      if (abPK != (SessionInput *)0x0) goto code_r0x000b6070;\n    }\n    pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n    pSVar24 = pSVar17;\n    pSVar28 = nByte;\n    pcVar37 = pcStack_1c0;\n    unaff_s8 = pIn;\n    if ((int)nByte <= (int)pSVar34) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  pSVar6 = (SessionInput *)0x0;\n  pSVar17 = pSVar24;\n  nByte = pSVar28;\n  pcVar37 = pcStack_1c0;\n  pIn = unaff_s8;\nLAB_000b5de4:\n  if (pSStack_18c == (SessionInput *)*piVar3) {\n    return (int)pSVar6;\n  }\n  pcVar37 = *(code **)(pcVar37 + -0x7b28);\n  pcVar38 = sessionChangesetNext;\n  pSVar24 = pSStack_18c;\n  (*pcVar37)();\n  piVar33 = *(int **)(pcVar37 + 0xdac9c);\n  iVar11 = pSVar24[2].iCurrent;\n  iStack_204 = *piVar33;\n  pSStack_200 = pSVar17;\n  pSStack_1fc = pSVar26;\n  pSStack_1f8 = nByte;\n  pSStack_1f4 = pSVar30;\n  pSStack_1f0 = pSVar16;\n  pcStack_1ec = pcVar4;\n  piStack_1e8 = piVar3;\n  pSStack_1e4 = pSVar34;\n  pSStack_1e0 = pIn;\n  pcStack_1dc = pcVar38;\n  if (iVar11 != 0) {\n    p_Var32 = pSVar24[1].xInput;\n    iVar23 = 0;\n    if (0 < (int)p_Var32) {\n      iVar22 = *(int *)(pcVar37 + 0xdaa20);\n      do {\n        iVar7 = iVar23 * 4;\n        iVar23 = iVar23 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar11 + iVar7));\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = pSVar24[2].iCurrent;\n      } while (iVar23 < (int)p_Var32 << 1);\n    }\n    (**(code **)(pcVar37 + 0xdabd0))(iVar11,0,(int)p_Var32 << 3);\n  }\n  puVar5 = (u8 *)sessionInputBuffer(pSVar24,2);\n  pSVar24[1].buf.aBuf = puVar5;\n  if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n  if (pSVar24->nData <= pSVar24->iNext) {\nLAB_000b6494:\n    puVar5 = (u8 *)0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(pcVar37 + 0xdaa1c) + 0x27a4))(pSVar24);\n  iVar11 = pSVar24->iNext;\n  puVar5 = pSVar24->aData;\n  iVar23 = *(int *)(pcVar37 + 0xdaa20);\n  pSVar24->iCurrent = iVar11;\n  pSVar24->iNext = iVar11 + 1;\n  bVar1 = puVar5[iVar11];\n  while (puVar8 = (undefined1 *)(uint)bVar1, ((uint)puVar8 & 0xfb) == 0x50) {\n    if (piVar19 != (int *)0x0) {\n      *piVar19 = 1;\n    }\n    pSVar24[1].aData = (u8 *)(uint)(puVar8 == (undefined1 *)0x50);\n    puStack_20c = (u8 *)sessionChangesetBufferTblhdr(pSVar24,&iStack_208);\n    if (puStack_20c != (u8 *)0x0) {\nLAB_000b6434:\n      p_Var32 = pSVar24[1].xInput;\n      iVar11 = pSVar24[1].bNoDiscard;\n      pSVar24[1].buf.aBuf = puStack_20c;\n      pSVar24[2].iCurrent = iVar11;\n      iVar11 = iVar11 + (int)p_Var32 * 8;\n      pSVar24[2].bNoDiscard = iVar11;\n      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n      puVar5 = puStack_20c;\n      goto LAB_000b6458;\n    }\n    bVar1 = pSVar24->aData[pSVar24->iNext];\n    p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar11 = (*(code *)(iVar23 + 0x3388))(pSVar24->aData + pSVar24->iNext,&pSVar24[1].xInput);\n      p_Var32 = pSVar24[1].xInput;\n    }\n    else {\n      iVar11 = 1;\n      pSVar24[1].xInput = p_Var32;\n    }\n    if ((int)p_Var32 < 1) {\n      (**(code **)(pcVar37 + 0xdaa58))\n                (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar37 + 0xda7d0) + 0x625c);\n      puVar5 = (u8 *)0xb;\n      p_Var32 = pSVar24[1].xInput;\n      iVar11 = pSVar24[1].bNoDiscard;\n      pSVar24[1].buf.aBuf = (u8 *)0xb;\n      pSVar24[2].iCurrent = iVar11;\n      iVar11 = iVar11 + (int)p_Var32 * 8;\n      pSVar24[2].bNoDiscard = iVar11;\n      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n      goto LAB_000b6458;\n    }\n    iVar22 = pSVar24->iNext;\n    pSVar24[1].iCurrent = 0;\n    iStack_208 = iStack_208 - iVar11;\n    pSVar24->iNext = iVar22 + iVar11;\n    sessionBufferGrow((SessionBuffer *)(pSVar24 + 1),(int)p_Var32 * 8 + iStack_208,\n                      (int *)&puStack_20c);\n    if (puStack_20c != (u8 *)0x0) goto LAB_000b6434;\n    iVar11 = (int)pSVar24[1].xInput * 8;\n    (**(code **)(pcVar37 + 0xdabd0))(pSVar24[1].bNoDiscard,0,iVar11);\n    (**(code **)(pcVar37 + 0xdaca4))\n              (pSVar24[1].bNoDiscard + iVar11,pSVar24->aData + pSVar24->iNext,iStack_208);\n    p_Var32 = pSVar24[1].xInput;\n    iVar22 = pSVar24->iNext;\n    iVar11 = pSVar24[1].bNoDiscard + (int)p_Var32 * 8;\n    pSVar24[2].iCurrent = pSVar24[1].bNoDiscard;\n    pSVar24[2].bNoDiscard = iVar11;\n    pSVar24[1].buf.aBuf = puStack_20c;\n    pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n    pSVar24->iNext = iVar22 + iStack_208;\n    puVar5 = puStack_20c;\n    if (puStack_20c != (u8 *)0x0) goto LAB_000b6458;\n    puVar5 = (u8 *)sessionInputBuffer(pSVar24,2);\n    pSVar24[1].buf.aBuf = puVar5;\n    if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n    iVar11 = pSVar24->iNext;\n    pSVar24->iCurrent = iVar11;\n    if (pSVar24->nData <= iVar11) goto LAB_000b6494;\n    puVar5 = pSVar24->aData;\n    pSVar24->iNext = iVar11 + 1;\n    bVar1 = puVar5[iVar11];\n  }\n  if ((pSVar24[1].buf.nAlloc == 0) ||\n     ((puVar18 = pSVar24[1].aData, puVar18 != (u8 *)0x0 && (pSVar24[1].nData != 0)))) {\n    uVar20 = 0x301e0;\n  }\n  else {\n    iVar11 = pSVar24->iNext;\n    pSVar24[1].pIn = puVar8;\n    pSVar24->iNext = iVar11 + 1;\n    pSVar24[1].bEof = (uint)puVar5[iVar11];\n    if ((puVar8 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f) < 0)) {\n      p_Var32 = pSVar24[1].xInput;\n      if (abPK != (SessionInput *)0x0) {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var32 < 1) goto LAB_000b6830;\n          p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard;\n          p_Var14 = p_Var32 + (int)p_Var9;\n          p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }\n            p_Var9 = p_Var9 + 1;\n            if (p_Var14 == p_Var9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar8 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var32 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar21 = (sqlite3_value **)pSVar24[2].iCurrent;\n      apOut = ppsVar21;\n      apOut_00 = ppsVar21 + (int)p_Var32;\n      if (pSVar24[1].nData != 0) {\n        apOut = ppsVar21 + (int)p_Var32;\n        apOut_00 = ppsVar21;\n      }\n      if (puVar8 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          if (pSVar24[1].nData == 0) goto LAB_000b6734;\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) {\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = 0;\n        if (0 < (int)p_Var32) {\n          do {\n            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }\n            iVar11 = iVar11 + 1;\n          } while (iVar11 < (int)p_Var32);\n        }\n      }\n      else {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b6678;\n          abPK = (SessionInput *)pSVar24[2].bNoDiscard;\n        }\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pSVar24[1].pIn != &DAT_00000009) {\n          p_Var32 = pSVar24[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          puVar5 = (u8 *)0x64;\n          if (pSVar24[1].nData == 0) goto LAB_000b6458;\n          puVar8 = &DAT_00000009;\n        }\n        else {\n          iVar11 = pSVar24[1].nData;\n          puVar8 = &DAT_00000009;\nLAB_000b6780:\n          puVar5 = (u8 *)0x64;\n          if (iVar11 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar8 == (undefined1 *)0x12) {\n          puVar5 = (u8 *)0x64;\n          pSVar24[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar8 == &DAT_00000009) {\n          pSVar24[1].pIn = (void *)0x12;\n          puVar5 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar5 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }\n    uVar20 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(pcVar37 + 0xdaa58))\n            (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,uVar20,\n             *(int *)(pcVar37 + 0xda7d0) + 0x625c);\n  puVar5 = (u8 *)0xb;\n  pSVar24[1].buf.aBuf = (u8 *)0xb;\nLAB_000b6458:\n  while (iStack_204 != *piVar33) {\n    (**(code **)(pcVar37 + 0xdac70))();\nLAB_000b6830:\n    p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\nLAB_000b65d4:\n    puVar5 = (u8 *)sessionChangesetBufferRecord(pSVar24,(int)p_Var32,&pSVar31->bNoDiscard);\n    pSVar24[1].buf.aBuf = puVar5;\n    if (puVar5 == (u8 *)0x0) {\n      abPK->bNoDiscard = (int)(pSVar24->aData + pSVar24->iNext);\n      pSVar24->iNext = pSVar24->iNext + pSVar31->bNoDiscard;\n      puVar5 = (u8 *)0x64;\n    }\n  }\n  return (int)puVar5;\ncode_r0x000b6070:\n  pSVar31 = *(SessionInput **)pdVar13;\n  piVar19 = *(int **)((int)pdVar13 + 4);\n  dVar39 = *pdVar13;\n  uVar2 = *(ushort *)&pSVar28->iNext;\n  abPK = (SessionInput *)(uVar2 & 0x2400);\n  pSVar24 = pSVar35;\n  if (pcVar4 == (code *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      pSVar28->iCurrent = (int)piVar19;\n      pSVar28->bNoDiscard = (int)pSVar31;\n      *(undefined2 *)&pSVar28->iNext = 4;\n    }\n    else {\n      pSStack_1a4 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(pSVar28);\n      pSVar24 = pSStack_1a4;\n    }\n  }\n  else {\n    pSStack_198 = pSVar31;\n    piStack_194 = piVar19;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)&pSVar28->iNext = 1;\n    }\n    else {\n      pSStack_1a4 = pSVar28;\n      pSStack_1a0 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(pSVar28);\n      pSVar28 = pSStack_1a4;\n      pSVar24 = pSStack_1a0;\n    }\n    if (!NAN(dVar39)) {\n      *(double *)pSVar28 = dVar39;\n      *(undefined2 *)&pSVar28->iNext = 8;\n    }\n  }\n  pSVar16 = (SessionInput *)(uint)((int)pSVar35 < (int)nByte);\n  pIn->iNext = pIn->iNext + 8;\n  if (pSVar16 == (SessionInput *)0x0) {\n    pSVar6 = (SessionInput *)0x0;\n    pSVar34 = pSVar35;\n    pcVar37 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" primitive_type (function_declarator "sessionChangegroupOutput\n              (sqlite3_changegroup *pGrp,_func_int_void_ptr_void_ptr_int *xOutput,void *pOut,\n              int *pnOut,void **ppOut,sqlite3_changegroup *pGrp_1)" identifier (parameter_list "(sqlite3_changegroup *pGrp,_func_int_void_ptr_void_ptr_int *xOutput,void *pOut,\n              int *pnOut,void **ppOut,sqlite3_changegroup *pGrp_1)" ( (parameter_declaration "sqlite3_changegroup *pGrp" type_identifier (pointer_declarator "*pGrp" * identifier)) , (parameter_declaration "_func_int_void_ptr_void_ptr_int *xOutput" type_identifier (pointer_declarator "*xOutput" * identifier)) , (parameter_declaration "void *pOut" primitive_type (pointer_declarator "*pOut" * identifier)) , (parameter_declaration "int *pnOut" primitive_type (pointer_declarator "*pnOut" * identifier)) , (parameter_declaration "void **ppOut" primitive_type (pointer_declarator "**ppOut" * (pointer_declarator "*ppOut" * identifier))) , (parameter_declaration "sqlite3_changegroup *pGrp_1" type_identifier (pointer_declarator "*pGrp_1" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  int *piVar3;\n  code *pcVar4;\n  u8 *puVar5;\n  SessionInput *pSVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var9;\n  uint uVar10;\n  int iVar11;\n  byte *pbVar12;\n  SessionInput *pIn;\n  double *pdVar13;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var14;\n  _func_int_void_ptr_void_ptr_int *p_Var15;\n  SessionInput *nByte;\n  SessionInput *abPK;\n  SessionInput *pSVar16;\n  SessionInput *pSVar17;\n  u8 *puVar18;\n  int *piVar19;\n  undefined4 uVar20;\n  sqlite3_value **ppsVar21;\n  sqlite3_value **apOut;\n  int *unaff_s0;\n  int iVar22;\n  int iVar23;\n  SessionInput *pSVar24;\n  SessionBuffer *unaff_s1;\n  SessionBuffer *pSVar25;\n  SessionInput *pSVar26;\n  sqlite3_value **apOut_00;\n  _func_int_void_ptr_void_ptr_int *unaff_s2;\n  _func_int_void_ptr_void_ptr_int *p_Var27;\n  SessionInput *pSVar28;\n  undefined *unaff_s3;\n  undefined *puVar29;\n  SessionInput *pSVar30;\n  SessionBuffer *p;\n  SessionInput *pSVar31;\n  void *unaff_s6;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Var32;\n  int *piVar33;\n  SessionInput *unaff_s7;\n  SessionInput *pSVar34;\n  SessionInput *pSVar35;\n  undefined *puVar36;\n  SessionInput *unaff_s8;\n  code *pcVar37;\n  code *pcVar38;\n  double dVar39;\n  u8 *puStack_20c;\n  int iStack_208;\n  int iStack_204;\n  SessionInput *pSStack_200;\n  SessionInput *pSStack_1fc;\n  SessionInput *pSStack_1f8;\n  SessionInput *pSStack_1f4;\n  SessionInput *pSStack_1f0;\n  code *pcStack_1ec;\n  int *piStack_1e8;\n  SessionInput *pSStack_1e4;\n  SessionInput *pSStack_1e0;\n  code *pcStack_1dc;\n  int iStack_1c8;\n  code *pcStack_1c0;\n  int *piStack_1b4;\n  code *pcStack_1b0;\n  code *pcStack_1ac;\n  int iStack_1a8;\n  SessionInput *pSStack_1a4;\n  SessionInput *pSStack_1a0;\n  SessionInput *pSStack_19c;\n  SessionInput *pSStack_198;\n  int *piStack_194;\n  SessionInput *pSStack_18c;\n  SessionInput *pSStack_188;\n  SessionInput *pSStack_184;\n  SessionInput *pSStack_180;\n  SessionInput *pSStack_17c;\n  SessionInput *pSStack_178;\n  code *pcStack_174;\n  int *piStack_170;\n  SessionInput *pSStack_16c;\n  SessionInput *pSStack_168;\n  code *pcStack_164;\n  code *pcStack_148;\n  SessionInput *pSStack_13c;\n  SessionInput SStack_138;\n  code *pcStack_10c;\n  int iStack_f8;\n  code *pcStack_f0;\n  uint uStack_e8;\n  SessionInput *pSStack_e4;\n  int *piStack_dc;\n  SessionBuffer *pSStack_d8;\n  _func_int_void_ptr_void_ptr_int *p_Stack_d4;\n  undefined *puStack_d0;\n  SessionBuffer *pSStack_cc;\n  code *pcStack_c8;\n  code *pcStack_c4;\n  undefined *puStack_b0;\n  undefined1 auStack_a4 [8];\n  SessionInput *pSStack_9c;\n  int *piStack_98;\n  SessionBuffer *pSStack_94;\n  _func_int_void_ptr_void_ptr_int *p_Stack_90;\n  undefined *puStack_8c;\n  void *pvStack_88;\n  _func_int_void_ptr_void_ptr_int_ptr *p_Stack_84;\n  void *pvStack_80;\n  SessionInput *pSStack_7c;\n  SessionInput *pSStack_78;\n  code *pcStack_74;\n  int rc;\n  SessionBuffer buf;\n  \n  puVar36 = PTR___stack_chk_guard_00190e24;\n  rc = 0;\n  buf.aBuf = (u8 *)0x0;\n  buf.nBuf = 0;\n  buf.nAlloc = 0;\n  piVar3 = *(int **)PTR___stack_chk_guard_00190e24;\n  piVar19 = pnOut;\n  if (xOutput == (_func_int_void_ptr_void_ptr_int *)0x0) {\n    pSVar17 = (SessionInput *)pOut;\n    if (pOut == (void *)0x0) {\n      p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (_func_int_void_ptr_void_ptr_int *)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    pSVar16 = (SessionInput *)pOut;\n    pSVar31 = (SessionInput *)xOutput;\n    do {\n      if ((pSVar31->buf).nBuf == 0) {\nLAB_000b5618:\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n      }\n      else {\n        unaff_s0 = &rc;\n        unaff_s1 = &buf;\n        xOutput = (_func_int_void_ptr_void_ptr_int *)pGrp->rc;\n        pSVar16 = pSVar31;\n        piVar19 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar29 = PTR_aBuiltinFunc_29540_1408__00190948;\n        iVar11 = (pSVar31->buf).nAlloc;\n        if (iVar11 < 1) goto LAB_000b5618;\n        unaff_s6 = (void *)0x0;\n        do {\n          unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);\n          if (unaff_s8 != (SessionInput *)0x0) {\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }\n          unaff_s6 = (void *)((int)unaff_s6 + 1);\n        } while ((int)unaff_s6 < iVar11);\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n        unaff_s7 = (SessionInput *)puVar29;\n      }\n      buf.aBuf = (u8 *)p_Var15;\n      buf.nBuf = (int)pSVar16;\n      if (rc != 0) goto LAB_000b5730;\n    } while (pSVar31 != (SessionInput *)0x0);\n    if (pOut == (void *)0x0) {\nLAB_000b57b8:\n      buf.aBuf = (u8 *)0x0;\n      pGrp_1->rc = (int)p_Var15;\n      *ppOut = (void *)buf.nBuf;\n      pSVar17 = (SessionInput *)buf.nBuf;\n    }\n    else {\n      pSVar17 = pSVar16;\n      if (0 < (int)pSVar16) {\n        rc = (*(code *)pOut)(pnOut);\n        xOutput = p_Var15;\n        pSVar17 = pSVar16;\n      }\n    }\n  }\nLAB_000b5730:\n  pcVar4 = (code *)buf.aBuf;\n  (*(code *)PTR_sqlite3_free_0019096c)(buf.aBuf);\n  if (piVar3 == *(int **)puVar36) {\n    return rc;\n  }\n  pcVar37 = sessionInputBuffer;\n  puVar36 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar36 + 0xe3140;\n  p_Var32 = *(_func_int_void_ptr_void_ptr_int_ptr **)(puVar36 + 0xdb644);\n  auStack_a4._0_4_ = 0;\n  pSStack_9c = *(SessionInput **)p_Var32;\n  iVar11 = 0;\n  p_Var15 = xOutput;\n  piVar33 = unaff_s0;\n  p_Var27 = unaff_s2;\n  piStack_98 = unaff_s0;\n  pSStack_94 = unaff_s1;\n  p_Stack_90 = unaff_s2;\n  puStack_8c = unaff_s3;\n  pvStack_88 = pOut;\n  p_Stack_84 = pcVar4;\n  pvStack_80 = unaff_s6;\n  pSStack_7c = unaff_s7;\n  pSStack_78 = unaff_s8;\n  pcStack_74 = pcVar37;\n  if (piVar3[8] != 0) {\n    piVar33 = piVar3;\n    if (piVar3[10] == 0) {\n      iVar11 = 0;\n      p_Var27 = xOutput;\n      if (piVar3[4] <= (int)(xOutput + piVar3[2])) {\n        p = (SessionBuffer *)(piVar3 + 5);\n        puVar29 = *(undefined **)(puVar36 + 0xdb168);\n        pSVar31 = (SessionInput *)(auStack_a4 + 4);\n        pSVar25 = (SessionBuffer *)(*(int *)(puVar36 + 0xdb44c) + 0x4d08);\n        pcVar4 = (code *)(*(int *)(puVar36 + 0xdb3c4) + 0x27a4);\n        do {\n          auStack_a4._4_4_ = *(undefined4 *)(puVar29 + -0xba0);\n          if (*piVar3 == 0) {\n            (*pcVar4)(piVar3);\n          }\n          pSVar17 = (SessionInput *)auStack_a4;\n          iVar11 = sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4);\n          unaff_s1 = pSVar25;\n          unaff_s3 = puVar29;\n          pOut = p;\n          unaff_s7 = (SessionInput *)auStack_a4;\n          unaff_s8 = pSVar31;\n          if (iVar11 == 0) {\n            pSVar17 = pSVar31;\n            auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);\n            if (auStack_a4._4_4_ == 0) {\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }\n            iVar23 = auStack_a4._4_4_ + piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n            piVar3[6] = iVar23;\n          }\n          else {\n            iVar23 = piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n          }\n          piVar3[4] = iVar23;\n          piVar3[3] = piVar3[5];\n          iVar11 = auStack_a4._0_4_;\n          if (((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0)) break;\n        } while( true );\n      }\n    }\n    else {\n      iVar11 = 0;\n    }\n  }\n  if (pSStack_9c == *(SessionInput **)p_Var32) {\n    return iVar11;\n  }\n  pcVar37 = *(code **)(puStack_b0 + -0x7b28);\n  pcVar38 = sessionChangesetBufferTblhdr;\n  pSVar31 = pSStack_9c;\n  auStack_a4._0_4_ = iVar11;\n  (*pcVar37)();\n  pcStack_f0 = pcVar37 + 0xe2f88;\n  pSVar16 = (SessionInput *)&DAT_00000009;\n  piVar3 = *(int **)(pcVar37 + 0xdb48c);\n  iVar11 = *(int *)(pcVar37 + 0xdb294);\n  uStack_e8 = 0;\n  pSStack_e4 = (SessionInput *)*piVar3;\n  piStack_dc = piVar33;\n  pSStack_d8 = unaff_s1;\n  p_Stack_d4 = p_Var27;\n  puStack_d0 = unaff_s3;\n  pSStack_cc = (SessionBuffer *)pOut;\n  pcStack_c8 = pcVar4;\n  pcStack_c4 = pcVar38;\n  puVar5 = (u8 *)sessionInputBuffer(pSVar31,9);\n  if (puVar5 == (u8 *)0x0) {\n    bVar1 = pSVar31->aData[pSVar31->iNext];\n    if ((char)bVar1 < '\0') {\n      iVar22 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))\n                         (pSVar31->aData + pSVar31->iNext,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        piVar19 = (int *)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        pSVar17 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        pSVar16 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        iVar23 = iVar22 + 1;\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        puVar5 = &DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar22 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    pSVar16 = (SessionInput *)(iVar22 + uStack_e8 + 100);\n    puVar5 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);\n    iVar22 = iVar22 + uStack_e8;\n    if (puVar5 == (u8 *)0x0) {\n      do {\n        pSVar16 = (SessionInput *)pSVar31->iNext;\n        pSVar17 = (SessionInput *)pSVar31->nData;\n        puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n        if ((int)puVar18 < (int)pSVar17) {\n          piVar19 = (int *)pSVar31->aData;\n          iVar7 = iVar22;\n          if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') {\n            iVar23 = iVar22 + 1;\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar22 = iVar7 + 1;\n            puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n            if ((int)pSVar17 <= (int)puVar18) break;\n            iVar23 = iVar7 + 2;\n            iVar7 = iVar22;\n            if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;\n          }\n        }\n        pSVar16 = (SessionInput *)(iVar22 + 100);\n        puVar18 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);\n      } while (puVar18 == (u8 *)0x0);\n      iVar23 = iVar22 + 1;\n      puVar5 = puVar18;\n    }\n    else {\n      iVar23 = iVar22 + 1;\n    }\n  }\n  else {\n    iVar23 = 1;\n  }\nLAB_000b5ad4:\n  *(int *)p_Var15 = iVar23;\n  if (pSStack_e4 == (SessionInput *)*piVar3) {\n    return (int)puVar5;\n  }\n  pcVar4 = *(code **)(pcStack_f0 + -0x7b28);\n  pcVar37 = sessionChangesetBufferRecord;\n  pSVar26 = pSStack_e4;\n  (*pcVar4)();\n  pcStack_148 = pcVar4 + 0xe2d94;\n  pSVar34 = &SStack_138;\n  pSVar28 = (SessionInput *)0x0;\n  pSVar24 = (SessionInput *)0x0;\n  piVar33 = *(int **)(pcVar4 + 0xdb298);\n  SStack_138.iCurrent = *piVar33;\n  pSVar30 = (SessionInput *)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);\n  pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);\n  iVar22 = 0;\n  nByte = pSVar16;\n  pSStack_13c = pSVar17;\n  SStack_138.iNext = iVar23;\n  SStack_138.aData = puVar5;\n  SStack_138.nData = (int)piVar3;\n  SStack_138.buf.aBuf = (u8 *)p_Var15;\n  SStack_138.buf.nBuf = iVar11 + 0x57e0;\n  SStack_138.buf.nAlloc = (int)pSVar31;\n  SStack_138.xInput = p_Var32;\n  SStack_138.pIn = unaff_s7;\n  SStack_138.bEof = (int)unaff_s8;\n  pcStack_10c = pcVar37;\n  if (0 < (int)pSVar16) {\n    do {\n      nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n      while( true ) {\n        iVar22 = sessionInputBuffer(pSVar26,(int)nByte);\n        if (iVar22 != 0) goto LAB_000b5c24;\n        unaff_s8 = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n        piVar19 = (int *)pSVar26->iNext;\n        uVar10 = (uint)(pSVar26->aData + (int)piVar19)[(int)pSVar24];\n        pSVar28 = (SessionInput *)((int)&pSVar28->bNoDiscard + 1);\n        if (uVar10 - 3 < 2) break;\n        pSVar24 = (SessionInput *)((int)&pSVar24->iNext + 1);\n        if (1 < uVar10 - 1) {\n          pSVar24 = unaff_s8;\n        }\n        nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n        if (pSVar16 == pSVar28) goto LAB_000b5c24;\n      }\n      piVar19 = (int *)((int)piVar19 + (int)unaff_s8);\n      pbVar12 = pSVar26->aData + (int)piVar19;\n      bVar1 = *pbVar12;\n      if ((char)bVar1 < '\0') {\n        iVar11 = (*pcVar4)(pbVar12,pSVar34);\n      }\n      else {\n        iVar11 = 1;\n        SStack_138.bNoDiscard = (uint)bVar1;\n      }\n      unaff_s8 = (SessionInput *)((int)&unaff_s8->bNoDiscard + iVar11);\n      pSVar24 = (SessionInput *)((int)&unaff_s8->bNoDiscard + SStack_138.bNoDiscard);\n      nByte = pSVar24;\n      iVar22 = sessionInputBuffer(pSVar26,(int)pSVar24);\n    } while ((iVar22 == 0) && (iVar22 = 0, (int)pSVar28 < (int)pSVar16));\n  }\nLAB_000b5c24:\n  pSStack_13c->bNoDiscard = (int)pSVar24;\n  if ((SessionInput *)SStack_138.iCurrent == (SessionInput *)*piVar33) {\n    return iVar22;\n  }\n  pcVar37 = *(code **)(pcStack_148 + -0x7b28);\n  pcVar38 = sessionReadRecord;\n  pIn = (SessionInput *)SStack_138.iCurrent;\n  (*pcVar37)();\n  pcStack_1c0 = pcVar37 + 0xe2c00;\n  piVar3 = *(int **)(pcVar37 + 0xdb104);\n  pSStack_18c = (SessionInput *)*piVar3;\n  abPK = nByte;\n  pSVar31 = pSVar17;\n  piStack_1b4 = piVar19;\n  pSStack_188 = pSVar24;\n  pSStack_184 = pSVar26;\n  pSStack_180 = pSVar28;\n  pSStack_17c = pSVar30;\n  pSStack_178 = pSVar16;\n  pcStack_174 = pcVar4;\n  piStack_170 = piVar33;\n  pSStack_16c = pSVar34;\n  pSStack_168 = unaff_s8;\n  pcStack_164 = pcVar38;\n  if (0 < (int)nByte) {\n    pSVar24 = (SessionInput *)0x0;\n    pcVar4 = *(code **)(pcVar37 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar37 + 0xdae88) + -0x2b48);\n    pSVar26 = (SessionInput *)(*(int *)(pcVar37 + 0xdaf0c) + 0x57e0);\n    iStack_1a8 = *(int *)(pcVar37 + 0xdaea0);\nLAB_000b5dac:\n    pSVar30 = (SessionInput *)0x1;\n    pSVar34 = pSVar24;\n    pcVar37 = pcStack_1c0;\nLAB_000b5db4:\n    while ((pSVar17 != (SessionInput *)0x0 &&\n           (*(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard) == '\0'))) {\n      pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      pSVar6 = (SessionInput *)0x0;\n      if ((int)nByte <= (int)pSVar34) goto LAB_000b5de4;\n    }\n    abPK = (SessionInput *)&DAT_00000009;\n    pSVar6 = (SessionInput *)sessionInputBuffer(pIn,9);\n    pcVar37 = pcStack_1c0;\n    if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;\n    iVar11 = pIn->iNext;\n    abPK = (SessionInput *)(iVar11 + 1);\n    if (pIn->nData <= iVar11) {\n      piVar19 = (int *)0x300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      pSVar31 = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      abPK = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      pSVar6 = (SessionInput *)&DAT_0000000b;\n      pcVar37 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    pIn->iNext = (int)abPK;\n    pcVar4 = (code *)(uint)pIn->aData[iVar11];\n    if (pcVar4 != (code *)0x0) {\n      piVar19 = (int *)&DAT_00000028;\n      pSVar31 = (SessionInput *)0x0;\n      pSVar16 = (SessionInput *)(piStack_1b4 + (int)pSVar34);\n      pSVar28 = (SessionInput *)(*pcStack_1b0)(0);\n      if (pSVar28 == (SessionInput *)0x0) {\n        pSVar6 = (SessionInput *)&DAT_00000007;\n        pSVar16->bNoDiscard = 0;\n        pcVar37 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)&pSVar28->iNext = 1;\n      pSVar28->xInput = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n      pSVar16->bNoDiscard = (int)pSVar28;\n      pSVar31 = (SessionInput *)pIn->iNext;\n      pdVar13 = (double *)(pIn->aData + (int)pSVar31);\n      if (pcVar4 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar13 < '\0') {\n          iVar11 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198);\n          pSVar31 = (SessionInput *)pIn->iNext;\n        }\n        else {\n          iVar11 = 1;\n          pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13;\n        }\n        pIn->iNext = (int)((int)&pSVar31->bNoDiscard + iVar11);\n        abPK = pSStack_198;\n        pSVar6 = (SessionInput *)sessionInputBuffer(pIn,(int)pSStack_198);\n        pSVar24 = pSStack_198;\n        pcVar37 = pcStack_1c0;\n        if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;\n        piVar19 = (int *)0x30000;\n        if (-1 < (int)pSStack_198) {\n          if ((int)pSStack_198 <= pIn->nData - pIn->iNext) {\n            pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;\n            pSVar16 = (SessionInput *)pIn->aData;\n            pSStack_1a4 = (SessionInput *)pIn->iNext;\n            pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();\n            pSVar31 = pSStack_1a4;\n            pSVar30 = pSVar24;\n            if (pSVar28 == (SessionInput *)0x0) {\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            pSVar6 = (SessionInput *)&DAT_00000007;\n            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n            pcVar37 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        piVar19 = (int *)0x300fd;\n        pSVar30 = pSStack_198;\n        goto LAB_000b5e90;\n      }\n      pSVar35 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      abPK = (SessionInput *)(uint)(pcVar4 + -1 < &SUB_00000002);\n      if (abPK != (SessionInput *)0x0) goto code_r0x000b6070;\n    }\n    pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n    pSVar24 = pSVar17;\n    pSVar28 = nByte;\n    pcVar37 = pcStack_1c0;\n    unaff_s8 = pIn;\n    if ((int)nByte <= (int)pSVar34) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  pSVar6 = (SessionInput *)0x0;\n  pSVar17 = pSVar24;\n  nByte = pSVar28;\n  pcVar37 = pcStack_1c0;\n  pIn = unaff_s8;\nLAB_000b5de4:\n  if (pSStack_18c == (SessionInput *)*piVar3) {\n    return (int)pSVar6;\n  }\n  pcVar37 = *(code **)(pcVar37 + -0x7b28);\n  pcVar38 = sessionChangesetNext;\n  pSVar24 = pSStack_18c;\n  (*pcVar37)();\n  piVar33 = *(int **)(pcVar37 + 0xdac9c);\n  iVar11 = pSVar24[2].iCurrent;\n  iStack_204 = *piVar33;\n  pSStack_200 = pSVar17;\n  pSStack_1fc = pSVar26;\n  pSStack_1f8 = nByte;\n  pSStack_1f4 = pSVar30;\n  pSStack_1f0 = pSVar16;\n  pcStack_1ec = pcVar4;\n  piStack_1e8 = piVar3;\n  pSStack_1e4 = pSVar34;\n  pSStack_1e0 = pIn;\n  pcStack_1dc = pcVar38;\n  if (iVar11 != 0) {\n    p_Var32 = pSVar24[1].xInput;\n    iVar23 = 0;\n    if (0 < (int)p_Var32) {\n      iVar22 = *(int *)(pcVar37 + 0xdaa20);\n      do {\n        iVar7 = iVar23 * 4;\n        iVar23 = iVar23 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar11 + iVar7));\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = pSVar24[2].iCurrent;\n      } while (iVar23 < (int)p_Var32 << 1);\n    }\n    (**(code **)(pcVar37 + 0xdabd0))(iVar11,0,(int)p_Var32 << 3);\n  }\n  puVar5 = (u8 *)sessionInputBuffer(pSVar24,2);\n  pSVar24[1].buf.aBuf = puVar5;\n  if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n  if (pSVar24->nData <= pSVar24->iNext) {\nLAB_000b6494:\n    puVar5 = (u8 *)0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(pcVar37 + 0xdaa1c) + 0x27a4))(pSVar24);\n  iVar11 = pSVar24->iNext;\n  puVar5 = pSVar24->aData;\n  iVar23 = *(int *)(pcVar37 + 0xdaa20);\n  pSVar24->iCurrent = iVar11;\n  pSVar24->iNext = iVar11 + 1;\n  bVar1 = puVar5[iVar11];\n  while (puVar8 = (undefined1 *)(uint)bVar1, ((uint)puVar8 & 0xfb) == 0x50) {\n    if (piVar19 != (int *)0x0) {\n      *piVar19 = 1;\n    }\n    pSVar24[1].aData = (u8 *)(uint)(puVar8 == (undefined1 *)0x50);\n    puStack_20c = (u8 *)sessionChangesetBufferTblhdr(pSVar24,&iStack_208);\n    if (puStack_20c != (u8 *)0x0) {\nLAB_000b6434:\n      p_Var32 = pSVar24[1].xInput;\n      iVar11 = pSVar24[1].bNoDiscard;\n      pSVar24[1].buf.aBuf = puStack_20c;\n      pSVar24[2].iCurrent = iVar11;\n      iVar11 = iVar11 + (int)p_Var32 * 8;\n      pSVar24[2].bNoDiscard = iVar11;\n      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n      puVar5 = puStack_20c;\n      goto LAB_000b6458;\n    }\n    bVar1 = pSVar24->aData[pSVar24->iNext];\n    p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar11 = (*(code *)(iVar23 + 0x3388))(pSVar24->aData + pSVar24->iNext,&pSVar24[1].xInput);\n      p_Var32 = pSVar24[1].xInput;\n    }\n    else {\n      iVar11 = 1;\n      pSVar24[1].xInput = p_Var32;\n    }\n    if ((int)p_Var32 < 1) {\n      (**(code **)(pcVar37 + 0xdaa58))\n                (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar37 + 0xda7d0) + 0x625c);\n      puVar5 = (u8 *)0xb;\n      p_Var32 = pSVar24[1].xInput;\n      iVar11 = pSVar24[1].bNoDiscard;\n      pSVar24[1].buf.aBuf = (u8 *)0xb;\n      pSVar24[2].iCurrent = iVar11;\n      iVar11 = iVar11 + (int)p_Var32 * 8;\n      pSVar24[2].bNoDiscard = iVar11;\n      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n      goto LAB_000b6458;\n    }\n    iVar22 = pSVar24->iNext;\n    pSVar24[1].iCurrent = 0;\n    iStack_208 = iStack_208 - iVar11;\n    pSVar24->iNext = iVar22 + iVar11;\n    sessionBufferGrow((SessionBuffer *)(pSVar24 + 1),(int)p_Var32 * 8 + iStack_208,\n                      (int *)&puStack_20c);\n    if (puStack_20c != (u8 *)0x0) goto LAB_000b6434;\n    iVar11 = (int)pSVar24[1].xInput * 8;\n    (**(code **)(pcVar37 + 0xdabd0))(pSVar24[1].bNoDiscard,0,iVar11);\n    (**(code **)(pcVar37 + 0xdaca4))\n              (pSVar24[1].bNoDiscard + iVar11,pSVar24->aData + pSVar24->iNext,iStack_208);\n    p_Var32 = pSVar24[1].xInput;\n    iVar22 = pSVar24->iNext;\n    iVar11 = pSVar24[1].bNoDiscard + (int)p_Var32 * 8;\n    pSVar24[2].iCurrent = pSVar24[1].bNoDiscard;\n    pSVar24[2].bNoDiscard = iVar11;\n    pSVar24[1].buf.aBuf = puStack_20c;\n    pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n    pSVar24->iNext = iVar22 + iStack_208;\n    puVar5 = puStack_20c;\n    if (puStack_20c != (u8 *)0x0) goto LAB_000b6458;\n    puVar5 = (u8 *)sessionInputBuffer(pSVar24,2);\n    pSVar24[1].buf.aBuf = puVar5;\n    if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n    iVar11 = pSVar24->iNext;\n    pSVar24->iCurrent = iVar11;\n    if (pSVar24->nData <= iVar11) goto LAB_000b6494;\n    puVar5 = pSVar24->aData;\n    pSVar24->iNext = iVar11 + 1;\n    bVar1 = puVar5[iVar11];\n  }\n  if ((pSVar24[1].buf.nAlloc == 0) ||\n     ((puVar18 = pSVar24[1].aData, puVar18 != (u8 *)0x0 && (pSVar24[1].nData != 0)))) {\n    uVar20 = 0x301e0;\n  }\n  else {\n    iVar11 = pSVar24->iNext;\n    pSVar24[1].pIn = puVar8;\n    pSVar24->iNext = iVar11 + 1;\n    pSVar24[1].bEof = (uint)puVar5[iVar11];\n    if ((puVar8 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f) < 0)) {\n      p_Var32 = pSVar24[1].xInput;\n      if (abPK != (SessionInput *)0x0) {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var32 < 1) goto LAB_000b6830;\n          p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard;\n          p_Var14 = p_Var32 + (int)p_Var9;\n          p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }\n            p_Var9 = p_Var9 + 1;\n            if (p_Var14 == p_Var9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar8 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var32 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar21 = (sqlite3_value **)pSVar24[2].iCurrent;\n      apOut = ppsVar21;\n      apOut_00 = ppsVar21 + (int)p_Var32;\n      if (pSVar24[1].nData != 0) {\n        apOut = ppsVar21 + (int)p_Var32;\n        apOut_00 = ppsVar21;\n      }\n      if (puVar8 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          if (pSVar24[1].nData == 0) goto LAB_000b6734;\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) {\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = 0;\n        if (0 < (int)p_Var32) {\n          do {\n            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }\n            iVar11 = iVar11 + 1;\n          } while (iVar11 < (int)p_Var32);\n        }\n      }\n      else {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b6678;\n          abPK = (SessionInput *)pSVar24[2].bNoDiscard;\n        }\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pSVar24[1].pIn != &DAT_00000009) {\n          p_Var32 = pSVar24[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          puVar5 = (u8 *)0x64;\n          if (pSVar24[1].nData == 0) goto LAB_000b6458;\n          puVar8 = &DAT_00000009;\n        }\n        else {\n          iVar11 = pSVar24[1].nData;\n          puVar8 = &DAT_00000009;\nLAB_000b6780:\n          puVar5 = (u8 *)0x64;\n          if (iVar11 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar8 == (undefined1 *)0x12) {\n          puVar5 = (u8 *)0x64;\n          pSVar24[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar8 == &DAT_00000009) {\n          pSVar24[1].pIn = (void *)0x12;\n          puVar5 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar5 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }\n    uVar20 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(pcVar37 + 0xdaa58))\n            (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,uVar20,\n             *(int *)(pcVar37 + 0xda7d0) + 0x625c);\n  puVar5 = (u8 *)0xb;\n  pSVar24[1].buf.aBuf = (u8 *)0xb;\nLAB_000b6458:\n  while (iStack_204 != *piVar33) {\n    (**(code **)(pcVar37 + 0xdac70))();\nLAB_000b6830:\n    p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\nLAB_000b65d4:\n    puVar5 = (u8 *)sessionChangesetBufferRecord(pSVar24,(int)p_Var32,&pSVar31->bNoDiscard);\n    pSVar24[1].buf.aBuf = puVar5;\n    if (puVar5 == (u8 *)0x0) {\n      abPK->bNoDiscard = (int)(pSVar24->aData + pSVar24->iNext);\n      pSVar24->iNext = pSVar24->iNext + pSVar31->bNoDiscard;\n      puVar5 = (u8 *)0x64;\n    }\n  }\n  return (int)puVar5;\ncode_r0x000b6070:\n  pSVar31 = *(SessionInput **)pdVar13;\n  piVar19 = *(int **)((int)pdVar13 + 4);\n  dVar39 = *pdVar13;\n  uVar2 = *(ushort *)&pSVar28->iNext;\n  abPK = (SessionInput *)(uVar2 & 0x2400);\n  pSVar24 = pSVar35;\n  if (pcVar4 == (code *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      pSVar28->iCurrent = (int)piVar19;\n      pSVar28->bNoDiscard = (int)pSVar31;\n      *(undefined2 *)&pSVar28->iNext = 4;\n    }\n    else {\n      pSStack_1a4 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(pSVar28);\n      pSVar24 = pSStack_1a4;\n    }\n  }\n  else {\n    pSStack_198 = pSVar31;\n    piStack_194 = piVar19;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)&pSVar28->iNext = 1;\n    }\n    else {\n      pSStack_1a4 = pSVar28;\n      pSStack_1a0 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(pSVar28);\n      pSVar28 = pSStack_1a4;\n      pSVar24 = pSStack_1a0;\n    }\n    if (!NAN(dVar39)) {\n      *(double *)pSVar28 = dVar39;\n      *(undefined2 *)&pSVar28->iNext = 8;\n    }\n  }\n  pSVar16 = (SessionInput *)(uint)((int)pSVar35 < (int)nByte);\n  pIn->iNext = pIn->iNext + 8;\n  if (pSVar16 == (SessionInput *)0x0) {\n    pSVar6 = (SessionInput *)0x0;\n    pSVar34 = pSVar35;\n    pcVar37 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "u8 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "SessionInput *pSVar6;" type_identifier (pointer_declarator "*pSVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined1 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "_func_int_void_ptr_void_ptr_int_ptr *p_Var9;" type_identifier (pointer_declarator "*p_Var9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "SessionInput *pIn;" type_identifier (pointer_declarator "*pIn" * identifier) ;) (declaration "double *pdVar13;" primitive_type (pointer_declarator "*pdVar13" * identifier) ;) (declaration "_func_int_void_ptr_void_ptr_int_ptr *p_Var14;" type_identifier (pointer_declarator "*p_Var14" * identifier) ;) (declaration "_func_int_void_ptr_void_ptr_int *p_Var15;" type_identifier (pointer_declarator "*p_Var15" * identifier) ;) (declaration "SessionInput *nByte;" type_identifier (pointer_declarator "*nByte" * identifier) ;) (declaration "SessionInput *abPK;" type_identifier (pointer_declarator "*abPK" * identifier) ;) (declaration "SessionInput *pSVar16;" type_identifier (pointer_declarator "*pSVar16" * identifier) ;) (declaration "SessionInput *pSVar17;" type_identifier (pointer_declarator "*pSVar17" * identifier) ;) (declaration "u8 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "sqlite3_value **ppsVar21;" type_identifier (pointer_declarator "**ppsVar21" * (pointer_declarator "*ppsVar21" * identifier)) ;) (declaration "sqlite3_value **apOut;" type_identifier (pointer_declarator "**apOut" * (pointer_declarator "*apOut" * identifier)) ;) (declaration "int *unaff_s0;" primitive_type (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "SessionInput *pSVar24;" type_identifier (pointer_declarator "*pSVar24" * identifier) ;) (declaration "SessionBuffer *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "SessionBuffer *pSVar25;" type_identifier (pointer_declarator "*pSVar25" * identifier) ;) (declaration "SessionInput *pSVar26;" type_identifier (pointer_declarator "*pSVar26" * identifier) ;) (declaration "sqlite3_value **apOut_00;" type_identifier (pointer_declarator "**apOut_00" * (pointer_declarator "*apOut_00" * identifier)) ;) (declaration "_func_int_void_ptr_void_ptr_int *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "_func_int_void_ptr_void_ptr_int *p_Var27;" type_identifier (pointer_declarator "*p_Var27" * identifier) ;) (declaration "SessionInput *pSVar28;" type_identifier (pointer_declarator "*pSVar28" * identifier) ;) (declaration "undefined *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "undefined *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "SessionInput *pSVar30;" type_identifier (pointer_declarator "*pSVar30" * identifier) ;) (declaration "SessionBuffer *p;" type_identifier (pointer_declarator "*p" * identifier) ;) (declaration "SessionInput *pSVar31;" type_identifier (pointer_declarator "*pSVar31" * identifier) ;) (declaration "void *unaff_s6;" primitive_type (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "_func_int_void_ptr_void_ptr_int_ptr *p_Var32;" type_identifier (pointer_declarator "*p_Var32" * identifier) ;) (declaration "int *piVar33;" primitive_type (pointer_declarator "*piVar33" * identifier) ;) (declaration "SessionInput *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "SessionInput *pSVar34;" type_identifier (pointer_declarator "*pSVar34" * identifier) ;) (declaration "SessionInput *pSVar35;" type_identifier (pointer_declarator "*pSVar35" * identifier) ;) (declaration "undefined *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "SessionInput *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "code *pcVar37;" type_identifier (pointer_declarator "*pcVar37" * identifier) ;) (declaration "code *pcVar38;" type_identifier (pointer_declarator "*pcVar38" * identifier) ;) (declaration "double dVar39;" primitive_type identifier ;) (declaration "u8 *puStack_20c;" type_identifier (pointer_declarator "*puStack_20c" * identifier) ;) (declaration "int iStack_208;" primitive_type identifier ;) (declaration "int iStack_204;" primitive_type identifier ;) (declaration "SessionInput *pSStack_200;" type_identifier (pointer_declarator "*pSStack_200" * identifier) ;) (declaration "SessionInput *pSStack_1fc;" type_identifier (pointer_declarator "*pSStack_1fc" * identifier) ;) (declaration "SessionInput *pSStack_1f8;" type_identifier (pointer_declarator "*pSStack_1f8" * identifier) ;) (declaration "SessionInput *pSStack_1f4;" type_identifier (pointer_declarator "*pSStack_1f4" * identifier) ;) (declaration "SessionInput *pSStack_1f0;" type_identifier (pointer_declarator "*pSStack_1f0" * identifier) ;) (declaration "code *pcStack_1ec;" type_identifier (pointer_declarator "*pcStack_1ec" * identifier) ;) (declaration "int *piStack_1e8;" primitive_type (pointer_declarator "*piStack_1e8" * identifier) ;) (declaration "SessionInput *pSStack_1e4;" type_identifier (pointer_declarator "*pSStack_1e4" * identifier) ;) (declaration "SessionInput *pSStack_1e0;" type_identifier (pointer_declarator "*pSStack_1e0" * identifier) ;) (declaration "code *pcStack_1dc;" type_identifier (pointer_declarator "*pcStack_1dc" * identifier) ;) (declaration "int iStack_1c8;" primitive_type identifier ;) (declaration "code *pcStack_1c0;" type_identifier (pointer_declarator "*pcStack_1c0" * identifier) ;) (declaration "int *piStack_1b4;" primitive_type (pointer_declarator "*piStack_1b4" * identifier) ;) (declaration "code *pcStack_1b0;" type_identifier (pointer_declarator "*pcStack_1b0" * identifier) ;) (declaration "code *pcStack_1ac;" type_identifier (pointer_declarator "*pcStack_1ac" * identifier) ;) (declaration "int iStack_1a8;" primitive_type identifier ;) (declaration "SessionInput *pSStack_1a4;" type_identifier (pointer_declarator "*pSStack_1a4" * identifier) ;) (declaration "SessionInput *pSStack_1a0;" type_identifier (pointer_declarator "*pSStack_1a0" * identifier) ;) (declaration "SessionInput *pSStack_19c;" type_identifier (pointer_declarator "*pSStack_19c" * identifier) ;) (declaration "SessionInput *pSStack_198;" type_identifier (pointer_declarator "*pSStack_198" * identifier) ;) (declaration "int *piStack_194;" primitive_type (pointer_declarator "*piStack_194" * identifier) ;) (declaration "SessionInput *pSStack_18c;" type_identifier (pointer_declarator "*pSStack_18c" * identifier) ;) (declaration "SessionInput *pSStack_188;" type_identifier (pointer_declarator "*pSStack_188" * identifier) ;) (declaration "SessionInput *pSStack_184;" type_identifier (pointer_declarator "*pSStack_184" * identifier) ;) (declaration "SessionInput *pSStack_180;" type_identifier (pointer_declarator "*pSStack_180" * identifier) ;) (declaration "SessionInput *pSStack_17c;" type_identifier (pointer_declarator "*pSStack_17c" * identifier) ;) (declaration "SessionInput *pSStack_178;" type_identifier (pointer_declarator "*pSStack_178" * identifier) ;) (declaration "code *pcStack_174;" type_identifier (pointer_declarator "*pcStack_174" * identifier) ;) (declaration "int *piStack_170;" primitive_type (pointer_declarator "*piStack_170" * identifier) ;) (declaration "SessionInput *pSStack_16c;" type_identifier (pointer_declarator "*pSStack_16c" * identifier) ;) (declaration "SessionInput *pSStack_168;" type_identifier (pointer_declarator "*pSStack_168" * identifier) ;) (declaration "code *pcStack_164;" type_identifier (pointer_declarator "*pcStack_164" * identifier) ;) (declaration "code *pcStack_148;" type_identifier (pointer_declarator "*pcStack_148" * identifier) ;) (declaration "SessionInput *pSStack_13c;" type_identifier (pointer_declarator "*pSStack_13c" * identifier) ;) (declaration "SessionInput SStack_138;" type_identifier identifier ;) (declaration "code *pcStack_10c;" type_identifier (pointer_declarator "*pcStack_10c" * identifier) ;) (declaration "int iStack_f8;" primitive_type identifier ;) (declaration "code *pcStack_f0;" type_identifier (pointer_declarator "*pcStack_f0" * identifier) ;) (declaration "uint uStack_e8;" type_identifier identifier ;) (declaration "SessionInput *pSStack_e4;" type_identifier (pointer_declarator "*pSStack_e4" * identifier) ;) (declaration "int *piStack_dc;" primitive_type (pointer_declarator "*piStack_dc" * identifier) ;) (declaration "SessionBuffer *pSStack_d8;" type_identifier (pointer_declarator "*pSStack_d8" * identifier) ;) (declaration "_func_int_void_ptr_void_ptr_int *p_Stack_d4;" type_identifier (pointer_declarator "*p_Stack_d4" * identifier) ;) (declaration "undefined *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "SessionBuffer *pSStack_cc;" type_identifier (pointer_declarator "*pSStack_cc" * identifier) ;) (declaration "code *pcStack_c8;" type_identifier (pointer_declarator "*pcStack_c8" * identifier) ;) (declaration "code *pcStack_c4;" type_identifier (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "undefined *puStack_b0;" type_identifier (pointer_declarator "*puStack_b0" * identifier) ;) (declaration "undefined1 auStack_a4 [8];" type_identifier (array_declarator "auStack_a4 [8]" identifier [ number_literal ]) ;) (declaration "SessionInput *pSStack_9c;" type_identifier (pointer_declarator "*pSStack_9c" * identifier) ;) (declaration "int *piStack_98;" primitive_type (pointer_declarator "*piStack_98" * identifier) ;) (declaration "SessionBuffer *pSStack_94;" type_identifier (pointer_declarator "*pSStack_94" * identifier) ;) (declaration "_func_int_void_ptr_void_ptr_int *p_Stack_90;" type_identifier (pointer_declarator "*p_Stack_90" * identifier) ;) (declaration "undefined *puStack_8c;" type_identifier (pointer_declarator "*puStack_8c" * identifier) ;) (declaration "void *pvStack_88;" primitive_type (pointer_declarator "*pvStack_88" * identifier) ;) (declaration "_func_int_void_ptr_void_ptr_int_ptr *p_Stack_84;" type_identifier (pointer_declarator "*p_Stack_84" * identifier) ;) (declaration "void *pvStack_80;" primitive_type (pointer_declarator "*pvStack_80" * identifier) ;) (declaration "SessionInput *pSStack_7c;" type_identifier (pointer_declarator "*pSStack_7c" * identifier) ;) (declaration "SessionInput *pSStack_78;" type_identifier (pointer_declarator "*pSStack_78" * identifier) ;) (declaration "code *pcStack_74;" type_identifier (pointer_declarator "*pcStack_74" * identifier) ;) (declaration "int rc;" primitive_type identifier ;) (declaration "SessionBuffer buf;" type_identifier identifier ;) (expression_statement "puVar36 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar36 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "rc = 0;" (assignment_expression "rc = 0" identifier = number_literal) ;) (expression_statement "buf.aBuf = (u8 *)0x0;" (assignment_expression "buf.aBuf = (u8 *)0x0" (field_expression "buf.aBuf" identifier . field_identifier) = (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "buf.nBuf = 0;" (assignment_expression "buf.nBuf = 0" (field_expression "buf.nBuf" identifier . field_identifier) = number_literal) ;) (expression_statement "buf.nAlloc = 0;" (assignment_expression "buf.nAlloc = 0" (field_expression "buf.nAlloc" identifier . field_identifier) = number_literal) ;) (expression_statement "piVar3 = *(int **)PTR___stack_chk_guard_00190e24;" (assignment_expression "piVar3 = *(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 "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "piVar19 = pnOut;" (assignment_expression "piVar19 = pnOut" identifier = identifier) ;) (if_statement "if (xOutput == (_func_int_void_ptr_void_ptr_int *)0x0) {\n    pSVar17 = (SessionInput *)pOut;\n    if (pOut == (void *)0x0) {\n      p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (_func_int_void_ptr_void_ptr_int *)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    pSVar16 = (SessionInput *)pOut;\n    pSVar31 = (SessionInput *)xOutput;\n    do {\n      if ((pSVar31->buf).nBuf == 0) {\nLAB_000b5618:\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n      }\n      else {\n        unaff_s0 = &rc;\n        unaff_s1 = &buf;\n        xOutput = (_func_int_void_ptr_void_ptr_int *)pGrp->rc;\n        pSVar16 = pSVar31;\n        piVar19 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar29 = PTR_aBuiltinFunc_29540_1408__00190948;\n        iVar11 = (pSVar31->buf).nAlloc;\n        if (iVar11 < 1) goto LAB_000b5618;\n        unaff_s6 = (void *)0x0;\n        do {\n          unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);\n          if (unaff_s8 != (SessionInput *)0x0) {\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }\n          unaff_s6 = (void *)((int)unaff_s6 + 1);\n        } while ((int)unaff_s6 < iVar11);\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n        unaff_s7 = (SessionInput *)puVar29;\n      }\n      buf.aBuf = (u8 *)p_Var15;\n      buf.nBuf = (int)pSVar16;\n      if (rc != 0) goto LAB_000b5730;\n    } while (pSVar31 != (SessionInput *)0x0);\n    if (pOut == (void *)0x0) {\nLAB_000b57b8:\n      buf.aBuf = (u8 *)0x0;\n      pGrp_1->rc = (int)p_Var15;\n      *ppOut = (void *)buf.nBuf;\n      pSVar17 = (SessionInput *)buf.nBuf;\n    }\n    else {\n      pSVar17 = pSVar16;\n      if (0 < (int)pSVar16) {\n        rc = (*(code *)pOut)(pnOut);\n        xOutput = p_Var15;\n        pSVar17 = pSVar16;\n      }\n    }\n  }" if (parenthesized_expression "(xOutput == (_func_int_void_ptr_void_ptr_int *)0x0)" ( (binary_expression "xOutput == (_func_int_void_ptr_void_ptr_int *)0x0" identifier == (cast_expression "(_func_int_void_ptr_void_ptr_int *)0x0" ( (type_descriptor "_func_int_void_ptr_void_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pSVar17 = (SessionInput *)pOut;\n    if (pOut == (void *)0x0) {\n      p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x0;\n      goto LAB_000b57b8;\n    }\n  }" { (expression_statement "pSVar17 = (SessionInput *)pOut;" (assignment_expression "pSVar17 = (SessionInput *)pOut" identifier = (cast_expression "(SessionInput *)pOut" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pOut == (void *)0x0) {\n      p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x0;\n      goto LAB_000b57b8;\n    }" if (parenthesized_expression "(pOut == (void *)0x0)" ( (binary_expression "pOut == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x0;\n      goto LAB_000b57b8;\n    }" { (expression_statement "p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x0;" (assignment_expression "p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x0" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int *)0x0" ( (type_descriptor "_func_int_void_ptr_void_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000b57b8;" goto statement_identifier ;) })) }) (else_clause "else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (_func_int_void_ptr_void_ptr_int *)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    pSVar16 = (SessionInput *)pOut;\n    pSVar31 = (SessionInput *)xOutput;\n    do {\n      if ((pSVar31->buf).nBuf == 0) {\nLAB_000b5618:\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n      }\n      else {\n        unaff_s0 = &rc;\n        unaff_s1 = &buf;\n        xOutput = (_func_int_void_ptr_void_ptr_int *)pGrp->rc;\n        pSVar16 = pSVar31;\n        piVar19 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar29 = PTR_aBuiltinFunc_29540_1408__00190948;\n        iVar11 = (pSVar31->buf).nAlloc;\n        if (iVar11 < 1) goto LAB_000b5618;\n        unaff_s6 = (void *)0x0;\n        do {\n          unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);\n          if (unaff_s8 != (SessionInput *)0x0) {\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }\n          unaff_s6 = (void *)((int)unaff_s6 + 1);\n        } while ((int)unaff_s6 < iVar11);\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n        unaff_s7 = (SessionInput *)puVar29;\n      }\n      buf.aBuf = (u8 *)p_Var15;\n      buf.nBuf = (int)pSVar16;\n      if (rc != 0) goto LAB_000b5730;\n    } while (pSVar31 != (SessionInput *)0x0);\n    if (pOut == (void *)0x0) {\nLAB_000b57b8:\n      buf.aBuf = (u8 *)0x0;\n      pGrp_1->rc = (int)p_Var15;\n      *ppOut = (void *)buf.nBuf;\n      pSVar17 = (SessionInput *)buf.nBuf;\n    }\n    else {\n      pSVar17 = pSVar16;\n      if (0 < (int)pSVar16) {\n        rc = (*(code *)pOut)(pnOut);\n        xOutput = p_Var15;\n        pSVar17 = pSVar16;\n      }\n    }\n  }" else (compound_statement "{\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (_func_int_void_ptr_void_ptr_int *)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    pSVar16 = (SessionInput *)pOut;\n    pSVar31 = (SessionInput *)xOutput;\n    do {\n      if ((pSVar31->buf).nBuf == 0) {\nLAB_000b5618:\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n      }\n      else {\n        unaff_s0 = &rc;\n        unaff_s1 = &buf;\n        xOutput = (_func_int_void_ptr_void_ptr_int *)pGrp->rc;\n        pSVar16 = pSVar31;\n        piVar19 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar29 = PTR_aBuiltinFunc_29540_1408__00190948;\n        iVar11 = (pSVar31->buf).nAlloc;\n        if (iVar11 < 1) goto LAB_000b5618;\n        unaff_s6 = (void *)0x0;\n        do {\n          unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);\n          if (unaff_s8 != (SessionInput *)0x0) {\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }\n          unaff_s6 = (void *)((int)unaff_s6 + 1);\n        } while ((int)unaff_s6 < iVar11);\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n        unaff_s7 = (SessionInput *)puVar29;\n      }\n      buf.aBuf = (u8 *)p_Var15;\n      buf.nBuf = (int)pSVar16;\n      if (rc != 0) goto LAB_000b5730;\n    } while (pSVar31 != (SessionInput *)0x0);\n    if (pOut == (void *)0x0) {\nLAB_000b57b8:\n      buf.aBuf = (u8 *)0x0;\n      pGrp_1->rc = (int)p_Var15;\n      *ppOut = (void *)buf.nBuf;\n      pSVar17 = (SessionInput *)buf.nBuf;\n    }\n    else {\n      pSVar17 = pSVar16;\n      if (0 < (int)pSVar16) {\n        rc = (*(code *)pOut)(pnOut);\n        xOutput = p_Var15;\n        pSVar17 = pSVar16;\n      }\n    }\n  }" { (expression_statement "pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290)" identifier = (cast_expression "(code *)(PTR_LAB_00190c2c + 0x5290)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + 0x5290)" ( (binary_expression "PTR_LAB_00190c2c + 0x5290" identifier + number_literal) )))) ;) (expression_statement "unaff_s2 = (_func_int_void_ptr_void_ptr_int *)(PTR_LAB_00190c2c + 0x5224);" (assignment_expression "unaff_s2 = (_func_int_void_ptr_void_ptr_int *)(PTR_LAB_00190c2c + 0x5224)" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int *)(PTR_LAB_00190c2c + 0x5224)" ( (type_descriptor "_func_int_void_ptr_void_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + 0x5224)" ( (binary_expression "PTR_LAB_00190c2c + 0x5224" identifier + number_literal) )))) ;) (expression_statement "unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;" (assignment_expression "unaff_s3 = PTR_LAB_00190c2c + 0x4ef4" identifier = (binary_expression "PTR_LAB_00190c2c + 0x4ef4" identifier + number_literal)) ;) (expression_statement "pSVar16 = (SessionInput *)pOut;" (assignment_expression "pSVar16 = (SessionInput *)pOut" identifier = (cast_expression "(SessionInput *)pOut" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pSVar31 = (SessionInput *)xOutput;" (assignment_expression "pSVar31 = (SessionInput *)xOutput" identifier = (cast_expression "(SessionInput *)xOutput" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n      if ((pSVar31->buf).nBuf == 0) {\nLAB_000b5618:\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n      }\n      else {\n        unaff_s0 = &rc;\n        unaff_s1 = &buf;\n        xOutput = (_func_int_void_ptr_void_ptr_int *)pGrp->rc;\n        pSVar16 = pSVar31;\n        piVar19 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar29 = PTR_aBuiltinFunc_29540_1408__00190948;\n        iVar11 = (pSVar31->buf).nAlloc;\n        if (iVar11 < 1) goto LAB_000b5618;\n        unaff_s6 = (void *)0x0;\n        do {\n          unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);\n          if (unaff_s8 != (SessionInput *)0x0) {\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }\n          unaff_s6 = (void *)((int)unaff_s6 + 1);\n        } while ((int)unaff_s6 < iVar11);\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n        unaff_s7 = (SessionInput *)puVar29;\n      }\n      buf.aBuf = (u8 *)p_Var15;\n      buf.nBuf = (int)pSVar16;\n      if (rc != 0) goto LAB_000b5730;\n    } while (pSVar31 != (SessionInput *)0x0);" do (compound_statement "{\n      if ((pSVar31->buf).nBuf == 0) {\nLAB_000b5618:\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n      }\n      else {\n        unaff_s0 = &rc;\n        unaff_s1 = &buf;\n        xOutput = (_func_int_void_ptr_void_ptr_int *)pGrp->rc;\n        pSVar16 = pSVar31;\n        piVar19 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar29 = PTR_aBuiltinFunc_29540_1408__00190948;\n        iVar11 = (pSVar31->buf).nAlloc;\n        if (iVar11 < 1) goto LAB_000b5618;\n        unaff_s6 = (void *)0x0;\n        do {\n          unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);\n          if (unaff_s8 != (SessionInput *)0x0) {\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }\n          unaff_s6 = (void *)((int)unaff_s6 + 1);\n        } while ((int)unaff_s6 < iVar11);\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n        unaff_s7 = (SessionInput *)puVar29;\n      }\n      buf.aBuf = (u8 *)p_Var15;\n      buf.nBuf = (int)pSVar16;\n      if (rc != 0) goto LAB_000b5730;\n    }" { (if_statement "if ((pSVar31->buf).nBuf == 0) {\nLAB_000b5618:\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n      }\n      else {\n        unaff_s0 = &rc;\n        unaff_s1 = &buf;\n        xOutput = (_func_int_void_ptr_void_ptr_int *)pGrp->rc;\n        pSVar16 = pSVar31;\n        piVar19 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar29 = PTR_aBuiltinFunc_29540_1408__00190948;\n        iVar11 = (pSVar31->buf).nAlloc;\n        if (iVar11 < 1) goto LAB_000b5618;\n        unaff_s6 = (void *)0x0;\n        do {\n          unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);\n          if (unaff_s8 != (SessionInput *)0x0) {\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }\n          unaff_s6 = (void *)((int)unaff_s6 + 1);\n        } while ((int)unaff_s6 < iVar11);\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n        unaff_s7 = (SessionInput *)puVar29;\n      }" if (parenthesized_expression "((pSVar31->buf).nBuf == 0)" ( (binary_expression "(pSVar31->buf).nBuf == 0" (field_expression "(pSVar31->buf).nBuf" (parenthesized_expression "(pSVar31->buf)" ( (field_expression "pSVar31->buf" identifier -> field_identifier) )) . field_identifier) == number_literal) )) (compound_statement "{\nLAB_000b5618:\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n      }" { (labeled_statement "LAB_000b5618:\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;" statement_identifier : (expression_statement "pSVar31 = (SessionInput *)pSVar31->bNoDiscard;" (assignment_expression "pSVar31 = (SessionInput *)pSVar31->bNoDiscard" identifier = (cast_expression "(SessionInput *)pSVar31->bNoDiscard" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar31->bNoDiscard" identifier -> field_identifier))) ;)) (expression_statement "pSVar17 = pSVar16;" (assignment_expression "pSVar17 = pSVar16" identifier = identifier) ;) (expression_statement "p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;" (assignment_expression "p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int *)buf.aBuf" ( (type_descriptor "_func_int_void_ptr_void_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "buf.aBuf" identifier . field_identifier))) ;) (expression_statement "pSVar16 = (SessionInput *)buf.nBuf;" (assignment_expression "pSVar16 = (SessionInput *)buf.nBuf" identifier = (cast_expression "(SessionInput *)buf.nBuf" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "buf.nBuf" identifier . field_identifier))) ;) }) (else_clause "else {\n        unaff_s0 = &rc;\n        unaff_s1 = &buf;\n        xOutput = (_func_int_void_ptr_void_ptr_int *)pGrp->rc;\n        pSVar16 = pSVar31;\n        piVar19 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar29 = PTR_aBuiltinFunc_29540_1408__00190948;\n        iVar11 = (pSVar31->buf).nAlloc;\n        if (iVar11 < 1) goto LAB_000b5618;\n        unaff_s6 = (void *)0x0;\n        do {\n          unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);\n          if (unaff_s8 != (SessionInput *)0x0) {\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }\n          unaff_s6 = (void *)((int)unaff_s6 + 1);\n        } while ((int)unaff_s6 < iVar11);\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n        unaff_s7 = (SessionInput *)puVar29;\n      }" else (compound_statement "{\n        unaff_s0 = &rc;\n        unaff_s1 = &buf;\n        xOutput = (_func_int_void_ptr_void_ptr_int *)pGrp->rc;\n        pSVar16 = pSVar31;\n        piVar19 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar29 = PTR_aBuiltinFunc_29540_1408__00190948;\n        iVar11 = (pSVar31->buf).nAlloc;\n        if (iVar11 < 1) goto LAB_000b5618;\n        unaff_s6 = (void *)0x0;\n        do {\n          unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);\n          if (unaff_s8 != (SessionInput *)0x0) {\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }\n          unaff_s6 = (void *)((int)unaff_s6 + 1);\n        } while ((int)unaff_s6 < iVar11);\n        pSVar31 = (SessionInput *)pSVar31->bNoDiscard;\n        pSVar17 = pSVar16;\n        p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;\n        pSVar16 = (SessionInput *)buf.nBuf;\n        unaff_s7 = (SessionInput *)puVar29;\n      }" { (expression_statement "unaff_s0 = &rc;" (assignment_expression "unaff_s0 = &rc" identifier = (pointer_expression "&rc" & identifier)) ;) (expression_statement "unaff_s1 = &buf;" (assignment_expression "unaff_s1 = &buf" identifier = (pointer_expression "&buf" & identifier)) ;) (expression_statement "xOutput = (_func_int_void_ptr_void_ptr_int *)pGrp->rc;" (assignment_expression "xOutput = (_func_int_void_ptr_void_ptr_int *)pGrp->rc" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int *)pGrp->rc" ( (type_descriptor "_func_int_void_ptr_void_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pGrp->rc" identifier -> field_identifier))) ;) (expression_statement "pSVar16 = pSVar31;" (assignment_expression "pSVar16 = pSVar31" identifier = identifier) ;) (expression_statement "piVar19 = unaff_s0;" (assignment_expression "piVar19 = unaff_s0" identifier = identifier) ;) (expression_statement "(*pcVar4)(unaff_s1);" (call_expression "(*pcVar4)(unaff_s1)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (expression_statement "puVar29 = PTR_aBuiltinFunc_29540_1408__00190948;" (assignment_expression "puVar29 = PTR_aBuiltinFunc_29540_1408__00190948" identifier = identifier) ;) (expression_statement "iVar11 = (pSVar31->buf).nAlloc;" (assignment_expression "iVar11 = (pSVar31->buf).nAlloc" identifier = (field_expression "(pSVar31->buf).nAlloc" (parenthesized_expression "(pSVar31->buf)" ( (field_expression "pSVar31->buf" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (iVar11 < 1) goto LAB_000b5618;" if (parenthesized_expression "(iVar11 < 1)" ( (binary_expression "iVar11 < 1" identifier < number_literal) )) (goto_statement "goto LAB_000b5618;" goto statement_identifier ;)) (expression_statement "unaff_s6 = (void *)0x0;" (assignment_expression "unaff_s6 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);\n          if (unaff_s8 != (SessionInput *)0x0) {\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }\n          unaff_s6 = (void *)((int)unaff_s6 + 1);\n        } while ((int)unaff_s6 < iVar11);" do (compound_statement "{\n          unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);\n          if (unaff_s8 != (SessionInput *)0x0) {\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }\n          unaff_s6 = (void *)((int)unaff_s6 + 1);\n        }" { (expression_statement "unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4);" (assignment_expression "unaff_s8 = *(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4)" identifier = (pointer_expression "*(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4)" * (cast_expression "(SessionInput **)(pSVar31->xInput + (int)unaff_s6 * 4)" ( (type_descriptor "SessionInput **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pSVar31->xInput + (int)unaff_s6 * 4)" ( (binary_expression "pSVar31->xInput + (int)unaff_s6 * 4" (field_expression "pSVar31->xInput" identifier -> field_identifier) + (binary_expression "(int)unaff_s6 * 4" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (if_statement "if (unaff_s8 != (SessionInput *)0x0) {\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }" if (parenthesized_expression "(unaff_s8 != (SessionInput *)0x0)" ( (binary_expression "unaff_s8 != (SessionInput *)0x0" identifier != (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);\n            iVar11 = (pSVar31->buf).nAlloc;\n            unaff_s8 = (SessionInput *)0x0;\n          }" { (do_statement "do {\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            } while (unaff_s8 != (SessionInput *)0x0);" do (compound_statement "{\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);\n              sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);\n              pSVar16 = (SessionInput *)unaff_s8->iNext;\n              xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;\n              piVar19 = unaff_s0;\n              sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);\n              if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }\n              unaff_s8 = (SessionInput *)unaff_s8->nData;\n            }" { (expression_statement "sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0);" (call_expression "sessionAppendByte(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0)" identifier (argument_list "(unaff_s1,(u8)unaff_s8->bNoDiscard,unaff_s0)" ( identifier , (cast_expression "(u8)unaff_s8->bNoDiscard" ( (type_descriptor "u8" type_identifier) ) (field_expression "unaff_s8->bNoDiscard" identifier -> field_identifier)) , identifier ))) ;) (expression_statement "sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0);" (call_expression "sessionAppendByte(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0)" identifier (argument_list "(unaff_s1,(u8)unaff_s8->iCurrent,unaff_s0)" ( identifier , (cast_expression "(u8)unaff_s8->iCurrent" ( (type_descriptor "u8" type_identifier) ) (field_expression "unaff_s8->iCurrent" identifier -> field_identifier)) , identifier ))) ;) (expression_statement "pSVar16 = (SessionInput *)unaff_s8->iNext;" (assignment_expression "pSVar16 = (SessionInput *)unaff_s8->iNext" identifier = (cast_expression "(SessionInput *)unaff_s8->iNext" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s8->iNext" identifier -> field_identifier))) ;) (expression_statement "xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData;" (assignment_expression "xOutput = (_func_int_void_ptr_void_ptr_int *)unaff_s8->aData" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int *)unaff_s8->aData" ( (type_descriptor "_func_int_void_ptr_void_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s8->aData" identifier -> field_identifier))) ;) (expression_statement "piVar19 = unaff_s0;" (assignment_expression "piVar19 = unaff_s0" identifier = identifier) ;) (expression_statement "sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0);" (call_expression "sessionAppendBlob(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0)" identifier (argument_list "(unaff_s1,(u8 *)xOutput,(int)pSVar16,unaff_s0)" ( identifier , (cast_expression "(u8 *)xOutput" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)pSVar16" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))) ;) (if_statement "if (((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)) {\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }" if (parenthesized_expression "(((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf))" ( (binary_expression "((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)) &&\n                 (xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)" (parenthesized_expression "((rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0))" ( (binary_expression "(rc == 0) && (pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)" (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) && (parenthesized_expression "(pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0)" ( (comma_expression "pSVar16 = (SessionInput *)buf.nBuf, pOut != (void *)0x0" (assignment_expression "pSVar16 = (SessionInput *)buf.nBuf" identifier = (cast_expression "(SessionInput *)buf.nBuf" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "buf.nBuf" identifier . field_identifier))) , (binary_expression "pOut != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf)" ( (comma_expression "xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf,\n                 *(int *)(puVar29 + -0xba0) <= buf.nBuf" (assignment_expression "xOutput = (_func_int_void_ptr_void_ptr_int *)buf.aBuf" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int *)buf.aBuf" ( (type_descriptor "_func_int_void_ptr_void_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "buf.aBuf" identifier . field_identifier))) , (binary_expression "*(int *)(puVar29 + -0xba0) <= buf.nBuf" (pointer_expression "*(int *)(puVar29 + -0xba0)" * (cast_expression "(int *)(puVar29 + -0xba0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + -0xba0)" ( (binary_expression "puVar29 + -0xba0" identifier + number_literal) )))) <= (field_expression "buf.nBuf" identifier . field_identifier))) ))) )) (compound_statement "{\n                rc = (*(code *)pOut)(pnOut);\n                buf.nBuf = 0;\n              }" { (expression_statement "rc = (*(code *)pOut)(pnOut);" (assignment_expression "rc = (*(code *)pOut)(pnOut)" identifier = (call_expression "(*(code *)pOut)(pnOut)" (parenthesized_expression "(*(code *)pOut)" ( (pointer_expression "*(code *)pOut" * (cast_expression "(code *)pOut" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pnOut)" ( identifier )))) ;) (expression_statement "buf.nBuf = 0;" (assignment_expression "buf.nBuf = 0" (field_expression "buf.nBuf" identifier . field_identifier) = number_literal) ;) })) (expression_statement "unaff_s8 = (SessionInput *)unaff_s8->nData;" (assignment_expression "unaff_s8 = (SessionInput *)unaff_s8->nData" identifier = (cast_expression "(SessionInput *)unaff_s8->nData" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s8->nData" identifier -> field_identifier))) ;) }) while (parenthesized_expression "(unaff_s8 != (SessionInput *)0x0)" ( (binary_expression "unaff_s8 != (SessionInput *)0x0" identifier != (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "iVar11 = (pSVar31->buf).nAlloc;" (assignment_expression "iVar11 = (pSVar31->buf).nAlloc" identifier = (field_expression "(pSVar31->buf).nAlloc" (parenthesized_expression "(pSVar31->buf)" ( (field_expression "pSVar31->buf" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "unaff_s8 = (SessionInput *)0x0;" (assignment_expression "unaff_s8 = (SessionInput *)0x0" identifier = (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "unaff_s6 = (void *)((int)unaff_s6 + 1);" (assignment_expression "unaff_s6 = (void *)((int)unaff_s6 + 1)" identifier = (cast_expression "(void *)((int)unaff_s6 + 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + 1)" ( (binary_expression "(int)unaff_s6 + 1" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)unaff_s6 < iVar11)" ( (binary_expression "(int)unaff_s6 < iVar11" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) (expression_statement "pSVar31 = (SessionInput *)pSVar31->bNoDiscard;" (assignment_expression "pSVar31 = (SessionInput *)pSVar31->bNoDiscard" identifier = (cast_expression "(SessionInput *)pSVar31->bNoDiscard" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar31->bNoDiscard" identifier -> field_identifier))) ;) (expression_statement "pSVar17 = pSVar16;" (assignment_expression "pSVar17 = pSVar16" identifier = identifier) ;) (expression_statement "p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf;" (assignment_expression "p_Var15 = (_func_int_void_ptr_void_ptr_int *)buf.aBuf" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int *)buf.aBuf" ( (type_descriptor "_func_int_void_ptr_void_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "buf.aBuf" identifier . field_identifier))) ;) (expression_statement "pSVar16 = (SessionInput *)buf.nBuf;" (assignment_expression "pSVar16 = (SessionInput *)buf.nBuf" identifier = (cast_expression "(SessionInput *)buf.nBuf" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "buf.nBuf" identifier . field_identifier))) ;) (expression_statement "unaff_s7 = (SessionInput *)puVar29;" (assignment_expression "unaff_s7 = (SessionInput *)puVar29" identifier = (cast_expression "(SessionInput *)puVar29" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "buf.aBuf = (u8 *)p_Var15;" (assignment_expression "buf.aBuf = (u8 *)p_Var15" (field_expression "buf.aBuf" identifier . field_identifier) = (cast_expression "(u8 *)p_Var15" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "buf.nBuf = (int)pSVar16;" (assignment_expression "buf.nBuf = (int)pSVar16" (field_expression "buf.nBuf" identifier . field_identifier) = (cast_expression "(int)pSVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (rc != 0) goto LAB_000b5730;" if (parenthesized_expression "(rc != 0)" ( (binary_expression "rc != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b5730;" goto statement_identifier ;)) }) while (parenthesized_expression "(pSVar31 != (SessionInput *)0x0)" ( (binary_expression "pSVar31 != (SessionInput *)0x0" identifier != (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (pOut == (void *)0x0) {\nLAB_000b57b8:\n      buf.aBuf = (u8 *)0x0;\n      pGrp_1->rc = (int)p_Var15;\n      *ppOut = (void *)buf.nBuf;\n      pSVar17 = (SessionInput *)buf.nBuf;\n    }\n    else {\n      pSVar17 = pSVar16;\n      if (0 < (int)pSVar16) {\n        rc = (*(code *)pOut)(pnOut);\n        xOutput = p_Var15;\n        pSVar17 = pSVar16;\n      }\n    }" if (parenthesized_expression "(pOut == (void *)0x0)" ( (binary_expression "pOut == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000b57b8:\n      buf.aBuf = (u8 *)0x0;\n      pGrp_1->rc = (int)p_Var15;\n      *ppOut = (void *)buf.nBuf;\n      pSVar17 = (SessionInput *)buf.nBuf;\n    }" { (labeled_statement "LAB_000b57b8:\n      buf.aBuf = (u8 *)0x0;" statement_identifier : (expression_statement "buf.aBuf = (u8 *)0x0;" (assignment_expression "buf.aBuf = (u8 *)0x0" (field_expression "buf.aBuf" identifier . field_identifier) = (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pGrp_1->rc = (int)p_Var15;" (assignment_expression "pGrp_1->rc = (int)p_Var15" (field_expression "pGrp_1->rc" identifier -> field_identifier) = (cast_expression "(int)p_Var15" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*ppOut = (void *)buf.nBuf;" (assignment_expression "*ppOut = (void *)buf.nBuf" (pointer_expression "*ppOut" * identifier) = (cast_expression "(void *)buf.nBuf" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "buf.nBuf" identifier . field_identifier))) ;) (expression_statement "pSVar17 = (SessionInput *)buf.nBuf;" (assignment_expression "pSVar17 = (SessionInput *)buf.nBuf" identifier = (cast_expression "(SessionInput *)buf.nBuf" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "buf.nBuf" identifier . field_identifier))) ;) }) (else_clause "else {\n      pSVar17 = pSVar16;\n      if (0 < (int)pSVar16) {\n        rc = (*(code *)pOut)(pnOut);\n        xOutput = p_Var15;\n        pSVar17 = pSVar16;\n      }\n    }" else (compound_statement "{\n      pSVar17 = pSVar16;\n      if (0 < (int)pSVar16) {\n        rc = (*(code *)pOut)(pnOut);\n        xOutput = p_Var15;\n        pSVar17 = pSVar16;\n      }\n    }" { (expression_statement "pSVar17 = pSVar16;" (assignment_expression "pSVar17 = pSVar16" identifier = identifier) ;) (if_statement "if (0 < (int)pSVar16) {\n        rc = (*(code *)pOut)(pnOut);\n        xOutput = p_Var15;\n        pSVar17 = pSVar16;\n      }" if (parenthesized_expression "(0 < (int)pSVar16)" ( (binary_expression "0 < (int)pSVar16" number_literal < (cast_expression "(int)pSVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        rc = (*(code *)pOut)(pnOut);\n        xOutput = p_Var15;\n        pSVar17 = pSVar16;\n      }" { (expression_statement "rc = (*(code *)pOut)(pnOut);" (assignment_expression "rc = (*(code *)pOut)(pnOut)" identifier = (call_expression "(*(code *)pOut)(pnOut)" (parenthesized_expression "(*(code *)pOut)" ( (pointer_expression "*(code *)pOut" * (cast_expression "(code *)pOut" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pnOut)" ( identifier )))) ;) (expression_statement "xOutput = p_Var15;" (assignment_expression "xOutput = p_Var15" identifier = identifier) ;) (expression_statement "pSVar17 = pSVar16;" (assignment_expression "pSVar17 = pSVar16" identifier = identifier) ;) })) }))) }))) (labeled_statement "LAB_000b5730:\n  pcVar4 = (code *)buf.aBuf;" statement_identifier : (expression_statement "pcVar4 = (code *)buf.aBuf;" (assignment_expression "pcVar4 = (code *)buf.aBuf" identifier = (cast_expression "(code *)buf.aBuf" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "buf.aBuf" identifier . field_identifier))) ;)) (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)(buf.aBuf);" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)(buf.aBuf)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" * (cast_expression "(code *)PTR_sqlite3_free_0019096c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(buf.aBuf)" ( (field_expression "buf.aBuf" identifier . field_identifier) ))) ;) (if_statement "if (piVar3 == *(int **)puVar36) {\n    return rc;\n  }" if (parenthesized_expression "(piVar3 == *(int **)puVar36)" ( (binary_expression "piVar3 == *(int **)puVar36" identifier == (pointer_expression "*(int **)puVar36" * (cast_expression "(int **)puVar36" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return rc;\n  }" { (return_statement "return rc;" return identifier ;) })) (expression_statement "pcVar37 = sessionInputBuffer;" (assignment_expression "pcVar37 = sessionInputBuffer" identifier = identifier) ;) (expression_statement "puVar36 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar36 = 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_b0 = puVar36 + 0xe3140;" (assignment_expression "puStack_b0 = puVar36 + 0xe3140" identifier = (binary_expression "puVar36 + 0xe3140" identifier + number_literal)) ;) (expression_statement "p_Var32 = *(_func_int_void_ptr_void_ptr_int_ptr **)(puVar36 + 0xdb644);" (assignment_expression "p_Var32 = *(_func_int_void_ptr_void_ptr_int_ptr **)(puVar36 + 0xdb644)" identifier = (pointer_expression "*(_func_int_void_ptr_void_ptr_int_ptr **)(puVar36 + 0xdb644)" * (cast_expression "(_func_int_void_ptr_void_ptr_int_ptr **)(puVar36 + 0xdb644)" ( (type_descriptor "_func_int_void_ptr_void_ptr_int_ptr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0xdb644)" ( (binary_expression "puVar36 + 0xdb644" identifier + number_literal) ))))) ;) (expression_statement "auStack_a4._0_4_ = 0;" (assignment_expression "auStack_a4._0_4_ = 0" (field_expression "auStack_a4._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "pSStack_9c = *(SessionInput **)p_Var32;" (assignment_expression "pSStack_9c = *(SessionInput **)p_Var32" identifier = (pointer_expression "*(SessionInput **)p_Var32" * (cast_expression "(SessionInput **)p_Var32" ( (type_descriptor "SessionInput **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "p_Var15 = xOutput;" (assignment_expression "p_Var15 = xOutput" identifier = identifier) ;) (expression_statement "piVar33 = unaff_s0;" (assignment_expression "piVar33 = unaff_s0" identifier = identifier) ;) (expression_statement "p_Var27 = unaff_s2;" (assignment_expression "p_Var27 = unaff_s2" identifier = identifier) ;) (expression_statement "piStack_98 = unaff_s0;" (assignment_expression "piStack_98 = unaff_s0" identifier = identifier) ;) (expression_statement "pSStack_94 = unaff_s1;" (assignment_expression "pSStack_94 = unaff_s1" identifier = identifier) ;) (expression_statement "p_Stack_90 = unaff_s2;" (assignment_expression "p_Stack_90 = unaff_s2" identifier = identifier) ;) (expression_statement "puStack_8c = unaff_s3;" (assignment_expression "puStack_8c = unaff_s3" identifier = identifier) ;) (expression_statement "pvStack_88 = pOut;" (assignment_expression "pvStack_88 = pOut" identifier = identifier) ;) (expression_statement "p_Stack_84 = pcVar4;" (assignment_expression "p_Stack_84 = pcVar4" identifier = identifier) ;) (expression_statement "pvStack_80 = unaff_s6;" (assignment_expression "pvStack_80 = unaff_s6" identifier = identifier) ;) (expression_statement "pSStack_7c = unaff_s7;" (assignment_expression "pSStack_7c = unaff_s7" identifier = identifier) ;) (expression_statement "pSStack_78 = unaff_s8;" (assignment_expression "pSStack_78 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_74 = pcVar37;" (assignment_expression "pcStack_74 = pcVar37" identifier = identifier) ;) (if_statement "if (piVar3[8] != 0) {\n    piVar33 = piVar3;\n    if (piVar3[10] == 0) {\n      iVar11 = 0;\n      p_Var27 = xOutput;\n      if (piVar3[4] <= (int)(xOutput + piVar3[2])) {\n        p = (SessionBuffer *)(piVar3 + 5);\n        puVar29 = *(undefined **)(puVar36 + 0xdb168);\n        pSVar31 = (SessionInput *)(auStack_a4 + 4);\n        pSVar25 = (SessionBuffer *)(*(int *)(puVar36 + 0xdb44c) + 0x4d08);\n        pcVar4 = (code *)(*(int *)(puVar36 + 0xdb3c4) + 0x27a4);\n        do {\n          auStack_a4._4_4_ = *(undefined4 *)(puVar29 + -0xba0);\n          if (*piVar3 == 0) {\n            (*pcVar4)(piVar3);\n          }\n          pSVar17 = (SessionInput *)auStack_a4;\n          iVar11 = sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4);\n          unaff_s1 = pSVar25;\n          unaff_s3 = puVar29;\n          pOut = p;\n          unaff_s7 = (SessionInput *)auStack_a4;\n          unaff_s8 = pSVar31;\n          if (iVar11 == 0) {\n            pSVar17 = pSVar31;\n            auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);\n            if (auStack_a4._4_4_ == 0) {\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }\n            iVar23 = auStack_a4._4_4_ + piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n            piVar3[6] = iVar23;\n          }\n          else {\n            iVar23 = piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n          }\n          piVar3[4] = iVar23;\n          piVar3[3] = piVar3[5];\n          iVar11 = auStack_a4._0_4_;\n          if (((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0)) break;\n        } while( true );\n      }\n    }\n    else {\n      iVar11 = 0;\n    }\n  }" if (parenthesized_expression "(piVar3[8] != 0)" ( (binary_expression "piVar3[8] != 0" (subscript_expression "piVar3[8]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    piVar33 = piVar3;\n    if (piVar3[10] == 0) {\n      iVar11 = 0;\n      p_Var27 = xOutput;\n      if (piVar3[4] <= (int)(xOutput + piVar3[2])) {\n        p = (SessionBuffer *)(piVar3 + 5);\n        puVar29 = *(undefined **)(puVar36 + 0xdb168);\n        pSVar31 = (SessionInput *)(auStack_a4 + 4);\n        pSVar25 = (SessionBuffer *)(*(int *)(puVar36 + 0xdb44c) + 0x4d08);\n        pcVar4 = (code *)(*(int *)(puVar36 + 0xdb3c4) + 0x27a4);\n        do {\n          auStack_a4._4_4_ = *(undefined4 *)(puVar29 + -0xba0);\n          if (*piVar3 == 0) {\n            (*pcVar4)(piVar3);\n          }\n          pSVar17 = (SessionInput *)auStack_a4;\n          iVar11 = sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4);\n          unaff_s1 = pSVar25;\n          unaff_s3 = puVar29;\n          pOut = p;\n          unaff_s7 = (SessionInput *)auStack_a4;\n          unaff_s8 = pSVar31;\n          if (iVar11 == 0) {\n            pSVar17 = pSVar31;\n            auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);\n            if (auStack_a4._4_4_ == 0) {\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }\n            iVar23 = auStack_a4._4_4_ + piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n            piVar3[6] = iVar23;\n          }\n          else {\n            iVar23 = piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n          }\n          piVar3[4] = iVar23;\n          piVar3[3] = piVar3[5];\n          iVar11 = auStack_a4._0_4_;\n          if (((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0)) break;\n        } while( true );\n      }\n    }\n    else {\n      iVar11 = 0;\n    }\n  }" { (expression_statement "piVar33 = piVar3;" (assignment_expression "piVar33 = piVar3" identifier = identifier) ;) (if_statement "if (piVar3[10] == 0) {\n      iVar11 = 0;\n      p_Var27 = xOutput;\n      if (piVar3[4] <= (int)(xOutput + piVar3[2])) {\n        p = (SessionBuffer *)(piVar3 + 5);\n        puVar29 = *(undefined **)(puVar36 + 0xdb168);\n        pSVar31 = (SessionInput *)(auStack_a4 + 4);\n        pSVar25 = (SessionBuffer *)(*(int *)(puVar36 + 0xdb44c) + 0x4d08);\n        pcVar4 = (code *)(*(int *)(puVar36 + 0xdb3c4) + 0x27a4);\n        do {\n          auStack_a4._4_4_ = *(undefined4 *)(puVar29 + -0xba0);\n          if (*piVar3 == 0) {\n            (*pcVar4)(piVar3);\n          }\n          pSVar17 = (SessionInput *)auStack_a4;\n          iVar11 = sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4);\n          unaff_s1 = pSVar25;\n          unaff_s3 = puVar29;\n          pOut = p;\n          unaff_s7 = (SessionInput *)auStack_a4;\n          unaff_s8 = pSVar31;\n          if (iVar11 == 0) {\n            pSVar17 = pSVar31;\n            auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);\n            if (auStack_a4._4_4_ == 0) {\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }\n            iVar23 = auStack_a4._4_4_ + piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n            piVar3[6] = iVar23;\n          }\n          else {\n            iVar23 = piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n          }\n          piVar3[4] = iVar23;\n          piVar3[3] = piVar3[5];\n          iVar11 = auStack_a4._0_4_;\n          if (((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0)) break;\n        } while( true );\n      }\n    }\n    else {\n      iVar11 = 0;\n    }" if (parenthesized_expression "(piVar3[10] == 0)" ( (binary_expression "piVar3[10] == 0" (subscript_expression "piVar3[10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar11 = 0;\n      p_Var27 = xOutput;\n      if (piVar3[4] <= (int)(xOutput + piVar3[2])) {\n        p = (SessionBuffer *)(piVar3 + 5);\n        puVar29 = *(undefined **)(puVar36 + 0xdb168);\n        pSVar31 = (SessionInput *)(auStack_a4 + 4);\n        pSVar25 = (SessionBuffer *)(*(int *)(puVar36 + 0xdb44c) + 0x4d08);\n        pcVar4 = (code *)(*(int *)(puVar36 + 0xdb3c4) + 0x27a4);\n        do {\n          auStack_a4._4_4_ = *(undefined4 *)(puVar29 + -0xba0);\n          if (*piVar3 == 0) {\n            (*pcVar4)(piVar3);\n          }\n          pSVar17 = (SessionInput *)auStack_a4;\n          iVar11 = sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4);\n          unaff_s1 = pSVar25;\n          unaff_s3 = puVar29;\n          pOut = p;\n          unaff_s7 = (SessionInput *)auStack_a4;\n          unaff_s8 = pSVar31;\n          if (iVar11 == 0) {\n            pSVar17 = pSVar31;\n            auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);\n            if (auStack_a4._4_4_ == 0) {\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }\n            iVar23 = auStack_a4._4_4_ + piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n            piVar3[6] = iVar23;\n          }\n          else {\n            iVar23 = piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n          }\n          piVar3[4] = iVar23;\n          piVar3[3] = piVar3[5];\n          iVar11 = auStack_a4._0_4_;\n          if (((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0)) break;\n        } while( true );\n      }\n    }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "p_Var27 = xOutput;" (assignment_expression "p_Var27 = xOutput" identifier = identifier) ;) (if_statement "if (piVar3[4] <= (int)(xOutput + piVar3[2])) {\n        p = (SessionBuffer *)(piVar3 + 5);\n        puVar29 = *(undefined **)(puVar36 + 0xdb168);\n        pSVar31 = (SessionInput *)(auStack_a4 + 4);\n        pSVar25 = (SessionBuffer *)(*(int *)(puVar36 + 0xdb44c) + 0x4d08);\n        pcVar4 = (code *)(*(int *)(puVar36 + 0xdb3c4) + 0x27a4);\n        do {\n          auStack_a4._4_4_ = *(undefined4 *)(puVar29 + -0xba0);\n          if (*piVar3 == 0) {\n            (*pcVar4)(piVar3);\n          }\n          pSVar17 = (SessionInput *)auStack_a4;\n          iVar11 = sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4);\n          unaff_s1 = pSVar25;\n          unaff_s3 = puVar29;\n          pOut = p;\n          unaff_s7 = (SessionInput *)auStack_a4;\n          unaff_s8 = pSVar31;\n          if (iVar11 == 0) {\n            pSVar17 = pSVar31;\n            auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);\n            if (auStack_a4._4_4_ == 0) {\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }\n            iVar23 = auStack_a4._4_4_ + piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n            piVar3[6] = iVar23;\n          }\n          else {\n            iVar23 = piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n          }\n          piVar3[4] = iVar23;\n          piVar3[3] = piVar3[5];\n          iVar11 = auStack_a4._0_4_;\n          if (((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0)) break;\n        } while( true );\n      }" if (parenthesized_expression "(piVar3[4] <= (int)(xOutput + piVar3[2]))" ( (binary_expression "piVar3[4] <= (int)(xOutput + piVar3[2])" (subscript_expression "piVar3[4]" identifier [ number_literal ]) <= (cast_expression "(int)(xOutput + piVar3[2])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(xOutput + piVar3[2])" ( (binary_expression "xOutput + piVar3[2]" identifier + (subscript_expression "piVar3[2]" identifier [ number_literal ])) )))) )) (compound_statement "{\n        p = (SessionBuffer *)(piVar3 + 5);\n        puVar29 = *(undefined **)(puVar36 + 0xdb168);\n        pSVar31 = (SessionInput *)(auStack_a4 + 4);\n        pSVar25 = (SessionBuffer *)(*(int *)(puVar36 + 0xdb44c) + 0x4d08);\n        pcVar4 = (code *)(*(int *)(puVar36 + 0xdb3c4) + 0x27a4);\n        do {\n          auStack_a4._4_4_ = *(undefined4 *)(puVar29 + -0xba0);\n          if (*piVar3 == 0) {\n            (*pcVar4)(piVar3);\n          }\n          pSVar17 = (SessionInput *)auStack_a4;\n          iVar11 = sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4);\n          unaff_s1 = pSVar25;\n          unaff_s3 = puVar29;\n          pOut = p;\n          unaff_s7 = (SessionInput *)auStack_a4;\n          unaff_s8 = pSVar31;\n          if (iVar11 == 0) {\n            pSVar17 = pSVar31;\n            auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);\n            if (auStack_a4._4_4_ == 0) {\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }\n            iVar23 = auStack_a4._4_4_ + piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n            piVar3[6] = iVar23;\n          }\n          else {\n            iVar23 = piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n          }\n          piVar3[4] = iVar23;\n          piVar3[3] = piVar3[5];\n          iVar11 = auStack_a4._0_4_;\n          if (((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0)) break;\n        } while( true );\n      }" { (expression_statement "p = (SessionBuffer *)(piVar3 + 5);" (assignment_expression "p = (SessionBuffer *)(piVar3 + 5)" identifier = (cast_expression "(SessionBuffer *)(piVar3 + 5)" ( (type_descriptor "SessionBuffer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3 + 5)" ( (binary_expression "piVar3 + 5" identifier + number_literal) )))) ;) (expression_statement "puVar29 = *(undefined **)(puVar36 + 0xdb168);" (assignment_expression "puVar29 = *(undefined **)(puVar36 + 0xdb168)" identifier = (pointer_expression "*(undefined **)(puVar36 + 0xdb168)" * (cast_expression "(undefined **)(puVar36 + 0xdb168)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0xdb168)" ( (binary_expression "puVar36 + 0xdb168" identifier + number_literal) ))))) ;) (expression_statement "pSVar31 = (SessionInput *)(auStack_a4 + 4);" (assignment_expression "pSVar31 = (SessionInput *)(auStack_a4 + 4)" identifier = (cast_expression "(SessionInput *)(auStack_a4 + 4)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_a4 + 4)" ( (binary_expression "auStack_a4 + 4" identifier + number_literal) )))) ;) (expression_statement "pSVar25 = (SessionBuffer *)(*(int *)(puVar36 + 0xdb44c) + 0x4d08);" (assignment_expression "pSVar25 = (SessionBuffer *)(*(int *)(puVar36 + 0xdb44c) + 0x4d08)" identifier = (cast_expression "(SessionBuffer *)(*(int *)(puVar36 + 0xdb44c) + 0x4d08)" ( (type_descriptor "SessionBuffer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar36 + 0xdb44c) + 0x4d08)" ( (binary_expression "*(int *)(puVar36 + 0xdb44c) + 0x4d08" (pointer_expression "*(int *)(puVar36 + 0xdb44c)" * (cast_expression "(int *)(puVar36 + 0xdb44c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + 0xdb44c)" ( (binary_expression "puVar36 + 0xdb44c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar4 = (code *)(*(int *)(puVar36 + 0xdb3c4) + 0x27a4);" (assignment_expression "pcVar4 = (code *)(*(int *)(puVar36 + 0xdb3c4) + 0x27a4)" identifier = (cast_expression "(code *)(*(int *)(puVar36 + 0xdb3c4) + 0x27a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar36 + 0xdb3c4) + 0x27a4)" ( (binary_expression "*(int *)(puVar36 + 0xdb3c4) + 0x27a4" (pointer_expression "*(int *)(puVar36 + 0xdb3c4)" * (cast_expression "(int *)(puVar36 + 0xdb3c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + 0xdb3c4)" ( (binary_expression "puVar36 + 0xdb3c4" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n          auStack_a4._4_4_ = *(undefined4 *)(puVar29 + -0xba0);\n          if (*piVar3 == 0) {\n            (*pcVar4)(piVar3);\n          }\n          pSVar17 = (SessionInput *)auStack_a4;\n          iVar11 = sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4);\n          unaff_s1 = pSVar25;\n          unaff_s3 = puVar29;\n          pOut = p;\n          unaff_s7 = (SessionInput *)auStack_a4;\n          unaff_s8 = pSVar31;\n          if (iVar11 == 0) {\n            pSVar17 = pSVar31;\n            auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);\n            if (auStack_a4._4_4_ == 0) {\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }\n            iVar23 = auStack_a4._4_4_ + piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n            piVar3[6] = iVar23;\n          }\n          else {\n            iVar23 = piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n          }\n          piVar3[4] = iVar23;\n          piVar3[3] = piVar3[5];\n          iVar11 = auStack_a4._0_4_;\n          if (((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0)) break;\n        } while( true );" do (compound_statement "{\n          auStack_a4._4_4_ = *(undefined4 *)(puVar29 + -0xba0);\n          if (*piVar3 == 0) {\n            (*pcVar4)(piVar3);\n          }\n          pSVar17 = (SessionInput *)auStack_a4;\n          iVar11 = sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4);\n          unaff_s1 = pSVar25;\n          unaff_s3 = puVar29;\n          pOut = p;\n          unaff_s7 = (SessionInput *)auStack_a4;\n          unaff_s8 = pSVar31;\n          if (iVar11 == 0) {\n            pSVar17 = pSVar31;\n            auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);\n            if (auStack_a4._4_4_ == 0) {\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }\n            iVar23 = auStack_a4._4_4_ + piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n            piVar3[6] = iVar23;\n          }\n          else {\n            iVar23 = piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n          }\n          piVar3[4] = iVar23;\n          piVar3[3] = piVar3[5];\n          iVar11 = auStack_a4._0_4_;\n          if (((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0)) break;\n        }" { (expression_statement "auStack_a4._4_4_ = *(undefined4 *)(puVar29 + -0xba0);" (assignment_expression "auStack_a4._4_4_ = *(undefined4 *)(puVar29 + -0xba0)" (field_expression "auStack_a4._4_4_" identifier . field_identifier) = (pointer_expression "*(undefined4 *)(puVar29 + -0xba0)" * (cast_expression "(undefined4 *)(puVar29 + -0xba0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + -0xba0)" ( (binary_expression "puVar29 + -0xba0" identifier + number_literal) ))))) ;) (if_statement "if (*piVar3 == 0) {\n            (*pcVar4)(piVar3);\n          }" if (parenthesized_expression "(*piVar3 == 0)" ( (binary_expression "*piVar3 == 0" (pointer_expression "*piVar3" * identifier) == number_literal) )) (compound_statement "{\n            (*pcVar4)(piVar3);\n          }" { (expression_statement "(*pcVar4)(piVar3);" (call_expression "(*pcVar4)(piVar3)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(piVar3)" ( identifier ))) ;) })) (expression_statement "pSVar17 = (SessionInput *)auStack_a4;" (assignment_expression "pSVar17 = (SessionInput *)auStack_a4" identifier = (cast_expression "(SessionInput *)auStack_a4" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar11 = sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4);" (assignment_expression "iVar11 = sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4)" identifier = (call_expression "sessionBufferGrow(p,auStack_a4._4_4_,(int *)auStack_a4)" identifier (argument_list "(p,auStack_a4._4_4_,(int *)auStack_a4)" ( identifier , (field_expression "auStack_a4._4_4_" identifier . field_identifier) , (cast_expression "(int *)auStack_a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "unaff_s1 = pSVar25;" (assignment_expression "unaff_s1 = pSVar25" identifier = identifier) ;) (expression_statement "unaff_s3 = puVar29;" (assignment_expression "unaff_s3 = puVar29" identifier = identifier) ;) (expression_statement "pOut = p;" (assignment_expression "pOut = p" identifier = identifier) ;) (expression_statement "unaff_s7 = (SessionInput *)auStack_a4;" (assignment_expression "unaff_s7 = (SessionInput *)auStack_a4" identifier = (cast_expression "(SessionInput *)auStack_a4" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s8 = pSVar31;" (assignment_expression "unaff_s8 = pSVar31" identifier = identifier) ;) (if_statement "if (iVar11 == 0) {\n            pSVar17 = pSVar31;\n            auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);\n            if (auStack_a4._4_4_ == 0) {\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }\n            iVar23 = auStack_a4._4_4_ + piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n            piVar3[6] = iVar23;\n          }\n          else {\n            iVar23 = piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n          }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n            pSVar17 = pSVar31;\n            auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);\n            if (auStack_a4._4_4_ == 0) {\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }\n            iVar23 = auStack_a4._4_4_ + piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n            piVar3[6] = iVar23;\n          }" { (expression_statement "pSVar17 = pSVar31;" (assignment_expression "pSVar17 = pSVar31" identifier = identifier) ;) (expression_statement "auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6]);" (assignment_expression "auStack_a4._0_4_ = (*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6])" (field_expression "auStack_a4._0_4_" identifier . field_identifier) = (call_expression "(*(code *)piVar3[8])(piVar3[9],piVar3[5] + piVar3[6])" (parenthesized_expression "(*(code *)piVar3[8])" ( (pointer_expression "*(code *)piVar3[8]" * (cast_expression "(code *)piVar3[8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[8]" identifier [ number_literal ]))) )) (argument_list "(piVar3[9],piVar3[5] + piVar3[6])" ( (subscript_expression "piVar3[9]" identifier [ number_literal ]) , (binary_expression "piVar3[5] + piVar3[6]" (subscript_expression "piVar3[5]" identifier [ number_literal ]) + (subscript_expression "piVar3[6]" identifier [ number_literal ])) )))) ;) (if_statement "if (auStack_a4._4_4_ == 0) {\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }" if (parenthesized_expression "(auStack_a4._4_4_ == 0)" ( (binary_expression "auStack_a4._4_4_ == 0" (field_expression "auStack_a4._4_4_" identifier . field_identifier) == number_literal) )) (compound_statement "{\n              piVar3[4] = piVar3[6];\n              piVar3[10] = 1;\n              piVar3[3] = piVar3[5];\n              iVar11 = auStack_a4._0_4_;\n              p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;\n              break;\n            }" { (expression_statement "piVar3[4] = piVar3[6];" (assignment_expression "piVar3[4] = piVar3[6]" (subscript_expression "piVar3[4]" identifier [ number_literal ]) = (subscript_expression "piVar3[6]" identifier [ number_literal ])) ;) (expression_statement "piVar3[10] = 1;" (assignment_expression "piVar3[10] = 1" (subscript_expression "piVar3[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar3[3] = piVar3[5];" (assignment_expression "piVar3[3] = piVar3[5]" (subscript_expression "piVar3[3]" identifier [ number_literal ]) = (subscript_expression "piVar3[5]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = auStack_a4._0_4_;" (assignment_expression "iVar11 = auStack_a4._0_4_" identifier = (field_expression "auStack_a4._0_4_" identifier . field_identifier)) ;) (expression_statement "p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1;" (assignment_expression "p_Var15 = (_func_int_void_ptr_void_ptr_int *)0x1" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int *)0x1" ( (type_descriptor "_func_int_void_ptr_void_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;) })) (expression_statement "iVar23 = auStack_a4._4_4_ + piVar3[6];" (assignment_expression "iVar23 = auStack_a4._4_4_ + piVar3[6]" identifier = (binary_expression "auStack_a4._4_4_ + piVar3[6]" (field_expression "auStack_a4._4_4_" identifier . field_identifier) + (subscript_expression "piVar3[6]" identifier [ number_literal ]))) ;) (expression_statement "p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];" (assignment_expression "p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10]" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int *)piVar3[10]" ( (type_descriptor "_func_int_void_ptr_void_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[10]" identifier [ number_literal ]))) ;) (expression_statement "piVar3[6] = iVar23;" (assignment_expression "piVar3[6] = iVar23" (subscript_expression "piVar3[6]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n            iVar23 = piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n          }" else (compound_statement "{\n            iVar23 = piVar3[6];\n            p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];\n          }" { (expression_statement "iVar23 = piVar3[6];" (assignment_expression "iVar23 = piVar3[6]" identifier = (subscript_expression "piVar3[6]" identifier [ number_literal ])) ;) (expression_statement "p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10];" (assignment_expression "p_Var15 = (_func_int_void_ptr_void_ptr_int *)piVar3[10]" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int *)piVar3[10]" ( (type_descriptor "_func_int_void_ptr_void_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar3[10]" identifier [ number_literal ]))) ;) }))) (expression_statement "piVar3[4] = iVar23;" (assignment_expression "piVar3[4] = iVar23" (subscript_expression "piVar3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar3[3] = piVar3[5];" (assignment_expression "piVar3[3] = piVar3[5]" (subscript_expression "piVar3[3]" identifier [ number_literal ]) = (subscript_expression "piVar3[5]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = auStack_a4._0_4_;" (assignment_expression "iVar11 = auStack_a4._0_4_" identifier = (field_expression "auStack_a4._0_4_" identifier . field_identifier)) ;) (if_statement "if (((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0)) break;" if (parenthesized_expression "(((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0))" ( (binary_expression "((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)) || (auStack_a4._0_4_ != 0)" (parenthesized_expression "((p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23))" ( (binary_expression "(p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0) ||\n              ((int)(xOutput + piVar3[2]) < iVar23)" (parenthesized_expression "(p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0)" ( (binary_expression "p_Var15 != (_func_int_void_ptr_void_ptr_int *)0x0" identifier != (cast_expression "(_func_int_void_ptr_void_ptr_int *)0x0" ( (type_descriptor "_func_int_void_ptr_void_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((int)(xOutput + piVar3[2]) < iVar23)" ( (binary_expression "(int)(xOutput + piVar3[2]) < iVar23" (cast_expression "(int)(xOutput + piVar3[2])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(xOutput + piVar3[2])" ( (binary_expression "xOutput + piVar3[2]" identifier + (subscript_expression "piVar3[2]" identifier [ number_literal ])) ))) < identifier) ))) )) || (parenthesized_expression "(auStack_a4._0_4_ != 0)" ( (binary_expression "auStack_a4._0_4_ != 0" (field_expression "auStack_a4._0_4_" identifier . field_identifier) != number_literal) ))) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) }) (else_clause "else {\n      iVar11 = 0;\n    }" else (compound_statement "{\n      iVar11 = 0;\n    }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) }))) })) (if_statement "if (pSStack_9c == *(SessionInput **)p_Var32) {\n    return iVar11;\n  }" if (parenthesized_expression "(pSStack_9c == *(SessionInput **)p_Var32)" ( (binary_expression "pSStack_9c == *(SessionInput **)p_Var32" identifier == (pointer_expression "*(SessionInput **)p_Var32" * (cast_expression "(SessionInput **)p_Var32" ( (type_descriptor "SessionInput **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar11;\n  }" { (return_statement "return iVar11;" return identifier ;) })) (expression_statement "pcVar37 = *(code **)(puStack_b0 + -0x7b28);" (assignment_expression "pcVar37 = *(code **)(puStack_b0 + -0x7b28)" identifier = (pointer_expression "*(code **)(puStack_b0 + -0x7b28)" * (cast_expression "(code **)(puStack_b0 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7b28)" ( (binary_expression "puStack_b0 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar38 = sessionChangesetBufferTblhdr;" (assignment_expression "pcVar38 = sessionChangesetBufferTblhdr" identifier = identifier) ;) (expression_statement "pSVar31 = pSStack_9c;" (assignment_expression "pSVar31 = pSStack_9c" identifier = identifier) ;) (expression_statement "auStack_a4._0_4_ = iVar11;" (assignment_expression "auStack_a4._0_4_ = iVar11" (field_expression "auStack_a4._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "(*pcVar37)();" (call_expression "(*pcVar37)()" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_f0 = pcVar37 + 0xe2f88;" (assignment_expression "pcStack_f0 = pcVar37 + 0xe2f88" identifier = (binary_expression "pcVar37 + 0xe2f88" identifier + number_literal)) ;) (expression_statement "pSVar16 = (SessionInput *)&DAT_00000009;" (assignment_expression "pSVar16 = (SessionInput *)&DAT_00000009" identifier = (cast_expression "(SessionInput *)&DAT_00000009" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) ;) (expression_statement "piVar3 = *(int **)(pcVar37 + 0xdb48c);" (assignment_expression "piVar3 = *(int **)(pcVar37 + 0xdb48c)" identifier = (pointer_expression "*(int **)(pcVar37 + 0xdb48c)" * (cast_expression "(int **)(pcVar37 + 0xdb48c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0xdb48c)" ( (binary_expression "pcVar37 + 0xdb48c" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar37 + 0xdb294);" (assignment_expression "iVar11 = *(int *)(pcVar37 + 0xdb294)" identifier = (pointer_expression "*(int *)(pcVar37 + 0xdb294)" * (cast_expression "(int *)(pcVar37 + 0xdb294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar37 + 0xdb294)" ( (binary_expression "pcVar37 + 0xdb294" identifier + number_literal) ))))) ;) (expression_statement "uStack_e8 = 0;" (assignment_expression "uStack_e8 = 0" identifier = number_literal) ;) (expression_statement "pSStack_e4 = (SessionInput *)*piVar3;" (assignment_expression "pSStack_e4 = (SessionInput *)*piVar3" identifier = (cast_expression "(SessionInput *)*piVar3" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar3" * identifier))) ;) (expression_statement "piStack_dc = piVar33;" (assignment_expression "piStack_dc = piVar33" identifier = identifier) ;) (expression_statement "pSStack_d8 = unaff_s1;" (assignment_expression "pSStack_d8 = unaff_s1" identifier = identifier) ;) (expression_statement "p_Stack_d4 = p_Var27;" (assignment_expression "p_Stack_d4 = p_Var27" identifier = identifier) ;) (expression_statement "puStack_d0 = unaff_s3;" (assignment_expression "puStack_d0 = unaff_s3" identifier = identifier) ;) (expression_statement "pSStack_cc = (SessionBuffer *)pOut;" (assignment_expression "pSStack_cc = (SessionBuffer *)pOut" identifier = (cast_expression "(SessionBuffer *)pOut" ( (type_descriptor "SessionBuffer *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_c8 = pcVar4;" (assignment_expression "pcStack_c8 = pcVar4" identifier = identifier) ;) (expression_statement "pcStack_c4 = pcVar38;" (assignment_expression "pcStack_c4 = pcVar38" identifier = identifier) ;) (expression_statement "puVar5 = (u8 *)sessionInputBuffer(pSVar31,9);" (assignment_expression "puVar5 = (u8 *)sessionInputBuffer(pSVar31,9)" identifier = (cast_expression "(u8 *)sessionInputBuffer(pSVar31,9)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionInputBuffer(pSVar31,9)" identifier (argument_list "(pSVar31,9)" ( identifier , number_literal ))))) ;) (if_statement "if (puVar5 == (u8 *)0x0) {\n    bVar1 = pSVar31->aData[pSVar31->iNext];\n    if ((char)bVar1 < '\0') {\n      iVar22 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))\n                         (pSVar31->aData + pSVar31->iNext,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        piVar19 = (int *)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        pSVar17 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        pSVar16 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        iVar23 = iVar22 + 1;\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        puVar5 = &DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar22 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    pSVar16 = (SessionInput *)(iVar22 + uStack_e8 + 100);\n    puVar5 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);\n    iVar22 = iVar22 + uStack_e8;\n    if (puVar5 == (u8 *)0x0) {\n      do {\n        pSVar16 = (SessionInput *)pSVar31->iNext;\n        pSVar17 = (SessionInput *)pSVar31->nData;\n        puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n        if ((int)puVar18 < (int)pSVar17) {\n          piVar19 = (int *)pSVar31->aData;\n          iVar7 = iVar22;\n          if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') {\n            iVar23 = iVar22 + 1;\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar22 = iVar7 + 1;\n            puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n            if ((int)pSVar17 <= (int)puVar18) break;\n            iVar23 = iVar7 + 2;\n            iVar7 = iVar22;\n            if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;\n          }\n        }\n        pSVar16 = (SessionInput *)(iVar22 + 100);\n        puVar18 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);\n      } while (puVar18 == (u8 *)0x0);\n      iVar23 = iVar22 + 1;\n      puVar5 = puVar18;\n    }\n    else {\n      iVar23 = iVar22 + 1;\n    }\n  }\n  else {\n    iVar23 = 1;\n  }" if (parenthesized_expression "(puVar5 == (u8 *)0x0)" ( (binary_expression "puVar5 == (u8 *)0x0" identifier == (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    bVar1 = pSVar31->aData[pSVar31->iNext];\n    if ((char)bVar1 < '\0') {\n      iVar22 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))\n                         (pSVar31->aData + pSVar31->iNext,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        piVar19 = (int *)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        pSVar17 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        pSVar16 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        iVar23 = iVar22 + 1;\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        puVar5 = &DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar22 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    pSVar16 = (SessionInput *)(iVar22 + uStack_e8 + 100);\n    puVar5 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);\n    iVar22 = iVar22 + uStack_e8;\n    if (puVar5 == (u8 *)0x0) {\n      do {\n        pSVar16 = (SessionInput *)pSVar31->iNext;\n        pSVar17 = (SessionInput *)pSVar31->nData;\n        puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n        if ((int)puVar18 < (int)pSVar17) {\n          piVar19 = (int *)pSVar31->aData;\n          iVar7 = iVar22;\n          if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') {\n            iVar23 = iVar22 + 1;\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar22 = iVar7 + 1;\n            puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n            if ((int)pSVar17 <= (int)puVar18) break;\n            iVar23 = iVar7 + 2;\n            iVar7 = iVar22;\n            if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;\n          }\n        }\n        pSVar16 = (SessionInput *)(iVar22 + 100);\n        puVar18 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);\n      } while (puVar18 == (u8 *)0x0);\n      iVar23 = iVar22 + 1;\n      puVar5 = puVar18;\n    }\n    else {\n      iVar23 = iVar22 + 1;\n    }\n  }" { (expression_statement "bVar1 = pSVar31->aData[pSVar31->iNext];" (assignment_expression "bVar1 = pSVar31->aData[pSVar31->iNext]" identifier = (subscript_expression "pSVar31->aData[pSVar31->iNext]" (field_expression "pSVar31->aData" identifier -> field_identifier) [ (field_expression "pSVar31->iNext" identifier -> field_identifier) ])) ;) (if_statement "if ((char)bVar1 < '\0') {\n      iVar22 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))\n                         (pSVar31->aData + pSVar31->iNext,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        piVar19 = (int *)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        pSVar17 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        pSVar16 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        iVar23 = iVar22 + 1;\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        puVar5 = &DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar22 = 1;\n      uStack_e8 = (uint)bVar1;\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      iVar22 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))\n                         (pSVar31->aData + pSVar31->iNext,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        piVar19 = (int *)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        pSVar17 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        pSVar16 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        iVar23 = iVar22 + 1;\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        puVar5 = &DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }" { (expression_statement "iVar22 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))\n                         (pSVar31->aData + pSVar31->iNext,&uStack_e8);" (assignment_expression "iVar22 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))\n                         (pSVar31->aData + pSVar31->iNext,&uStack_e8)" identifier = (call_expression "(*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))\n                         (pSVar31->aData + pSVar31->iNext,&uStack_e8)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))" ( (pointer_expression "*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388)" * (cast_expression "(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7d78) + 0x3388)" ( (binary_expression "*(int *)(pcStack_f0 + -0x7d78) + 0x3388" (pointer_expression "*(int *)(pcStack_f0 + -0x7d78)" * (cast_expression "(int *)(pcStack_f0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7d78)" ( (binary_expression "pcStack_f0 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pSVar31->aData + pSVar31->iNext,&uStack_e8)" ( (binary_expression "pSVar31->aData + pSVar31->iNext" (field_expression "pSVar31->aData" identifier -> field_identifier) + (field_expression "pSVar31->iNext" identifier -> field_identifier)) , (pointer_expression "&uStack_e8" & identifier) )))) ;) (if_statement "if (0x10000 < uStack_e8) {\n        piVar19 = (int *)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        pSVar17 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        pSVar16 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        iVar23 = iVar22 + 1;\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        puVar5 = &DAT_0000000b;\n        goto LAB_000b5ad4;\n      }" if (parenthesized_expression "(0x10000 < uStack_e8)" ( (binary_expression "0x10000 < uStack_e8" number_literal < identifier) )) (compound_statement "{\n        piVar19 = (int *)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        pSVar17 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        pSVar16 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        iVar23 = iVar22 + 1;\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        puVar5 = &DAT_0000000b;\n        goto LAB_000b5ad4;\n      }" { (expression_statement "piVar19 = (int *)&DAT_00030133;" (assignment_expression "piVar19 = (int *)&DAT_00030133" identifier = (cast_expression "(int *)&DAT_00030133" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00030133" & identifier))) ;) (expression_statement "iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;" (assignment_expression "iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c" identifier = (binary_expression "*(int *)(pcStack_f0 + -0x7fc8) + 0x625c" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc8)" ( (binary_expression "pcStack_f0 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pSVar17 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);" (assignment_expression "pSVar17 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64)" identifier = (cast_expression "(SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64)" ( (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pSVar16 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);" (assignment_expression "pSVar16 = (SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378)" identifier = (cast_expression "(SessionInput *)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378)" ( (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + -0x6378" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar23 = iVar22 + 1;" (assignment_expression "iVar23 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcStack_f0 + -0x7d40))(0xb);" (call_expression "(**(code **)(pcStack_f0 + -0x7d40))(0xb)" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7d40))" ( (pointer_expression "**(code **)(pcStack_f0 + -0x7d40)" * (pointer_expression "*(code **)(pcStack_f0 + -0x7d40)" * (cast_expression "(code **)(pcStack_f0 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7d40)" ( (binary_expression "pcStack_f0 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "puVar5 = &DAT_0000000b;" (assignment_expression "puVar5 = &DAT_0000000b" identifier = (pointer_expression "&DAT_0000000b" & identifier)) ;) (goto_statement "goto LAB_000b5ad4;" goto statement_identifier ;) })) }) (else_clause "else {\n      iVar22 = 1;\n      uStack_e8 = (uint)bVar1;\n    }" else (compound_statement "{\n      iVar22 = 1;\n      uStack_e8 = (uint)bVar1;\n    }" { (expression_statement "iVar22 = 1;" (assignment_expression "iVar22 = 1" identifier = number_literal) ;) (expression_statement "uStack_e8 = (uint)bVar1;" (assignment_expression "uStack_e8 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) (expression_statement "pSVar16 = (SessionInput *)(iVar22 + uStack_e8 + 100);" (assignment_expression "pSVar16 = (SessionInput *)(iVar22 + uStack_e8 + 100)" identifier = (cast_expression "(SessionInput *)(iVar22 + uStack_e8 + 100)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + uStack_e8 + 100)" ( (binary_expression "iVar22 + uStack_e8 + 100" (binary_expression "iVar22 + uStack_e8" identifier + identifier) + number_literal) )))) ;) (expression_statement "puVar5 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);" (assignment_expression "puVar5 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16)" identifier = (cast_expression "(u8 *)sessionInputBuffer(pSVar31,(int)pSVar16)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionInputBuffer(pSVar31,(int)pSVar16)" identifier (argument_list "(pSVar31,(int)pSVar16)" ( identifier , (cast_expression "(int)pSVar16" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;) (expression_statement "iVar22 = iVar22 + uStack_e8;" (assignment_expression "iVar22 = iVar22 + uStack_e8" identifier = (binary_expression "iVar22 + uStack_e8" identifier + identifier)) ;) (if_statement "if (puVar5 == (u8 *)0x0) {\n      do {\n        pSVar16 = (SessionInput *)pSVar31->iNext;\n        pSVar17 = (SessionInput *)pSVar31->nData;\n        puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n        if ((int)puVar18 < (int)pSVar17) {\n          piVar19 = (int *)pSVar31->aData;\n          iVar7 = iVar22;\n          if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') {\n            iVar23 = iVar22 + 1;\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar22 = iVar7 + 1;\n            puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n            if ((int)pSVar17 <= (int)puVar18) break;\n            iVar23 = iVar7 + 2;\n            iVar7 = iVar22;\n            if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;\n          }\n        }\n        pSVar16 = (SessionInput *)(iVar22 + 100);\n        puVar18 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);\n      } while (puVar18 == (u8 *)0x0);\n      iVar23 = iVar22 + 1;\n      puVar5 = puVar18;\n    }\n    else {\n      iVar23 = iVar22 + 1;\n    }" if (parenthesized_expression "(puVar5 == (u8 *)0x0)" ( (binary_expression "puVar5 == (u8 *)0x0" identifier == (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      do {\n        pSVar16 = (SessionInput *)pSVar31->iNext;\n        pSVar17 = (SessionInput *)pSVar31->nData;\n        puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n        if ((int)puVar18 < (int)pSVar17) {\n          piVar19 = (int *)pSVar31->aData;\n          iVar7 = iVar22;\n          if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') {\n            iVar23 = iVar22 + 1;\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar22 = iVar7 + 1;\n            puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n            if ((int)pSVar17 <= (int)puVar18) break;\n            iVar23 = iVar7 + 2;\n            iVar7 = iVar22;\n            if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;\n          }\n        }\n        pSVar16 = (SessionInput *)(iVar22 + 100);\n        puVar18 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);\n      } while (puVar18 == (u8 *)0x0);\n      iVar23 = iVar22 + 1;\n      puVar5 = puVar18;\n    }" { (do_statement "do {\n        pSVar16 = (SessionInput *)pSVar31->iNext;\n        pSVar17 = (SessionInput *)pSVar31->nData;\n        puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n        if ((int)puVar18 < (int)pSVar17) {\n          piVar19 = (int *)pSVar31->aData;\n          iVar7 = iVar22;\n          if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') {\n            iVar23 = iVar22 + 1;\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar22 = iVar7 + 1;\n            puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n            if ((int)pSVar17 <= (int)puVar18) break;\n            iVar23 = iVar7 + 2;\n            iVar7 = iVar22;\n            if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;\n          }\n        }\n        pSVar16 = (SessionInput *)(iVar22 + 100);\n        puVar18 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);\n      } while (puVar18 == (u8 *)0x0);" do (compound_statement "{\n        pSVar16 = (SessionInput *)pSVar31->iNext;\n        pSVar17 = (SessionInput *)pSVar31->nData;\n        puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n        if ((int)puVar18 < (int)pSVar17) {\n          piVar19 = (int *)pSVar31->aData;\n          iVar7 = iVar22;\n          if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') {\n            iVar23 = iVar22 + 1;\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar22 = iVar7 + 1;\n            puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n            if ((int)pSVar17 <= (int)puVar18) break;\n            iVar23 = iVar7 + 2;\n            iVar7 = iVar22;\n            if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;\n          }\n        }\n        pSVar16 = (SessionInput *)(iVar22 + 100);\n        puVar18 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);\n      }" { (expression_statement "pSVar16 = (SessionInput *)pSVar31->iNext;" (assignment_expression "pSVar16 = (SessionInput *)pSVar31->iNext" identifier = (cast_expression "(SessionInput *)pSVar31->iNext" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar31->iNext" identifier -> field_identifier))) ;) (expression_statement "pSVar17 = (SessionInput *)pSVar31->nData;" (assignment_expression "pSVar17 = (SessionInput *)pSVar31->nData" identifier = (cast_expression "(SessionInput *)pSVar31->nData" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar31->nData" identifier -> field_identifier))) ;) (expression_statement "puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);" (assignment_expression "puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22)" identifier = (cast_expression "(u8 *)((int)&pSVar16->bNoDiscard + iVar22)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar16->bNoDiscard + iVar22)" ( (binary_expression "(int)&pSVar16->bNoDiscard + iVar22" (cast_expression "(int)&pSVar16->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar16->bNoDiscard" & (field_expression "pSVar16->bNoDiscard" identifier -> field_identifier))) + identifier) )))) ;) (if_statement "if ((int)puVar18 < (int)pSVar17) {\n          piVar19 = (int *)pSVar31->aData;\n          iVar7 = iVar22;\n          if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') {\n            iVar23 = iVar22 + 1;\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar22 = iVar7 + 1;\n            puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n            if ((int)pSVar17 <= (int)puVar18) break;\n            iVar23 = iVar7 + 2;\n            iVar7 = iVar22;\n            if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;\n          }\n        }" if (parenthesized_expression "((int)puVar18 < (int)pSVar17)" ( (binary_expression "(int)puVar18 < (int)pSVar17" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pSVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          piVar19 = (int *)pSVar31->aData;\n          iVar7 = iVar22;\n          if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') {\n            iVar23 = iVar22 + 1;\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar22 = iVar7 + 1;\n            puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n            if ((int)pSVar17 <= (int)puVar18) break;\n            iVar23 = iVar7 + 2;\n            iVar7 = iVar22;\n            if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;\n          }\n        }" { (expression_statement "piVar19 = (int *)pSVar31->aData;" (assignment_expression "piVar19 = (int *)pSVar31->aData" identifier = (cast_expression "(int *)pSVar31->aData" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar31->aData" identifier -> field_identifier))) ;) (expression_statement "iVar7 = iVar22;" (assignment_expression "iVar7 = iVar22" identifier = identifier) ;) (if_statement "if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') {\n            iVar23 = iVar22 + 1;\n            goto LAB_000b5ad4;\n          }" if (parenthesized_expression "(*(u8 *)((int)piVar19 + (int)puVar18) == '\0')" ( (binary_expression "*(u8 *)((int)piVar19 + (int)puVar18) == '\0'" (pointer_expression "*(u8 *)((int)piVar19 + (int)puVar18)" * (cast_expression "(u8 *)((int)piVar19 + (int)puVar18)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + (int)puVar18)" ( (binary_expression "(int)piVar19 + (int)puVar18" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            iVar23 = iVar22 + 1;\n            goto LAB_000b5ad4;\n          }" { (expression_statement "iVar23 = iVar22 + 1;" (assignment_expression "iVar23 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000b5ad4;" goto statement_identifier ;) })) (while_statement "while( true ) {\n            iVar22 = iVar7 + 1;\n            puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n            if ((int)pSVar17 <= (int)puVar18) break;\n            iVar23 = iVar7 + 2;\n            iVar7 = iVar22;\n            if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            iVar22 = iVar7 + 1;\n            puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);\n            if ((int)pSVar17 <= (int)puVar18) break;\n            iVar23 = iVar7 + 2;\n            iVar7 = iVar22;\n            if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;\n          }" { (expression_statement "iVar22 = iVar7 + 1;" (assignment_expression "iVar22 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22);" (assignment_expression "puVar18 = (u8 *)((int)&pSVar16->bNoDiscard + iVar22)" identifier = (cast_expression "(u8 *)((int)&pSVar16->bNoDiscard + iVar22)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar16->bNoDiscard + iVar22)" ( (binary_expression "(int)&pSVar16->bNoDiscard + iVar22" (cast_expression "(int)&pSVar16->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar16->bNoDiscard" & (field_expression "pSVar16->bNoDiscard" identifier -> field_identifier))) + identifier) )))) ;) (if_statement "if ((int)pSVar17 <= (int)puVar18) break;" if (parenthesized_expression "((int)pSVar17 <= (int)puVar18)" ( (binary_expression "(int)pSVar17 <= (int)puVar18" (cast_expression "(int)pSVar17" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "iVar23 = iVar7 + 2;" (assignment_expression "iVar23 = iVar7 + 2" identifier = (binary_expression "iVar7 + 2" identifier + number_literal)) ;) (expression_statement "iVar7 = iVar22;" (assignment_expression "iVar7 = iVar22" identifier = identifier) ;) (if_statement "if (*(u8 *)((int)piVar19 + (int)puVar18) == '\0') goto LAB_000b5ad4;" if (parenthesized_expression "(*(u8 *)((int)piVar19 + (int)puVar18) == '\0')" ( (binary_expression "*(u8 *)((int)piVar19 + (int)puVar18) == '\0'" (pointer_expression "*(u8 *)((int)piVar19 + (int)puVar18)" * (cast_expression "(u8 *)((int)piVar19 + (int)puVar18)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + (int)puVar18)" ( (binary_expression "(int)piVar19 + (int)puVar18" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000b5ad4;" goto statement_identifier ;)) })) })) (expression_statement "pSVar16 = (SessionInput *)(iVar22 + 100);" (assignment_expression "pSVar16 = (SessionInput *)(iVar22 + 100)" identifier = (cast_expression "(SessionInput *)(iVar22 + 100)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 100)" ( (binary_expression "iVar22 + 100" identifier + number_literal) )))) ;) (expression_statement "puVar18 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16);" (assignment_expression "puVar18 = (u8 *)sessionInputBuffer(pSVar31,(int)pSVar16)" identifier = (cast_expression "(u8 *)sessionInputBuffer(pSVar31,(int)pSVar16)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionInputBuffer(pSVar31,(int)pSVar16)" identifier (argument_list "(pSVar31,(int)pSVar16)" ( identifier , (cast_expression "(int)pSVar16" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;) }) while (parenthesized_expression "(puVar18 == (u8 *)0x0)" ( (binary_expression "puVar18 == (u8 *)0x0" identifier == (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "iVar23 = iVar22 + 1;" (assignment_expression "iVar23 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "puVar5 = puVar18;" (assignment_expression "puVar5 = puVar18" identifier = identifier) ;) }) (else_clause "else {\n      iVar23 = iVar22 + 1;\n    }" else (compound_statement "{\n      iVar23 = iVar22 + 1;\n    }" { (expression_statement "iVar23 = iVar22 + 1;" (assignment_expression "iVar23 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) }))) }) (else_clause "else {\n    iVar23 = 1;\n  }" else (compound_statement "{\n    iVar23 = 1;\n  }" { (expression_statement "iVar23 = 1;" (assignment_expression "iVar23 = 1" identifier = number_literal) ;) }))) (labeled_statement "LAB_000b5ad4:\n  *(int *)p_Var15 = iVar23;" statement_identifier : (expression_statement "*(int *)p_Var15 = iVar23;" (assignment_expression "*(int *)p_Var15 = iVar23" (pointer_expression "*(int *)p_Var15" * (cast_expression "(int *)p_Var15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) (if_statement "if (pSStack_e4 == (SessionInput *)*piVar3) {\n    return (int)puVar5;\n  }" if (parenthesized_expression "(pSStack_e4 == (SessionInput *)*piVar3)" ( (binary_expression "pSStack_e4 == (SessionInput *)*piVar3" identifier == (cast_expression "(SessionInput *)*piVar3" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar3" * identifier))) )) (compound_statement "{\n    return (int)puVar5;\n  }" { (return_statement "return (int)puVar5;" return (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "pcVar4 = *(code **)(pcStack_f0 + -0x7b28);" (assignment_expression "pcVar4 = *(code **)(pcStack_f0 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_f0 + -0x7b28)" * (cast_expression "(code **)(pcStack_f0 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7b28)" ( (binary_expression "pcStack_f0 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar37 = sessionChangesetBufferRecord;" (assignment_expression "pcVar37 = sessionChangesetBufferRecord" identifier = identifier) ;) (expression_statement "pSVar26 = pSStack_e4;" (assignment_expression "pSVar26 = pSStack_e4" identifier = identifier) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_148 = pcVar4 + 0xe2d94;" (assignment_expression "pcStack_148 = pcVar4 + 0xe2d94" identifier = (binary_expression "pcVar4 + 0xe2d94" identifier + number_literal)) ;) (expression_statement "pSVar34 = &SStack_138;" (assignment_expression "pSVar34 = &SStack_138" identifier = (pointer_expression "&SStack_138" & identifier)) ;) (expression_statement "pSVar28 = (SessionInput *)0x0;" (assignment_expression "pSVar28 = (SessionInput *)0x0" identifier = (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar24 = (SessionInput *)0x0;" (assignment_expression "pSVar24 = (SessionInput *)0x0" identifier = (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar33 = *(int **)(pcVar4 + 0xdb298);" (assignment_expression "piVar33 = *(int **)(pcVar4 + 0xdb298)" identifier = (pointer_expression "*(int **)(pcVar4 + 0xdb298)" * (cast_expression "(int **)(pcVar4 + 0xdb298)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xdb298)" ( (binary_expression "pcVar4 + 0xdb298" identifier + number_literal) ))))) ;) (expression_statement "SStack_138.iCurrent = *piVar33;" (assignment_expression "SStack_138.iCurrent = *piVar33" (field_expression "SStack_138.iCurrent" identifier . field_identifier) = (pointer_expression "*piVar33" * identifier)) ;) (expression_statement "pSVar30 = (SessionInput *)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);" (assignment_expression "pSVar30 = (SessionInput *)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0)" identifier = (cast_expression "(SessionInput *)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0)" ( (binary_expression "*(int *)(pcVar4 + 0xdb0a0) + 0x57e0" (pointer_expression "*(int *)(pcVar4 + 0xdb0a0)" * (cast_expression "(int *)(pcVar4 + 0xdb0a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xdb0a0)" ( (binary_expression "pcVar4 + 0xdb0a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);" (assignment_expression "pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xdb01c) + 0x3388)" ( (binary_expression "*(int *)(pcVar4 + 0xdb01c) + 0x3388" (pointer_expression "*(int *)(pcVar4 + 0xdb01c)" * (cast_expression "(int *)(pcVar4 + 0xdb01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xdb01c)" ( (binary_expression "pcVar4 + 0xdb01c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (expression_statement "nByte = pSVar16;" (assignment_expression "nByte = pSVar16" identifier = identifier) ;) (expression_statement "pSStack_13c = pSVar17;" (assignment_expression "pSStack_13c = pSVar17" identifier = identifier) ;) (expression_statement "SStack_138.iNext = iVar23;" (assignment_expression "SStack_138.iNext = iVar23" (field_expression "SStack_138.iNext" identifier . field_identifier) = identifier) ;) (expression_statement "SStack_138.aData = puVar5;" (assignment_expression "SStack_138.aData = puVar5" (field_expression "SStack_138.aData" identifier . field_identifier) = identifier) ;) (expression_statement "SStack_138.nData = (int)piVar3;" (assignment_expression "SStack_138.nData = (int)piVar3" (field_expression "SStack_138.nData" identifier . field_identifier) = (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "SStack_138.buf.aBuf = (u8 *)p_Var15;" (assignment_expression "SStack_138.buf.aBuf = (u8 *)p_Var15" (field_expression "SStack_138.buf.aBuf" (field_expression "SStack_138.buf" identifier . field_identifier) . field_identifier) = (cast_expression "(u8 *)p_Var15" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "SStack_138.buf.nBuf = iVar11 + 0x57e0;" (assignment_expression "SStack_138.buf.nBuf = iVar11 + 0x57e0" (field_expression "SStack_138.buf.nBuf" (field_expression "SStack_138.buf" identifier . field_identifier) . field_identifier) = (binary_expression "iVar11 + 0x57e0" identifier + number_literal)) ;) (expression_statement "SStack_138.buf.nAlloc = (int)pSVar31;" (assignment_expression "SStack_138.buf.nAlloc = (int)pSVar31" (field_expression "SStack_138.buf.nAlloc" (field_expression "SStack_138.buf" identifier . field_identifier) . field_identifier) = (cast_expression "(int)pSVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "SStack_138.xInput = p_Var32;" (assignment_expression "SStack_138.xInput = p_Var32" (field_expression "SStack_138.xInput" identifier . field_identifier) = identifier) ;) (expression_statement "SStack_138.pIn = unaff_s7;" (assignment_expression "SStack_138.pIn = unaff_s7" (field_expression "SStack_138.pIn" identifier . field_identifier) = identifier) ;) (expression_statement "SStack_138.bEof = (int)unaff_s8;" (assignment_expression "SStack_138.bEof = (int)unaff_s8" (field_expression "SStack_138.bEof" identifier . field_identifier) = (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pcStack_10c = pcVar37;" (assignment_expression "pcStack_10c = pcVar37" identifier = identifier) ;) (if_statement "if (0 < (int)pSVar16) {\n    do {\n      nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n      while( true ) {\n        iVar22 = sessionInputBuffer(pSVar26,(int)nByte);\n        if (iVar22 != 0) goto LAB_000b5c24;\n        unaff_s8 = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n        piVar19 = (int *)pSVar26->iNext;\n        uVar10 = (uint)(pSVar26->aData + (int)piVar19)[(int)pSVar24];\n        pSVar28 = (SessionInput *)((int)&pSVar28->bNoDiscard + 1);\n        if (uVar10 - 3 < 2) break;\n        pSVar24 = (SessionInput *)((int)&pSVar24->iNext + 1);\n        if (1 < uVar10 - 1) {\n          pSVar24 = unaff_s8;\n        }\n        nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n        if (pSVar16 == pSVar28) goto LAB_000b5c24;\n      }\n      piVar19 = (int *)((int)piVar19 + (int)unaff_s8);\n      pbVar12 = pSVar26->aData + (int)piVar19;\n      bVar1 = *pbVar12;\n      if ((char)bVar1 < '\0') {\n        iVar11 = (*pcVar4)(pbVar12,pSVar34);\n      }\n      else {\n        iVar11 = 1;\n        SStack_138.bNoDiscard = (uint)bVar1;\n      }\n      unaff_s8 = (SessionInput *)((int)&unaff_s8->bNoDiscard + iVar11);\n      pSVar24 = (SessionInput *)((int)&unaff_s8->bNoDiscard + SStack_138.bNoDiscard);\n      nByte = pSVar24;\n      iVar22 = sessionInputBuffer(pSVar26,(int)pSVar24);\n    } while ((iVar22 == 0) && (iVar22 = 0, (int)pSVar28 < (int)pSVar16));\n  }" if (parenthesized_expression "(0 < (int)pSVar16)" ( (binary_expression "0 < (int)pSVar16" number_literal < (cast_expression "(int)pSVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    do {\n      nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n      while( true ) {\n        iVar22 = sessionInputBuffer(pSVar26,(int)nByte);\n        if (iVar22 != 0) goto LAB_000b5c24;\n        unaff_s8 = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n        piVar19 = (int *)pSVar26->iNext;\n        uVar10 = (uint)(pSVar26->aData + (int)piVar19)[(int)pSVar24];\n        pSVar28 = (SessionInput *)((int)&pSVar28->bNoDiscard + 1);\n        if (uVar10 - 3 < 2) break;\n        pSVar24 = (SessionInput *)((int)&pSVar24->iNext + 1);\n        if (1 < uVar10 - 1) {\n          pSVar24 = unaff_s8;\n        }\n        nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n        if (pSVar16 == pSVar28) goto LAB_000b5c24;\n      }\n      piVar19 = (int *)((int)piVar19 + (int)unaff_s8);\n      pbVar12 = pSVar26->aData + (int)piVar19;\n      bVar1 = *pbVar12;\n      if ((char)bVar1 < '\0') {\n        iVar11 = (*pcVar4)(pbVar12,pSVar34);\n      }\n      else {\n        iVar11 = 1;\n        SStack_138.bNoDiscard = (uint)bVar1;\n      }\n      unaff_s8 = (SessionInput *)((int)&unaff_s8->bNoDiscard + iVar11);\n      pSVar24 = (SessionInput *)((int)&unaff_s8->bNoDiscard + SStack_138.bNoDiscard);\n      nByte = pSVar24;\n      iVar22 = sessionInputBuffer(pSVar26,(int)pSVar24);\n    } while ((iVar22 == 0) && (iVar22 = 0, (int)pSVar28 < (int)pSVar16));\n  }" { (do_statement "do {\n      nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n      while( true ) {\n        iVar22 = sessionInputBuffer(pSVar26,(int)nByte);\n        if (iVar22 != 0) goto LAB_000b5c24;\n        unaff_s8 = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n        piVar19 = (int *)pSVar26->iNext;\n        uVar10 = (uint)(pSVar26->aData + (int)piVar19)[(int)pSVar24];\n        pSVar28 = (SessionInput *)((int)&pSVar28->bNoDiscard + 1);\n        if (uVar10 - 3 < 2) break;\n        pSVar24 = (SessionInput *)((int)&pSVar24->iNext + 1);\n        if (1 < uVar10 - 1) {\n          pSVar24 = unaff_s8;\n        }\n        nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n        if (pSVar16 == pSVar28) goto LAB_000b5c24;\n      }\n      piVar19 = (int *)((int)piVar19 + (int)unaff_s8);\n      pbVar12 = pSVar26->aData + (int)piVar19;\n      bVar1 = *pbVar12;\n      if ((char)bVar1 < '\0') {\n        iVar11 = (*pcVar4)(pbVar12,pSVar34);\n      }\n      else {\n        iVar11 = 1;\n        SStack_138.bNoDiscard = (uint)bVar1;\n      }\n      unaff_s8 = (SessionInput *)((int)&unaff_s8->bNoDiscard + iVar11);\n      pSVar24 = (SessionInput *)((int)&unaff_s8->bNoDiscard + SStack_138.bNoDiscard);\n      nByte = pSVar24;\n      iVar22 = sessionInputBuffer(pSVar26,(int)pSVar24);\n    } while ((iVar22 == 0) && (iVar22 = 0, (int)pSVar28 < (int)pSVar16));" do (compound_statement "{\n      nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n      while( true ) {\n        iVar22 = sessionInputBuffer(pSVar26,(int)nByte);\n        if (iVar22 != 0) goto LAB_000b5c24;\n        unaff_s8 = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n        piVar19 = (int *)pSVar26->iNext;\n        uVar10 = (uint)(pSVar26->aData + (int)piVar19)[(int)pSVar24];\n        pSVar28 = (SessionInput *)((int)&pSVar28->bNoDiscard + 1);\n        if (uVar10 - 3 < 2) break;\n        pSVar24 = (SessionInput *)((int)&pSVar24->iNext + 1);\n        if (1 < uVar10 - 1) {\n          pSVar24 = unaff_s8;\n        }\n        nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n        if (pSVar16 == pSVar28) goto LAB_000b5c24;\n      }\n      piVar19 = (int *)((int)piVar19 + (int)unaff_s8);\n      pbVar12 = pSVar26->aData + (int)piVar19;\n      bVar1 = *pbVar12;\n      if ((char)bVar1 < '\0') {\n        iVar11 = (*pcVar4)(pbVar12,pSVar34);\n      }\n      else {\n        iVar11 = 1;\n        SStack_138.bNoDiscard = (uint)bVar1;\n      }\n      unaff_s8 = (SessionInput *)((int)&unaff_s8->bNoDiscard + iVar11);\n      pSVar24 = (SessionInput *)((int)&unaff_s8->bNoDiscard + SStack_138.bNoDiscard);\n      nByte = pSVar24;\n      iVar22 = sessionInputBuffer(pSVar26,(int)pSVar24);\n    }" { (expression_statement "nByte = (SessionInput *)((int)&pSVar24->iNext + 2);" (assignment_expression "nByte = (SessionInput *)((int)&pSVar24->iNext + 2)" identifier = (cast_expression "(SessionInput *)((int)&pSVar24->iNext + 2)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar24->iNext + 2)" ( (binary_expression "(int)&pSVar24->iNext + 2" (cast_expression "(int)&pSVar24->iNext" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar24->iNext" & (field_expression "pSVar24->iNext" identifier -> field_identifier))) + number_literal) )))) ;) (while_statement "while( true ) {\n        iVar22 = sessionInputBuffer(pSVar26,(int)nByte);\n        if (iVar22 != 0) goto LAB_000b5c24;\n        unaff_s8 = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n        piVar19 = (int *)pSVar26->iNext;\n        uVar10 = (uint)(pSVar26->aData + (int)piVar19)[(int)pSVar24];\n        pSVar28 = (SessionInput *)((int)&pSVar28->bNoDiscard + 1);\n        if (uVar10 - 3 < 2) break;\n        pSVar24 = (SessionInput *)((int)&pSVar24->iNext + 1);\n        if (1 < uVar10 - 1) {\n          pSVar24 = unaff_s8;\n        }\n        nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n        if (pSVar16 == pSVar28) goto LAB_000b5c24;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar22 = sessionInputBuffer(pSVar26,(int)nByte);\n        if (iVar22 != 0) goto LAB_000b5c24;\n        unaff_s8 = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n        piVar19 = (int *)pSVar26->iNext;\n        uVar10 = (uint)(pSVar26->aData + (int)piVar19)[(int)pSVar24];\n        pSVar28 = (SessionInput *)((int)&pSVar28->bNoDiscard + 1);\n        if (uVar10 - 3 < 2) break;\n        pSVar24 = (SessionInput *)((int)&pSVar24->iNext + 1);\n        if (1 < uVar10 - 1) {\n          pSVar24 = unaff_s8;\n        }\n        nByte = (SessionInput *)((int)&pSVar24->iNext + 2);\n        if (pSVar16 == pSVar28) goto LAB_000b5c24;\n      }" { (expression_statement "iVar22 = sessionInputBuffer(pSVar26,(int)nByte);" (assignment_expression "iVar22 = sessionInputBuffer(pSVar26,(int)nByte)" identifier = (call_expression "sessionInputBuffer(pSVar26,(int)nByte)" identifier (argument_list "(pSVar26,(int)nByte)" ( identifier , (cast_expression "(int)nByte" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (if_statement "if (iVar22 != 0) goto LAB_000b5c24;" if (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b5c24;" goto statement_identifier ;)) (expression_statement "unaff_s8 = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);" (assignment_expression "unaff_s8 = (SessionInput *)((int)&pSVar24->bNoDiscard + 1)" identifier = (cast_expression "(SessionInput *)((int)&pSVar24->bNoDiscard + 1)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar24->bNoDiscard + 1)" ( (binary_expression "(int)&pSVar24->bNoDiscard + 1" (cast_expression "(int)&pSVar24->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar24->bNoDiscard" & (field_expression "pSVar24->bNoDiscard" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "piVar19 = (int *)pSVar26->iNext;" (assignment_expression "piVar19 = (int *)pSVar26->iNext" identifier = (cast_expression "(int *)pSVar26->iNext" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar26->iNext" identifier -> field_identifier))) ;) (expression_statement "uVar10 = (uint)(pSVar26->aData + (int)piVar19)[(int)pSVar24];" (assignment_expression "uVar10 = (uint)(pSVar26->aData + (int)piVar19)[(int)pSVar24]" identifier = (subscript_expression "(uint)(pSVar26->aData + (int)piVar19)[(int)pSVar24]" (call_expression "(uint)(pSVar26->aData + (int)piVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pSVar26->aData + (int)piVar19)" ( (binary_expression "pSVar26->aData + (int)piVar19" (field_expression "pSVar26->aData" identifier -> field_identifier) + (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ))) [ (cast_expression "(int)pSVar24" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "pSVar28 = (SessionInput *)((int)&pSVar28->bNoDiscard + 1);" (assignment_expression "pSVar28 = (SessionInput *)((int)&pSVar28->bNoDiscard + 1)" identifier = (cast_expression "(SessionInput *)((int)&pSVar28->bNoDiscard + 1)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar28->bNoDiscard + 1)" ( (binary_expression "(int)&pSVar28->bNoDiscard + 1" (cast_expression "(int)&pSVar28->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar28->bNoDiscard" & (field_expression "pSVar28->bNoDiscard" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (uVar10 - 3 < 2) break;" if (parenthesized_expression "(uVar10 - 3 < 2)" ( (binary_expression "uVar10 - 3 < 2" (binary_expression "uVar10 - 3" identifier - number_literal) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "pSVar24 = (SessionInput *)((int)&pSVar24->iNext + 1);" (assignment_expression "pSVar24 = (SessionInput *)((int)&pSVar24->iNext + 1)" identifier = (cast_expression "(SessionInput *)((int)&pSVar24->iNext + 1)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar24->iNext + 1)" ( (binary_expression "(int)&pSVar24->iNext + 1" (cast_expression "(int)&pSVar24->iNext" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar24->iNext" & (field_expression "pSVar24->iNext" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (1 < uVar10 - 1) {\n          pSVar24 = unaff_s8;\n        }" if (parenthesized_expression "(1 < uVar10 - 1)" ( (binary_expression "1 < uVar10 - 1" number_literal < (binary_expression "uVar10 - 1" identifier - number_literal)) )) (compound_statement "{\n          pSVar24 = unaff_s8;\n        }" { (expression_statement "pSVar24 = unaff_s8;" (assignment_expression "pSVar24 = unaff_s8" identifier = identifier) ;) })) (expression_statement "nByte = (SessionInput *)((int)&pSVar24->iNext + 2);" (assignment_expression "nByte = (SessionInput *)((int)&pSVar24->iNext + 2)" identifier = (cast_expression "(SessionInput *)((int)&pSVar24->iNext + 2)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar24->iNext + 2)" ( (binary_expression "(int)&pSVar24->iNext + 2" (cast_expression "(int)&pSVar24->iNext" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar24->iNext" & (field_expression "pSVar24->iNext" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (pSVar16 == pSVar28) goto LAB_000b5c24;" if (parenthesized_expression "(pSVar16 == pSVar28)" ( (binary_expression "pSVar16 == pSVar28" identifier == identifier) )) (goto_statement "goto LAB_000b5c24;" goto statement_identifier ;)) })) (expression_statement "piVar19 = (int *)((int)piVar19 + (int)unaff_s8);" (assignment_expression "piVar19 = (int *)((int)piVar19 + (int)unaff_s8)" identifier = (cast_expression "(int *)((int)piVar19 + (int)unaff_s8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + (int)unaff_s8)" ( (binary_expression "(int)piVar19 + (int)unaff_s8" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar12 = pSVar26->aData + (int)piVar19;" (assignment_expression "pbVar12 = pSVar26->aData + (int)piVar19" identifier = (binary_expression "pSVar26->aData + (int)piVar19" (field_expression "pSVar26->aData" identifier -> field_identifier) + (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "bVar1 = *pbVar12;" (assignment_expression "bVar1 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) ;) (if_statement "if ((char)bVar1 < '\0') {\n        iVar11 = (*pcVar4)(pbVar12,pSVar34);\n      }\n      else {\n        iVar11 = 1;\n        SStack_138.bNoDiscard = (uint)bVar1;\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        iVar11 = (*pcVar4)(pbVar12,pSVar34);\n      }" { (expression_statement "iVar11 = (*pcVar4)(pbVar12,pSVar34);" (assignment_expression "iVar11 = (*pcVar4)(pbVar12,pSVar34)" identifier = (call_expression "(*pcVar4)(pbVar12,pSVar34)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(pbVar12,pSVar34)" ( identifier , identifier )))) ;) }) (else_clause "else {\n        iVar11 = 1;\n        SStack_138.bNoDiscard = (uint)bVar1;\n      }" else (compound_statement "{\n        iVar11 = 1;\n        SStack_138.bNoDiscard = (uint)bVar1;\n      }" { (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "SStack_138.bNoDiscard = (uint)bVar1;" (assignment_expression "SStack_138.bNoDiscard = (uint)bVar1" (field_expression "SStack_138.bNoDiscard" identifier . field_identifier) = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) (expression_statement "unaff_s8 = (SessionInput *)((int)&unaff_s8->bNoDiscard + iVar11);" (assignment_expression "unaff_s8 = (SessionInput *)((int)&unaff_s8->bNoDiscard + iVar11)" identifier = (cast_expression "(SessionInput *)((int)&unaff_s8->bNoDiscard + iVar11)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s8->bNoDiscard + iVar11)" ( (binary_expression "(int)&unaff_s8->bNoDiscard + iVar11" (cast_expression "(int)&unaff_s8->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s8->bNoDiscard" & (field_expression "unaff_s8->bNoDiscard" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "pSVar24 = (SessionInput *)((int)&unaff_s8->bNoDiscard + SStack_138.bNoDiscard);" (assignment_expression "pSVar24 = (SessionInput *)((int)&unaff_s8->bNoDiscard + SStack_138.bNoDiscard)" identifier = (cast_expression "(SessionInput *)((int)&unaff_s8->bNoDiscard + SStack_138.bNoDiscard)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s8->bNoDiscard + SStack_138.bNoDiscard)" ( (binary_expression "(int)&unaff_s8->bNoDiscard + SStack_138.bNoDiscard" (cast_expression "(int)&unaff_s8->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s8->bNoDiscard" & (field_expression "unaff_s8->bNoDiscard" identifier -> field_identifier))) + (field_expression "SStack_138.bNoDiscard" identifier . field_identifier)) )))) ;) (expression_statement "nByte = pSVar24;" (assignment_expression "nByte = pSVar24" identifier = identifier) ;) (expression_statement "iVar22 = sessionInputBuffer(pSVar26,(int)pSVar24);" (assignment_expression "iVar22 = sessionInputBuffer(pSVar26,(int)pSVar24)" identifier = (call_expression "sessionInputBuffer(pSVar26,(int)pSVar24)" identifier (argument_list "(pSVar26,(int)pSVar24)" ( identifier , (cast_expression "(int)pSVar24" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) }) while (parenthesized_expression "((iVar22 == 0) && (iVar22 = 0, (int)pSVar28 < (int)pSVar16))" ( (binary_expression "(iVar22 == 0) && (iVar22 = 0, (int)pSVar28 < (int)pSVar16)" (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar22 = 0, (int)pSVar28 < (int)pSVar16)" ( (comma_expression "iVar22 = 0, (int)pSVar28 < (int)pSVar16" (assignment_expression "iVar22 = 0" identifier = number_literal) , (binary_expression "(int)pSVar28 < (int)pSVar16" (cast_expression "(int)pSVar28" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pSVar16" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) ;) })) (labeled_statement "LAB_000b5c24:\n  pSStack_13c->bNoDiscard = (int)pSVar24;" statement_identifier : (expression_statement "pSStack_13c->bNoDiscard = (int)pSVar24;" (assignment_expression "pSStack_13c->bNoDiscard = (int)pSVar24" (field_expression "pSStack_13c->bNoDiscard" identifier -> field_identifier) = (cast_expression "(int)pSVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (if_statement "if ((SessionInput *)SStack_138.iCurrent == (SessionInput *)*piVar33) {\n    return iVar22;\n  }" if (parenthesized_expression "((SessionInput *)SStack_138.iCurrent == (SessionInput *)*piVar33)" ( (binary_expression "(SessionInput *)SStack_138.iCurrent == (SessionInput *)*piVar33" (cast_expression "(SessionInput *)SStack_138.iCurrent" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "SStack_138.iCurrent" identifier . field_identifier)) == (cast_expression "(SessionInput *)*piVar33" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar33" * identifier))) )) (compound_statement "{\n    return iVar22;\n  }" { (return_statement "return iVar22;" return identifier ;) })) (expression_statement "pcVar37 = *(code **)(pcStack_148 + -0x7b28);" (assignment_expression "pcVar37 = *(code **)(pcStack_148 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7b28)" * (cast_expression "(code **)(pcStack_148 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7b28)" ( (binary_expression "pcStack_148 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar38 = sessionReadRecord;" (assignment_expression "pcVar38 = sessionReadRecord" identifier = identifier) ;) (expression_statement "pIn = (SessionInput *)SStack_138.iCurrent;" (assignment_expression "pIn = (SessionInput *)SStack_138.iCurrent" identifier = (cast_expression "(SessionInput *)SStack_138.iCurrent" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "SStack_138.iCurrent" identifier . field_identifier))) ;) (expression_statement "(*pcVar37)();" (call_expression "(*pcVar37)()" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1c0 = pcVar37 + 0xe2c00;" (assignment_expression "pcStack_1c0 = pcVar37 + 0xe2c00" identifier = (binary_expression "pcVar37 + 0xe2c00" identifier + number_literal)) ;) (expression_statement "piVar3 = *(int **)(pcVar37 + 0xdb104);" (assignment_expression "piVar3 = *(int **)(pcVar37 + 0xdb104)" identifier = (pointer_expression "*(int **)(pcVar37 + 0xdb104)" * (cast_expression "(int **)(pcVar37 + 0xdb104)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0xdb104)" ( (binary_expression "pcVar37 + 0xdb104" identifier + number_literal) ))))) ;) (expression_statement "pSStack_18c = (SessionInput *)*piVar3;" (assignment_expression "pSStack_18c = (SessionInput *)*piVar3" identifier = (cast_expression "(SessionInput *)*piVar3" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar3" * identifier))) ;) (expression_statement "abPK = nByte;" (assignment_expression "abPK = nByte" identifier = identifier) ;) (expression_statement "pSVar31 = pSVar17;" (assignment_expression "pSVar31 = pSVar17" identifier = identifier) ;) (expression_statement "piStack_1b4 = piVar19;" (assignment_expression "piStack_1b4 = piVar19" identifier = identifier) ;) (expression_statement "pSStack_188 = pSVar24;" (assignment_expression "pSStack_188 = pSVar24" identifier = identifier) ;) (expression_statement "pSStack_184 = pSVar26;" (assignment_expression "pSStack_184 = pSVar26" identifier = identifier) ;) (expression_statement "pSStack_180 = pSVar28;" (assignment_expression "pSStack_180 = pSVar28" identifier = identifier) ;) (expression_statement "pSStack_17c = pSVar30;" (assignment_expression "pSStack_17c = pSVar30" identifier = identifier) ;) (expression_statement "pSStack_178 = pSVar16;" (assignment_expression "pSStack_178 = pSVar16" identifier = identifier) ;) (expression_statement "pcStack_174 = pcVar4;" (assignment_expression "pcStack_174 = pcVar4" identifier = identifier) ;) (expression_statement "piStack_170 = piVar33;" (assignment_expression "piStack_170 = piVar33" identifier = identifier) ;) (expression_statement "pSStack_16c = pSVar34;" (assignment_expression "pSStack_16c = pSVar34" identifier = identifier) ;) (expression_statement "pSStack_168 = unaff_s8;" (assignment_expression "pSStack_168 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_164 = pcVar38;" (assignment_expression "pcStack_164 = pcVar38" identifier = identifier) ;) (if_statement "if (0 < (int)nByte) {\n    pSVar24 = (SessionInput *)0x0;\n    pcVar4 = *(code **)(pcVar37 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar37 + 0xdae88) + -0x2b48);\n    pSVar26 = (SessionInput *)(*(int *)(pcVar37 + 0xdaf0c) + 0x57e0);\n    iStack_1a8 = *(int *)(pcVar37 + 0xdaea0);\nLAB_000b5dac:\n    pSVar30 = (SessionInput *)0x1;\n    pSVar34 = pSVar24;\n    pcVar37 = pcStack_1c0;\nLAB_000b5db4:\n    while ((pSVar17 != (SessionInput *)0x0 &&\n           (*(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard) == '\0'))) {\n      pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      pSVar6 = (SessionInput *)0x0;\n      if ((int)nByte <= (int)pSVar34) goto LAB_000b5de4;\n    }\n    abPK = (SessionInput *)&DAT_00000009;\n    pSVar6 = (SessionInput *)sessionInputBuffer(pIn,9);\n    pcVar37 = pcStack_1c0;\n    if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;\n    iVar11 = pIn->iNext;\n    abPK = (SessionInput *)(iVar11 + 1);\n    if (pIn->nData <= iVar11) {\n      piVar19 = (int *)0x300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      pSVar31 = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      abPK = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      pSVar6 = (SessionInput *)&DAT_0000000b;\n      pcVar37 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    pIn->iNext = (int)abPK;\n    pcVar4 = (code *)(uint)pIn->aData[iVar11];\n    if (pcVar4 != (code *)0x0) {\n      piVar19 = (int *)&DAT_00000028;\n      pSVar31 = (SessionInput *)0x0;\n      pSVar16 = (SessionInput *)(piStack_1b4 + (int)pSVar34);\n      pSVar28 = (SessionInput *)(*pcStack_1b0)(0);\n      if (pSVar28 == (SessionInput *)0x0) {\n        pSVar6 = (SessionInput *)&DAT_00000007;\n        pSVar16->bNoDiscard = 0;\n        pcVar37 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)&pSVar28->iNext = 1;\n      pSVar28->xInput = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n      pSVar16->bNoDiscard = (int)pSVar28;\n      pSVar31 = (SessionInput *)pIn->iNext;\n      pdVar13 = (double *)(pIn->aData + (int)pSVar31);\n      if (pcVar4 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar13 < '\0') {\n          iVar11 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198);\n          pSVar31 = (SessionInput *)pIn->iNext;\n        }\n        else {\n          iVar11 = 1;\n          pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13;\n        }\n        pIn->iNext = (int)((int)&pSVar31->bNoDiscard + iVar11);\n        abPK = pSStack_198;\n        pSVar6 = (SessionInput *)sessionInputBuffer(pIn,(int)pSStack_198);\n        pSVar24 = pSStack_198;\n        pcVar37 = pcStack_1c0;\n        if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;\n        piVar19 = (int *)0x30000;\n        if (-1 < (int)pSStack_198) {\n          if ((int)pSStack_198 <= pIn->nData - pIn->iNext) {\n            pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;\n            pSVar16 = (SessionInput *)pIn->aData;\n            pSStack_1a4 = (SessionInput *)pIn->iNext;\n            pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();\n            pSVar31 = pSStack_1a4;\n            pSVar30 = pSVar24;\n            if (pSVar28 == (SessionInput *)0x0) {\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            pSVar6 = (SessionInput *)&DAT_00000007;\n            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n            pcVar37 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        piVar19 = (int *)0x300fd;\n        pSVar30 = pSStack_198;\n        goto LAB_000b5e90;\n      }\n      pSVar35 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      abPK = (SessionInput *)(uint)(pcVar4 + -1 < &SUB_00000002);\n      if (abPK != (SessionInput *)0x0) goto code_r0x000b6070;\n    }\n    pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n    pSVar24 = pSVar17;\n    pSVar28 = nByte;\n    pcVar37 = pcStack_1c0;\n    unaff_s8 = pIn;\n    if ((int)nByte <= (int)pSVar34) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" if (parenthesized_expression "(0 < (int)nByte)" ( (binary_expression "0 < (int)nByte" number_literal < (cast_expression "(int)nByte" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    pSVar24 = (SessionInput *)0x0;\n    pcVar4 = *(code **)(pcVar37 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar37 + 0xdae88) + -0x2b48);\n    pSVar26 = (SessionInput *)(*(int *)(pcVar37 + 0xdaf0c) + 0x57e0);\n    iStack_1a8 = *(int *)(pcVar37 + 0xdaea0);\nLAB_000b5dac:\n    pSVar30 = (SessionInput *)0x1;\n    pSVar34 = pSVar24;\n    pcVar37 = pcStack_1c0;\nLAB_000b5db4:\n    while ((pSVar17 != (SessionInput *)0x0 &&\n           (*(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard) == '\0'))) {\n      pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      pSVar6 = (SessionInput *)0x0;\n      if ((int)nByte <= (int)pSVar34) goto LAB_000b5de4;\n    }\n    abPK = (SessionInput *)&DAT_00000009;\n    pSVar6 = (SessionInput *)sessionInputBuffer(pIn,9);\n    pcVar37 = pcStack_1c0;\n    if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;\n    iVar11 = pIn->iNext;\n    abPK = (SessionInput *)(iVar11 + 1);\n    if (pIn->nData <= iVar11) {\n      piVar19 = (int *)0x300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      pSVar31 = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      abPK = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      pSVar6 = (SessionInput *)&DAT_0000000b;\n      pcVar37 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    pIn->iNext = (int)abPK;\n    pcVar4 = (code *)(uint)pIn->aData[iVar11];\n    if (pcVar4 != (code *)0x0) {\n      piVar19 = (int *)&DAT_00000028;\n      pSVar31 = (SessionInput *)0x0;\n      pSVar16 = (SessionInput *)(piStack_1b4 + (int)pSVar34);\n      pSVar28 = (SessionInput *)(*pcStack_1b0)(0);\n      if (pSVar28 == (SessionInput *)0x0) {\n        pSVar6 = (SessionInput *)&DAT_00000007;\n        pSVar16->bNoDiscard = 0;\n        pcVar37 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)&pSVar28->iNext = 1;\n      pSVar28->xInput = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n      pSVar16->bNoDiscard = (int)pSVar28;\n      pSVar31 = (SessionInput *)pIn->iNext;\n      pdVar13 = (double *)(pIn->aData + (int)pSVar31);\n      if (pcVar4 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar13 < '\0') {\n          iVar11 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198);\n          pSVar31 = (SessionInput *)pIn->iNext;\n        }\n        else {\n          iVar11 = 1;\n          pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13;\n        }\n        pIn->iNext = (int)((int)&pSVar31->bNoDiscard + iVar11);\n        abPK = pSStack_198;\n        pSVar6 = (SessionInput *)sessionInputBuffer(pIn,(int)pSStack_198);\n        pSVar24 = pSStack_198;\n        pcVar37 = pcStack_1c0;\n        if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;\n        piVar19 = (int *)0x30000;\n        if (-1 < (int)pSStack_198) {\n          if ((int)pSStack_198 <= pIn->nData - pIn->iNext) {\n            pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;\n            pSVar16 = (SessionInput *)pIn->aData;\n            pSStack_1a4 = (SessionInput *)pIn->iNext;\n            pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();\n            pSVar31 = pSStack_1a4;\n            pSVar30 = pSVar24;\n            if (pSVar28 == (SessionInput *)0x0) {\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            pSVar6 = (SessionInput *)&DAT_00000007;\n            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n            pcVar37 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        piVar19 = (int *)0x300fd;\n        pSVar30 = pSStack_198;\n        goto LAB_000b5e90;\n      }\n      pSVar35 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      abPK = (SessionInput *)(uint)(pcVar4 + -1 < &SUB_00000002);\n      if (abPK != (SessionInput *)0x0) goto code_r0x000b6070;\n    }\n    pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n    pSVar24 = pSVar17;\n    pSVar28 = nByte;\n    pcVar37 = pcStack_1c0;\n    unaff_s8 = pIn;\n    if ((int)nByte <= (int)pSVar34) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" { (expression_statement "pSVar24 = (SessionInput *)0x0;" (assignment_expression "pSVar24 = (SessionInput *)0x0" identifier = (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar4 = *(code **)(pcVar37 + 0xdae88);" (assignment_expression "pcVar4 = *(code **)(pcVar37 + 0xdae88)" identifier = (pointer_expression "*(code **)(pcVar37 + 0xdae88)" * (cast_expression "(code **)(pcVar37 + 0xdae88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0xdae88)" ( (binary_expression "pcVar37 + 0xdae88" identifier + number_literal) ))))) ;) (expression_statement "pcStack_1b0 = pcVar4 + 0x924;" (assignment_expression "pcStack_1b0 = pcVar4 + 0x924" identifier = (binary_expression "pcVar4 + 0x924" identifier + number_literal)) ;) (expression_statement "pcStack_1ac = (code *)(*(int *)(pcVar37 + 0xdae88) + -0x2b48);" (assignment_expression "pcStack_1ac = (code *)(*(int *)(pcVar37 + 0xdae88) + -0x2b48)" identifier = (cast_expression "(code *)(*(int *)(pcVar37 + 0xdae88) + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar37 + 0xdae88) + -0x2b48)" ( (binary_expression "*(int *)(pcVar37 + 0xdae88) + -0x2b48" (pointer_expression "*(int *)(pcVar37 + 0xdae88)" * (cast_expression "(int *)(pcVar37 + 0xdae88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar37 + 0xdae88)" ( (binary_expression "pcVar37 + 0xdae88" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pSVar26 = (SessionInput *)(*(int *)(pcVar37 + 0xdaf0c) + 0x57e0);" (assignment_expression "pSVar26 = (SessionInput *)(*(int *)(pcVar37 + 0xdaf0c) + 0x57e0)" identifier = (cast_expression "(SessionInput *)(*(int *)(pcVar37 + 0xdaf0c) + 0x57e0)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar37 + 0xdaf0c) + 0x57e0)" ( (binary_expression "*(int *)(pcVar37 + 0xdaf0c) + 0x57e0" (pointer_expression "*(int *)(pcVar37 + 0xdaf0c)" * (cast_expression "(int *)(pcVar37 + 0xdaf0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar37 + 0xdaf0c)" ( (binary_expression "pcVar37 + 0xdaf0c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_1a8 = *(int *)(pcVar37 + 0xdaea0);" (assignment_expression "iStack_1a8 = *(int *)(pcVar37 + 0xdaea0)" identifier = (pointer_expression "*(int *)(pcVar37 + 0xdaea0)" * (cast_expression "(int *)(pcVar37 + 0xdaea0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar37 + 0xdaea0)" ( (binary_expression "pcVar37 + 0xdaea0" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000b5dac:\n    pSVar30 = (SessionInput *)0x1;" statement_identifier : (expression_statement "pSVar30 = (SessionInput *)0x1;" (assignment_expression "pSVar30 = (SessionInput *)0x1" identifier = (cast_expression "(SessionInput *)0x1" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pSVar34 = pSVar24;" (assignment_expression "pSVar34 = pSVar24" identifier = identifier) ;) (expression_statement "pcVar37 = pcStack_1c0;" (assignment_expression "pcVar37 = pcStack_1c0" identifier = identifier) ;) (labeled_statement "LAB_000b5db4:\n    while ((pSVar17 != (SessionInput *)0x0 &&\n           (*(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard) == '\0'))) {\n      pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      pSVar6 = (SessionInput *)0x0;\n      if ((int)nByte <= (int)pSVar34) goto LAB_000b5de4;\n    }" statement_identifier : (while_statement "while ((pSVar17 != (SessionInput *)0x0 &&\n           (*(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard) == '\0'))) {\n      pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      pSVar6 = (SessionInput *)0x0;\n      if ((int)nByte <= (int)pSVar34) goto LAB_000b5de4;\n    }" while (parenthesized_expression "((pSVar17 != (SessionInput *)0x0 &&\n           (*(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard) == '\0')))" ( (parenthesized_expression "(pSVar17 != (SessionInput *)0x0 &&\n           (*(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard) == '\0'))" ( (binary_expression "pSVar17 != (SessionInput *)0x0 &&\n           (*(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard) == '\0')" (binary_expression "pSVar17 != (SessionInput *)0x0" identifier != (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(*(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard) == '\0')" ( (binary_expression "*(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard) == '\0'" (pointer_expression "*(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard)" * (cast_expression "(u8 *)((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard)" ( (binary_expression "(int)&pSVar34->bNoDiscard + (int)&pSVar17->bNoDiscard" (cast_expression "(int)&pSVar34->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar34->bNoDiscard" & (field_expression "pSVar34->bNoDiscard" identifier -> field_identifier))) + (cast_expression "(int)&pSVar17->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar17->bNoDiscard" & (field_expression "pSVar17->bNoDiscard" identifier -> field_identifier)))) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) )) (compound_statement "{\n      pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      pSVar6 = (SessionInput *)0x0;\n      if ((int)nByte <= (int)pSVar34) goto LAB_000b5de4;\n    }" { (expression_statement "pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);" (assignment_expression "pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1)" identifier = (cast_expression "(SessionInput *)((int)&pSVar34->bNoDiscard + 1)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar34->bNoDiscard + 1)" ( (binary_expression "(int)&pSVar34->bNoDiscard + 1" (cast_expression "(int)&pSVar34->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar34->bNoDiscard" & (field_expression "pSVar34->bNoDiscard" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pSVar6 = (SessionInput *)0x0;" (assignment_expression "pSVar6 = (SessionInput *)0x0" identifier = (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((int)nByte <= (int)pSVar34) goto LAB_000b5de4;" if (parenthesized_expression "((int)nByte <= (int)pSVar34)" ( (binary_expression "(int)nByte <= (int)pSVar34" (cast_expression "(int)nByte" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pSVar34" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) }))) (expression_statement "abPK = (SessionInput *)&DAT_00000009;" (assignment_expression "abPK = (SessionInput *)&DAT_00000009" identifier = (cast_expression "(SessionInput *)&DAT_00000009" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) ;) (expression_statement "pSVar6 = (SessionInput *)sessionInputBuffer(pIn,9);" (assignment_expression "pSVar6 = (SessionInput *)sessionInputBuffer(pIn,9)" identifier = (cast_expression "(SessionInput *)sessionInputBuffer(pIn,9)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionInputBuffer(pIn,9)" identifier (argument_list "(pIn,9)" ( identifier , number_literal ))))) ;) (expression_statement "pcVar37 = pcStack_1c0;" (assignment_expression "pcVar37 = pcStack_1c0" identifier = identifier) ;) (if_statement "if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;" if (parenthesized_expression "(pSVar6 != (SessionInput *)0x0)" ( (binary_expression "pSVar6 != (SessionInput *)0x0" identifier != (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) (expression_statement "iVar11 = pIn->iNext;" (assignment_expression "iVar11 = pIn->iNext" identifier = (field_expression "pIn->iNext" identifier -> field_identifier)) ;) (expression_statement "abPK = (SessionInput *)(iVar11 + 1);" (assignment_expression "abPK = (SessionInput *)(iVar11 + 1)" identifier = (cast_expression "(SessionInput *)(iVar11 + 1)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 1)" ( (binary_expression "iVar11 + 1" identifier + number_literal) )))) ;) (if_statement "if (pIn->nData <= iVar11) {\n      piVar19 = (int *)0x300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      pSVar31 = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      abPK = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      pSVar6 = (SessionInput *)&DAT_0000000b;\n      pcVar37 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }" if (parenthesized_expression "(pIn->nData <= iVar11)" ( (binary_expression "pIn->nData <= iVar11" (field_expression "pIn->nData" identifier -> field_identifier) <= identifier) )) (compound_statement "{\n      piVar19 = (int *)0x300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      pSVar31 = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      abPK = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      pSVar6 = (SessionInput *)&DAT_0000000b;\n      pcVar37 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }" { (expression_statement "piVar19 = (int *)0x300ea;" (assignment_expression "piVar19 = (int *)0x300ea" identifier = (cast_expression "(int *)0x300ea" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;" statement_identifier : (expression_statement "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;" (assignment_expression "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c" identifier = (binary_expression "*(int *)(pcStack_1c0 + -0x7fc8) + 0x625c" (pointer_expression "*(int *)(pcStack_1c0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_1c0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7fc8)" ( (binary_expression "pcStack_1c0 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "pSVar31 = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);" (assignment_expression "pSVar31 = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64)" identifier = (cast_expression "(SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64" (pointer_expression "*(int *)(pcStack_1c0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_1c0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7fc4)" ( (binary_expression "pcStack_1c0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "abPK = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);" (assignment_expression "abPK = (SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378)" identifier = (cast_expression "(SessionInput *)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378" (pointer_expression "*(int *)(pcStack_1c0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_1c0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7fc4)" ( (binary_expression "pcStack_1c0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcStack_1c0 + -0x7d40))(0xb);" (call_expression "(**(code **)(pcStack_1c0 + -0x7d40))(0xb)" (parenthesized_expression "(**(code **)(pcStack_1c0 + -0x7d40))" ( (pointer_expression "**(code **)(pcStack_1c0 + -0x7d40)" * (pointer_expression "*(code **)(pcStack_1c0 + -0x7d40)" * (cast_expression "(code **)(pcStack_1c0 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c0 + -0x7d40)" ( (binary_expression "pcStack_1c0 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "pSVar6 = (SessionInput *)&DAT_0000000b;" (assignment_expression "pSVar6 = (SessionInput *)&DAT_0000000b" identifier = (cast_expression "(SessionInput *)&DAT_0000000b" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (expression_statement "pcVar37 = pcStack_1c0;" (assignment_expression "pcVar37 = pcStack_1c0" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "pIn->iNext = (int)abPK;" (assignment_expression "pIn->iNext = (int)abPK" (field_expression "pIn->iNext" identifier -> field_identifier) = (cast_expression "(int)abPK" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pcVar4 = (code *)(uint)pIn->aData[iVar11];" (assignment_expression "pcVar4 = (code *)(uint)pIn->aData[iVar11]" identifier = (cast_expression "(code *)(uint)pIn->aData[iVar11]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pIn->aData[iVar11]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pIn->aData[iVar11]" (field_expression "pIn->aData" identifier -> field_identifier) [ identifier ])))) ;) (if_statement "if (pcVar4 != (code *)0x0) {\n      piVar19 = (int *)&DAT_00000028;\n      pSVar31 = (SessionInput *)0x0;\n      pSVar16 = (SessionInput *)(piStack_1b4 + (int)pSVar34);\n      pSVar28 = (SessionInput *)(*pcStack_1b0)(0);\n      if (pSVar28 == (SessionInput *)0x0) {\n        pSVar6 = (SessionInput *)&DAT_00000007;\n        pSVar16->bNoDiscard = 0;\n        pcVar37 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)&pSVar28->iNext = 1;\n      pSVar28->xInput = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n      pSVar16->bNoDiscard = (int)pSVar28;\n      pSVar31 = (SessionInput *)pIn->iNext;\n      pdVar13 = (double *)(pIn->aData + (int)pSVar31);\n      if (pcVar4 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar13 < '\0') {\n          iVar11 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198);\n          pSVar31 = (SessionInput *)pIn->iNext;\n        }\n        else {\n          iVar11 = 1;\n          pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13;\n        }\n        pIn->iNext = (int)((int)&pSVar31->bNoDiscard + iVar11);\n        abPK = pSStack_198;\n        pSVar6 = (SessionInput *)sessionInputBuffer(pIn,(int)pSStack_198);\n        pSVar24 = pSStack_198;\n        pcVar37 = pcStack_1c0;\n        if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;\n        piVar19 = (int *)0x30000;\n        if (-1 < (int)pSStack_198) {\n          if ((int)pSStack_198 <= pIn->nData - pIn->iNext) {\n            pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;\n            pSVar16 = (SessionInput *)pIn->aData;\n            pSStack_1a4 = (SessionInput *)pIn->iNext;\n            pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();\n            pSVar31 = pSStack_1a4;\n            pSVar30 = pSVar24;\n            if (pSVar28 == (SessionInput *)0x0) {\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            pSVar6 = (SessionInput *)&DAT_00000007;\n            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n            pcVar37 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        piVar19 = (int *)0x300fd;\n        pSVar30 = pSStack_198;\n        goto LAB_000b5e90;\n      }\n      pSVar35 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      abPK = (SessionInput *)(uint)(pcVar4 + -1 < &SUB_00000002);\n      if (abPK != (SessionInput *)0x0) goto code_r0x000b6070;\n    }" if (parenthesized_expression "(pcVar4 != (code *)0x0)" ( (binary_expression "pcVar4 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar19 = (int *)&DAT_00000028;\n      pSVar31 = (SessionInput *)0x0;\n      pSVar16 = (SessionInput *)(piStack_1b4 + (int)pSVar34);\n      pSVar28 = (SessionInput *)(*pcStack_1b0)(0);\n      if (pSVar28 == (SessionInput *)0x0) {\n        pSVar6 = (SessionInput *)&DAT_00000007;\n        pSVar16->bNoDiscard = 0;\n        pcVar37 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)&pSVar28->iNext = 1;\n      pSVar28->xInput = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n      pSVar16->bNoDiscard = (int)pSVar28;\n      pSVar31 = (SessionInput *)pIn->iNext;\n      pdVar13 = (double *)(pIn->aData + (int)pSVar31);\n      if (pcVar4 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar13 < '\0') {\n          iVar11 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198);\n          pSVar31 = (SessionInput *)pIn->iNext;\n        }\n        else {\n          iVar11 = 1;\n          pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13;\n        }\n        pIn->iNext = (int)((int)&pSVar31->bNoDiscard + iVar11);\n        abPK = pSStack_198;\n        pSVar6 = (SessionInput *)sessionInputBuffer(pIn,(int)pSStack_198);\n        pSVar24 = pSStack_198;\n        pcVar37 = pcStack_1c0;\n        if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;\n        piVar19 = (int *)0x30000;\n        if (-1 < (int)pSStack_198) {\n          if ((int)pSStack_198 <= pIn->nData - pIn->iNext) {\n            pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;\n            pSVar16 = (SessionInput *)pIn->aData;\n            pSStack_1a4 = (SessionInput *)pIn->iNext;\n            pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();\n            pSVar31 = pSStack_1a4;\n            pSVar30 = pSVar24;\n            if (pSVar28 == (SessionInput *)0x0) {\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            pSVar6 = (SessionInput *)&DAT_00000007;\n            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n            pcVar37 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        piVar19 = (int *)0x300fd;\n        pSVar30 = pSStack_198;\n        goto LAB_000b5e90;\n      }\n      pSVar35 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n      abPK = (SessionInput *)(uint)(pcVar4 + -1 < &SUB_00000002);\n      if (abPK != (SessionInput *)0x0) goto code_r0x000b6070;\n    }" { (expression_statement "piVar19 = (int *)&DAT_00000028;" (assignment_expression "piVar19 = (int *)&DAT_00000028" identifier = (cast_expression "(int *)&DAT_00000028" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000028" & identifier))) ;) (expression_statement "pSVar31 = (SessionInput *)0x0;" (assignment_expression "pSVar31 = (SessionInput *)0x0" identifier = (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar16 = (SessionInput *)(piStack_1b4 + (int)pSVar34);" (assignment_expression "pSVar16 = (SessionInput *)(piStack_1b4 + (int)pSVar34)" identifier = (cast_expression "(SessionInput *)(piStack_1b4 + (int)pSVar34)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_1b4 + (int)pSVar34)" ( (binary_expression "piStack_1b4 + (int)pSVar34" identifier + (cast_expression "(int)pSVar34" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pSVar28 = (SessionInput *)(*pcStack_1b0)(0);" (assignment_expression "pSVar28 = (SessionInput *)(*pcStack_1b0)(0)" identifier = (cast_expression "(SessionInput *)(*pcStack_1b0)(0)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_1b0)(0)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (pSVar28 == (SessionInput *)0x0) {\n        pSVar6 = (SessionInput *)&DAT_00000007;\n        pSVar16->bNoDiscard = 0;\n        pcVar37 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }" if (parenthesized_expression "(pSVar28 == (SessionInput *)0x0)" ( (binary_expression "pSVar28 == (SessionInput *)0x0" identifier == (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pSVar6 = (SessionInput *)&DAT_00000007;\n        pSVar16->bNoDiscard = 0;\n        pcVar37 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }" { (expression_statement "pSVar6 = (SessionInput *)&DAT_00000007;" (assignment_expression "pSVar6 = (SessionInput *)&DAT_00000007" identifier = (cast_expression "(SessionInput *)&DAT_00000007" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "pSVar16->bNoDiscard = 0;" (assignment_expression "pSVar16->bNoDiscard = 0" (field_expression "pSVar16->bNoDiscard" identifier -> field_identifier) = number_literal) ;) (expression_statement "pcVar37 = pcStack_1c0;" (assignment_expression "pcVar37 = pcStack_1c0" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "*(undefined2 *)&pSVar28->iNext = 1;" (assignment_expression "*(undefined2 *)&pSVar28->iNext = 1" (pointer_expression "*(undefined2 *)&pSVar28->iNext" * (cast_expression "(undefined2 *)&pSVar28->iNext" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar28->iNext" & (field_expression "pSVar28->iNext" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pSVar28->xInput = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;" (assignment_expression "pSVar28->xInput = (_func_int_void_ptr_void_ptr_int_ptr *)0x0" (field_expression "pSVar28->xInput" identifier -> field_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)) ;) (expression_statement "pSVar16->bNoDiscard = (int)pSVar28;" (assignment_expression "pSVar16->bNoDiscard = (int)pSVar28" (field_expression "pSVar16->bNoDiscard" identifier -> field_identifier) = (cast_expression "(int)pSVar28" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pSVar31 = (SessionInput *)pIn->iNext;" (assignment_expression "pSVar31 = (SessionInput *)pIn->iNext" identifier = (cast_expression "(SessionInput *)pIn->iNext" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIn->iNext" identifier -> field_identifier))) ;) (expression_statement "pdVar13 = (double *)(pIn->aData + (int)pSVar31);" (assignment_expression "pdVar13 = (double *)(pIn->aData + (int)pSVar31)" identifier = (cast_expression "(double *)(pIn->aData + (int)pSVar31)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIn->aData + (int)pSVar31)" ( (binary_expression "pIn->aData + (int)pSVar31" (field_expression "pIn->aData" identifier -> field_identifier) + (cast_expression "(int)pSVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (pcVar4 + -3 < &SUB_00000002) {\n        if ((char)*(byte *)pdVar13 < '\0') {\n          iVar11 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198);\n          pSVar31 = (SessionInput *)pIn->iNext;\n        }\n        else {\n          iVar11 = 1;\n          pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13;\n        }\n        pIn->iNext = (int)((int)&pSVar31->bNoDiscard + iVar11);\n        abPK = pSStack_198;\n        pSVar6 = (SessionInput *)sessionInputBuffer(pIn,(int)pSStack_198);\n        pSVar24 = pSStack_198;\n        pcVar37 = pcStack_1c0;\n        if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;\n        piVar19 = (int *)0x30000;\n        if (-1 < (int)pSStack_198) {\n          if ((int)pSStack_198 <= pIn->nData - pIn->iNext) {\n            pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;\n            pSVar16 = (SessionInput *)pIn->aData;\n            pSStack_1a4 = (SessionInput *)pIn->iNext;\n            pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();\n            pSVar31 = pSStack_1a4;\n            pSVar30 = pSVar24;\n            if (pSVar28 == (SessionInput *)0x0) {\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            pSVar6 = (SessionInput *)&DAT_00000007;\n            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n            pcVar37 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        piVar19 = (int *)0x300fd;\n        pSVar30 = pSStack_198;\n        goto LAB_000b5e90;\n      }" if (parenthesized_expression "(pcVar4 + -3 < &SUB_00000002)" ( (binary_expression "pcVar4 + -3 < &SUB_00000002" (binary_expression "pcVar4 + -3" identifier + number_literal) < (pointer_expression "&SUB_00000002" & identifier)) )) (compound_statement "{\n        if ((char)*(byte *)pdVar13 < '\0') {\n          iVar11 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198);\n          pSVar31 = (SessionInput *)pIn->iNext;\n        }\n        else {\n          iVar11 = 1;\n          pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13;\n        }\n        pIn->iNext = (int)((int)&pSVar31->bNoDiscard + iVar11);\n        abPK = pSStack_198;\n        pSVar6 = (SessionInput *)sessionInputBuffer(pIn,(int)pSStack_198);\n        pSVar24 = pSStack_198;\n        pcVar37 = pcStack_1c0;\n        if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;\n        piVar19 = (int *)0x30000;\n        if (-1 < (int)pSStack_198) {\n          if ((int)pSStack_198 <= pIn->nData - pIn->iNext) {\n            pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;\n            pSVar16 = (SessionInput *)pIn->aData;\n            pSStack_1a4 = (SessionInput *)pIn->iNext;\n            pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();\n            pSVar31 = pSStack_1a4;\n            pSVar30 = pSVar24;\n            if (pSVar28 == (SessionInput *)0x0) {\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            pSVar6 = (SessionInput *)&DAT_00000007;\n            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n            pcVar37 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        piVar19 = (int *)0x300fd;\n        pSVar30 = pSStack_198;\n        goto LAB_000b5e90;\n      }" { (if_statement "if ((char)*(byte *)pdVar13 < '\0') {\n          iVar11 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198);\n          pSVar31 = (SessionInput *)pIn->iNext;\n        }\n        else {\n          iVar11 = 1;\n          pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13;\n        }" if (parenthesized_expression "((char)*(byte *)pdVar13 < '\0')" ( (binary_expression "(char)*(byte *)pdVar13 < '\0'" (cast_expression "(char)*(byte *)pdVar13" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)pdVar13" * (cast_expression "(byte *)pdVar13" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar11 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198);\n          pSVar31 = (SessionInput *)pIn->iNext;\n        }" { (expression_statement "iVar11 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198);" (assignment_expression "iVar11 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198)" identifier = (call_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))" ( (pointer_expression "*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388)" * (cast_expression "(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7d78) + 0x3388" (pointer_expression "*(int *)(pcStack_1c0 + -0x7d78)" * (cast_expression "(int *)(pcStack_1c0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7d78)" ( (binary_expression "pcStack_1c0 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pdVar13,&pSStack_198)" ( identifier , (pointer_expression "&pSStack_198" & identifier) )))) ;) (expression_statement "pSVar31 = (SessionInput *)pIn->iNext;" (assignment_expression "pSVar31 = (SessionInput *)pIn->iNext" identifier = (cast_expression "(SessionInput *)pIn->iNext" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIn->iNext" identifier -> field_identifier))) ;) }) (else_clause "else {\n          iVar11 = 1;\n          pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13;\n        }" else (compound_statement "{\n          iVar11 = 1;\n          pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13;\n        }" { (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13;" (assignment_expression "pSStack_198 = (SessionInput *)(uint)*(byte *)pdVar13" identifier = (binary_expression "(SessionInput *)(uint)*(byte *)pdVar13" (cast_expression "(SessionInput *)(uint)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)pdVar13" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (expression_statement "pIn->iNext = (int)((int)&pSVar31->bNoDiscard + iVar11);" (assignment_expression "pIn->iNext = (int)((int)&pSVar31->bNoDiscard + iVar11)" (field_expression "pIn->iNext" identifier -> field_identifier) = (cast_expression "(int)((int)&pSVar31->bNoDiscard + iVar11)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pSVar31->bNoDiscard + iVar11)" ( (binary_expression "(int)&pSVar31->bNoDiscard + iVar11" (cast_expression "(int)&pSVar31->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar31->bNoDiscard" & (field_expression "pSVar31->bNoDiscard" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "abPK = pSStack_198;" (assignment_expression "abPK = pSStack_198" identifier = identifier) ;) (expression_statement "pSVar6 = (SessionInput *)sessionInputBuffer(pIn,(int)pSStack_198);" (assignment_expression "pSVar6 = (SessionInput *)sessionInputBuffer(pIn,(int)pSStack_198)" identifier = (cast_expression "(SessionInput *)sessionInputBuffer(pIn,(int)pSStack_198)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionInputBuffer(pIn,(int)pSStack_198)" identifier (argument_list "(pIn,(int)pSStack_198)" ( identifier , (cast_expression "(int)pSStack_198" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;) (expression_statement "pSVar24 = pSStack_198;" (assignment_expression "pSVar24 = pSStack_198" identifier = identifier) ;) (expression_statement "pcVar37 = pcStack_1c0;" (assignment_expression "pcVar37 = pcStack_1c0" identifier = identifier) ;) (if_statement "if (pSVar6 != (SessionInput *)0x0) goto LAB_000b5de4;" if (parenthesized_expression "(pSVar6 != (SessionInput *)0x0)" ( (binary_expression "pSVar6 != (SessionInput *)0x0" identifier != (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) (expression_statement "piVar19 = (int *)0x30000;" (assignment_expression "piVar19 = (int *)0x30000" identifier = (cast_expression "(int *)0x30000" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (-1 < (int)pSStack_198) {\n          if ((int)pSStack_198 <= pIn->nData - pIn->iNext) {\n            pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;\n            pSVar16 = (SessionInput *)pIn->aData;\n            pSStack_1a4 = (SessionInput *)pIn->iNext;\n            pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();\n            pSVar31 = pSStack_1a4;\n            pSVar30 = pSVar24;\n            if (pSVar28 == (SessionInput *)0x0) {\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            pSVar6 = (SessionInput *)&DAT_00000007;\n            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n            pcVar37 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }" if (parenthesized_expression "(-1 < (int)pSStack_198)" ( (binary_expression "-1 < (int)pSStack_198" number_literal < (cast_expression "(int)pSStack_198" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          if ((int)pSStack_198 <= pIn->nData - pIn->iNext) {\n            pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;\n            pSVar16 = (SessionInput *)pIn->aData;\n            pSStack_1a4 = (SessionInput *)pIn->iNext;\n            pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();\n            pSVar31 = pSStack_1a4;\n            pSVar30 = pSVar24;\n            if (pSVar28 == (SessionInput *)0x0) {\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            pSVar6 = (SessionInput *)&DAT_00000007;\n            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n            pcVar37 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }" { (if_statement "if ((int)pSStack_198 <= pIn->nData - pIn->iNext) {\n            pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;\n            pSVar16 = (SessionInput *)pIn->aData;\n            pSStack_1a4 = (SessionInput *)pIn->iNext;\n            pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();\n            pSVar31 = pSStack_1a4;\n            pSVar30 = pSVar24;\n            if (pSVar28 == (SessionInput *)0x0) {\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            pSVar6 = (SessionInput *)&DAT_00000007;\n            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n            pcVar37 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }" if (parenthesized_expression "((int)pSStack_198 <= pIn->nData - pIn->iNext)" ( (binary_expression "(int)pSStack_198 <= pIn->nData - pIn->iNext" (cast_expression "(int)pSStack_198" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "pIn->nData - pIn->iNext" (field_expression "pIn->nData" identifier -> field_identifier) - (field_expression "pIn->iNext" identifier -> field_identifier))) )) (compound_statement "{\n            pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;\n            pSVar16 = (SessionInput *)pIn->aData;\n            pSStack_1a4 = (SessionInput *)pIn->iNext;\n            pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();\n            pSVar31 = pSStack_1a4;\n            pSVar30 = pSVar24;\n            if (pSVar28 == (SessionInput *)0x0) {\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            pSVar6 = (SessionInput *)&DAT_00000007;\n            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n            pcVar37 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }" { (expression_statement "pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard;" (assignment_expression "pSStack_1a0 = (SessionInput *)pSVar16->bNoDiscard" identifier = (cast_expression "(SessionInput *)pSVar16->bNoDiscard" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar16->bNoDiscard" identifier -> field_identifier))) ;) (expression_statement "pSVar16 = (SessionInput *)pIn->aData;" (assignment_expression "pSVar16 = (SessionInput *)pIn->aData" identifier = (cast_expression "(SessionInput *)pIn->aData" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIn->aData" identifier -> field_identifier))) ;) (expression_statement "pSStack_1a4 = (SessionInput *)pIn->iNext;" (assignment_expression "pSStack_1a4 = (SessionInput *)pIn->iNext" identifier = (cast_expression "(SessionInput *)pIn->iNext" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIn->iNext" identifier -> field_identifier))) ;) (expression_statement "pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))();" (assignment_expression "pSVar28 = (SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))()" identifier = (cast_expression "(SessionInput *)(**(code **)(pcStack_1c0 + -0x7d98))()" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1c0 + -0x7d98))()" (parenthesized_expression "(**(code **)(pcStack_1c0 + -0x7d98))" ( (pointer_expression "**(code **)(pcStack_1c0 + -0x7d98)" * (pointer_expression "*(code **)(pcStack_1c0 + -0x7d98)" * (cast_expression "(code **)(pcStack_1c0 + -0x7d98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c0 + -0x7d98)" ( (binary_expression "pcStack_1c0 + -0x7d98" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pSVar31 = pSStack_1a4;" (assignment_expression "pSVar31 = pSStack_1a4" identifier = identifier) ;) (expression_statement "pSVar30 = pSVar24;" (assignment_expression "pSVar30 = pSVar24" identifier = identifier) ;) (if_statement "if (pSVar28 == (SessionInput *)0x0) {\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }" if (parenthesized_expression "(pSVar28 == (SessionInput *)0x0)" ( (binary_expression "pSVar28 == (SessionInput *)0x0" identifier == (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);\n              pSStack_19c = pSVar28;\n              iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));\n              if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }" { (expression_statement "abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1);" (assignment_expression "abPK = (SessionInput *)((int)&pSVar24->bNoDiscard + 1)" identifier = (cast_expression "(SessionInput *)((int)&pSVar24->bNoDiscard + 1)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar24->bNoDiscard + 1)" ( (binary_expression "(int)&pSVar24->bNoDiscard + 1" (cast_expression "(int)&pSVar24->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar24->bNoDiscard" & (field_expression "pSVar24->bNoDiscard" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pSStack_19c = pSVar28;" (assignment_expression "pSStack_19c = pSVar28" identifier = identifier) ;) (expression_statement "iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f));" (assignment_expression "iVar11 = (*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f))" identifier = (call_expression "(*pcStack_1ac)((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f))" (parenthesized_expression "(*pcStack_1ac)" ( (pointer_expression "*pcStack_1ac" * identifier) )) (argument_list "((uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f))" ( (binary_expression "(uint)(abPK < pSVar24) + ((int)pSVar24 >> 0x1f)" (call_expression "(uint)(abPK < pSVar24)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(abPK < pSVar24)" ( (binary_expression "abPK < pSVar24" identifier < identifier) ))) + (parenthesized_expression "((int)pSVar24 >> 0x1f)" ( (binary_expression "(int)pSVar24 >> 0x1f" (cast_expression "(int)pSVar24" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (if_statement "if (iVar11 != 0) {\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n                pSVar31 = pSVar24;\n                uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));\n                if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }\n                pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);\n                pcStack_1c0 = pcVar37;\n                pSStack_198 = abPK;\n                if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }" { (expression_statement "pSVar31 = pSVar24;" (assignment_expression "pSVar31 = pSVar24" identifier = identifier) ;) (expression_statement "uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard));" (assignment_expression "uVar20 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard))" identifier = (call_expression "(**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard))" (parenthesized_expression "(**(code **)(pcStack_1c0 + -0x7af4))" ( (pointer_expression "**(code **)(pcStack_1c0 + -0x7af4)" * (pointer_expression "*(code **)(pcStack_1c0 + -0x7af4)" * (cast_expression "(code **)(pcStack_1c0 + -0x7af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c0 + -0x7af4)" ( (binary_expression "pcStack_1c0 + -0x7af4" identifier + number_literal) ))))) )) (argument_list "(iVar11,(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard))" ( identifier , (cast_expression "(u8 *)((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard)" ( (binary_expression "(int)&pSStack_1a4->bNoDiscard +\n                                                 (int)&pSVar16->bNoDiscard" (cast_expression "(int)&pSStack_1a4->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSStack_1a4->bNoDiscard" & (field_expression "pSStack_1a4->bNoDiscard" identifier -> field_identifier))) + (cast_expression "(int)&pSVar16->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar16->bNoDiscard" & (field_expression "pSVar16->bNoDiscard" identifier -> field_identifier)))) ))) )))) ;) (if_statement "if (pSStack_1a0 == (SessionInput *)0x0) {\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }\n                else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }" if (parenthesized_expression "(pSStack_1a0 == (SessionInput *)0x0)" ( (binary_expression "pSStack_1a0 == (SessionInput *)0x0" identifier == (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_19c;\n                  abPK = pSStack_198;\n                }" { (expression_statement "pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);" (assignment_expression "pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext)" (field_expression "pIn->iNext" identifier -> field_identifier) = (cast_expression "(int)((int)&pSStack_198->bNoDiscard + pIn->iNext)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pSStack_198->bNoDiscard + pIn->iNext)" ( (binary_expression "(int)&pSStack_198->bNoDiscard + pIn->iNext" (cast_expression "(int)&pSStack_198->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSStack_198->bNoDiscard" & (field_expression "pSStack_198->bNoDiscard" identifier -> field_identifier))) + (field_expression "pIn->iNext" identifier -> field_identifier)) )))) ;) (expression_statement "pcVar37 = pcStack_1c0;" (assignment_expression "pcVar37 = pcStack_1c0" identifier = identifier) ;) (expression_statement "pSVar6 = pSStack_19c;" (assignment_expression "pSVar6 = pSStack_19c" identifier = identifier) ;) (expression_statement "abPK = pSStack_198;" (assignment_expression "abPK = pSStack_198" identifier = identifier) ;) }) (else_clause "else {\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }" else (compound_statement "{\n                  pSStack_1a4 = pSStack_19c;\n                  piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  pSVar31 = pSVar24;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);\n                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);\n                  pcVar37 = pcStack_1c0;\n                  pSVar6 = pSStack_1a4;\n                  abPK = pSStack_198;\n                }" { (expression_statement "pSStack_1a4 = pSStack_19c;" (assignment_expression "pSStack_1a4 = pSStack_19c" identifier = identifier) ;) (expression_statement "piVar19 = (int *)(uint)(pcVar4 == (code *)0x3);" (assignment_expression "piVar19 = (int *)(uint)(pcVar4 == (code *)0x3)" identifier = (cast_expression "(int *)(uint)(pcVar4 == (code *)0x3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(pcVar4 == (code *)0x3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar4 == (code *)0x3)" ( (binary_expression "pcVar4 == (code *)0x3" identifier == (cast_expression "(code *)0x3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (expression_statement "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);" (assignment_expression "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4)" identifier = (pointer_expression "*(int *)(pcStack_1c0 + -0x7fb4)" * (cast_expression "(int *)(pcStack_1c0 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7fb4)" ( (binary_expression "pcStack_1c0 + -0x7fb4" identifier + number_literal) ))))) ;) (expression_statement "pSVar31 = pSVar24;" (assignment_expression "pSVar31 = pSVar24" identifier = identifier) ;) (expression_statement "(*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20);" (call_expression "(*(code *)(iStack_1a8 + -0x2aec))(pSStack_1a0,uVar20)" (parenthesized_expression "(*(code *)(iStack_1a8 + -0x2aec))" ( (pointer_expression "*(code *)(iStack_1a8 + -0x2aec)" * (cast_expression "(code *)(iStack_1a8 + -0x2aec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_1a8 + -0x2aec)" ( (binary_expression "iStack_1a8 + -0x2aec" identifier + number_literal) )))) )) (argument_list "(pSStack_1a0,uVar20)" ( identifier , identifier ))) ;) (expression_statement "pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);" (assignment_expression "pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext)" (field_expression "pIn->iNext" identifier -> field_identifier) = (cast_expression "(int)((int)&pSStack_198->bNoDiscard + pIn->iNext)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pSStack_198->bNoDiscard + pIn->iNext)" ( (binary_expression "(int)&pSStack_198->bNoDiscard + pIn->iNext" (cast_expression "(int)&pSStack_198->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSStack_198->bNoDiscard" & (field_expression "pSStack_198->bNoDiscard" identifier -> field_identifier))) + (field_expression "pIn->iNext" identifier -> field_identifier)) )))) ;) (expression_statement "pcVar37 = pcStack_1c0;" (assignment_expression "pcVar37 = pcStack_1c0" identifier = identifier) ;) (expression_statement "pSVar6 = pSStack_1a4;" (assignment_expression "pSVar6 = pSStack_1a4" identifier = identifier) ;) (expression_statement "abPK = pSStack_198;" (assignment_expression "abPK = pSStack_198" identifier = identifier) ;) }))) (expression_statement "pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);" (assignment_expression "pSVar24 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1)" identifier = (cast_expression "(SessionInput *)((int)&pSVar34->bNoDiscard + 1)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar34->bNoDiscard + 1)" ( (binary_expression "(int)&pSVar34->bNoDiscard + 1" (cast_expression "(int)&pSVar34->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar34->bNoDiscard" & (field_expression "pSVar34->bNoDiscard" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pcStack_1c0 = pcVar37;" (assignment_expression "pcStack_1c0 = pcVar37" identifier = identifier) ;) (expression_statement "pSStack_198 = abPK;" (assignment_expression "pSStack_198 = abPK" identifier = identifier) ;) (if_statement "if ((int)pSVar24 < (int)nByte) goto LAB_000b5dac;" if (parenthesized_expression "((int)pSVar24 < (int)nByte)" ( (binary_expression "(int)pSVar24 < (int)nByte" (cast_expression "(int)pSVar24" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)nByte" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b5dac;" goto statement_identifier ;)) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) })) (expression_statement "pSVar6 = (SessionInput *)&DAT_00000007;" (assignment_expression "pSVar6 = (SessionInput *)&DAT_00000007" identifier = (cast_expression "(SessionInput *)&DAT_00000007" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);" (assignment_expression "pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext)" (field_expression "pIn->iNext" identifier -> field_identifier) = (cast_expression "(int)((int)&pSStack_198->bNoDiscard + pIn->iNext)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pSStack_198->bNoDiscard + pIn->iNext)" ( (binary_expression "(int)&pSStack_198->bNoDiscard + pIn->iNext" (cast_expression "(int)&pSStack_198->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSStack_198->bNoDiscard" & (field_expression "pSStack_198->bNoDiscard" identifier -> field_identifier))) + (field_expression "pIn->iNext" identifier -> field_identifier)) )))) ;) (expression_statement "pcVar37 = pcStack_1c0;" (assignment_expression "pcVar37 = pcStack_1c0" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) })) (expression_statement "piVar19 = (int *)0x300fd;" (assignment_expression "piVar19 = (int *)0x300fd" identifier = (cast_expression "(int *)0x300fd" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar30 = pSStack_198;" (assignment_expression "pSVar30 = pSStack_198" identifier = identifier) ;) (goto_statement "goto LAB_000b5e90;" goto statement_identifier ;) })) (expression_statement "pSVar35 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);" (assignment_expression "pSVar35 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1)" identifier = (cast_expression "(SessionInput *)((int)&pSVar34->bNoDiscard + 1)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar34->bNoDiscard + 1)" ( (binary_expression "(int)&pSVar34->bNoDiscard + 1" (cast_expression "(int)&pSVar34->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar34->bNoDiscard" & (field_expression "pSVar34->bNoDiscard" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "abPK = (SessionInput *)(uint)(pcVar4 + -1 < &SUB_00000002);" (assignment_expression "abPK = (SessionInput *)(uint)(pcVar4 + -1 < &SUB_00000002)" identifier = (cast_expression "(SessionInput *)(uint)(pcVar4 + -1 < &SUB_00000002)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(pcVar4 + -1 < &SUB_00000002)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar4 + -1 < &SUB_00000002)" ( (binary_expression "pcVar4 + -1 < &SUB_00000002" (binary_expression "pcVar4 + -1" identifier + number_literal) < (pointer_expression "&SUB_00000002" & identifier)) ))))) ;) (if_statement "if (abPK != (SessionInput *)0x0) goto code_r0x000b6070;" if (parenthesized_expression "(abPK != (SessionInput *)0x0)" ( (binary_expression "abPK != (SessionInput *)0x0" identifier != (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto code_r0x000b6070;" goto statement_identifier ;)) })) (expression_statement "pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1);" (assignment_expression "pSVar34 = (SessionInput *)((int)&pSVar34->bNoDiscard + 1)" identifier = (cast_expression "(SessionInput *)((int)&pSVar34->bNoDiscard + 1)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar34->bNoDiscard + 1)" ( (binary_expression "(int)&pSVar34->bNoDiscard + 1" (cast_expression "(int)&pSVar34->bNoDiscard" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar34->bNoDiscard" & (field_expression "pSVar34->bNoDiscard" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pSVar24 = pSVar17;" (assignment_expression "pSVar24 = pSVar17" identifier = identifier) ;) (expression_statement "pSVar28 = nByte;" (assignment_expression "pSVar28 = nByte" identifier = identifier) ;) (expression_statement "pcVar37 = pcStack_1c0;" (assignment_expression "pcVar37 = pcStack_1c0" identifier = identifier) ;) (expression_statement "unaff_s8 = pIn;" (assignment_expression "unaff_s8 = pIn" identifier = identifier) ;) (if_statement "if ((int)nByte <= (int)pSVar34) goto LAB_000b5e64;" if (parenthesized_expression "((int)nByte <= (int)pSVar34)" ( (binary_expression "(int)nByte <= (int)pSVar34" (cast_expression "(int)nByte" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pSVar34" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b5e64;" goto statement_identifier ;)) (goto_statement "goto LAB_000b5db4;" goto statement_identifier ;) })) (labeled_statement "LAB_000b5e64:\n  pSVar6 = (SessionInput *)0x0;" statement_identifier : (expression_statement "pSVar6 = (SessionInput *)0x0;" (assignment_expression "pSVar6 = (SessionInput *)0x0" identifier = (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pSVar17 = pSVar24;" (assignment_expression "pSVar17 = pSVar24" identifier = identifier) ;) (expression_statement "nByte = pSVar28;" (assignment_expression "nByte = pSVar28" identifier = identifier) ;) (expression_statement "pcVar37 = pcStack_1c0;" (assignment_expression "pcVar37 = pcStack_1c0" identifier = identifier) ;) (expression_statement "pIn = unaff_s8;" (assignment_expression "pIn = unaff_s8" identifier = identifier) ;) (labeled_statement "LAB_000b5de4:\n  if (pSStack_18c == (SessionInput *)*piVar3) {\n    return (int)pSVar6;\n  }" statement_identifier : (if_statement "if (pSStack_18c == (SessionInput *)*piVar3) {\n    return (int)pSVar6;\n  }" if (parenthesized_expression "(pSStack_18c == (SessionInput *)*piVar3)" ( (binary_expression "pSStack_18c == (SessionInput *)*piVar3" identifier == (cast_expression "(SessionInput *)*piVar3" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar3" * identifier))) )) (compound_statement "{\n    return (int)pSVar6;\n  }" { (return_statement "return (int)pSVar6;" return (cast_expression "(int)pSVar6" ( (type_descriptor "int" primitive_type) ) identifier) ;) }))) (expression_statement "pcVar37 = *(code **)(pcVar37 + -0x7b28);" (assignment_expression "pcVar37 = *(code **)(pcVar37 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcVar37 + -0x7b28)" * (cast_expression "(code **)(pcVar37 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + -0x7b28)" ( (binary_expression "pcVar37 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar38 = sessionChangesetNext;" (assignment_expression "pcVar38 = sessionChangesetNext" identifier = identifier) ;) (expression_statement "pSVar24 = pSStack_18c;" (assignment_expression "pSVar24 = pSStack_18c" identifier = identifier) ;) (expression_statement "(*pcVar37)();" (call_expression "(*pcVar37)()" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar33 = *(int **)(pcVar37 + 0xdac9c);" (assignment_expression "piVar33 = *(int **)(pcVar37 + 0xdac9c)" identifier = (pointer_expression "*(int **)(pcVar37 + 0xdac9c)" * (cast_expression "(int **)(pcVar37 + 0xdac9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0xdac9c)" ( (binary_expression "pcVar37 + 0xdac9c" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = pSVar24[2].iCurrent;" (assignment_expression "iVar11 = pSVar24[2].iCurrent" identifier = (field_expression "pSVar24[2].iCurrent" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iStack_204 = *piVar33;" (assignment_expression "iStack_204 = *piVar33" identifier = (pointer_expression "*piVar33" * identifier)) ;) (expression_statement "pSStack_200 = pSVar17;" (assignment_expression "pSStack_200 = pSVar17" identifier = identifier) ;) (expression_statement "pSStack_1fc = pSVar26;" (assignment_expression "pSStack_1fc = pSVar26" identifier = identifier) ;) (expression_statement "pSStack_1f8 = nByte;" (assignment_expression "pSStack_1f8 = nByte" identifier = identifier) ;) (expression_statement "pSStack_1f4 = pSVar30;" (assignment_expression "pSStack_1f4 = pSVar30" identifier = identifier) ;) (expression_statement "pSStack_1f0 = pSVar16;" (assignment_expression "pSStack_1f0 = pSVar16" identifier = identifier) ;) (expression_statement "pcStack_1ec = pcVar4;" (assignment_expression "pcStack_1ec = pcVar4" identifier = identifier) ;) (expression_statement "piStack_1e8 = piVar3;" (assignment_expression "piStack_1e8 = piVar3" identifier = identifier) ;) (expression_statement "pSStack_1e4 = pSVar34;" (assignment_expression "pSStack_1e4 = pSVar34" identifier = identifier) ;) (expression_statement "pSStack_1e0 = pIn;" (assignment_expression "pSStack_1e0 = pIn" identifier = identifier) ;) (expression_statement "pcStack_1dc = pcVar38;" (assignment_expression "pcStack_1dc = pcVar38" identifier = identifier) ;) (if_statement "if (iVar11 != 0) {\n    p_Var32 = pSVar24[1].xInput;\n    iVar23 = 0;\n    if (0 < (int)p_Var32) {\n      iVar22 = *(int *)(pcVar37 + 0xdaa20);\n      do {\n        iVar7 = iVar23 * 4;\n        iVar23 = iVar23 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar11 + iVar7));\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = pSVar24[2].iCurrent;\n      } while (iVar23 < (int)p_Var32 << 1);\n    }\n    (**(code **)(pcVar37 + 0xdabd0))(iVar11,0,(int)p_Var32 << 3);\n  }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n    p_Var32 = pSVar24[1].xInput;\n    iVar23 = 0;\n    if (0 < (int)p_Var32) {\n      iVar22 = *(int *)(pcVar37 + 0xdaa20);\n      do {\n        iVar7 = iVar23 * 4;\n        iVar23 = iVar23 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar11 + iVar7));\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = pSVar24[2].iCurrent;\n      } while (iVar23 < (int)p_Var32 << 1);\n    }\n    (**(code **)(pcVar37 + 0xdabd0))(iVar11,0,(int)p_Var32 << 3);\n  }" { (expression_statement "p_Var32 = pSVar24[1].xInput;" (assignment_expression "p_Var32 = pSVar24[1].xInput" identifier = (field_expression "pSVar24[1].xInput" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)p_Var32) {\n      iVar22 = *(int *)(pcVar37 + 0xdaa20);\n      do {\n        iVar7 = iVar23 * 4;\n        iVar23 = iVar23 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar11 + iVar7));\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = pSVar24[2].iCurrent;\n      } while (iVar23 < (int)p_Var32 << 1);\n    }" if (parenthesized_expression "(0 < (int)p_Var32)" ( (binary_expression "0 < (int)p_Var32" number_literal < (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      iVar22 = *(int *)(pcVar37 + 0xdaa20);\n      do {\n        iVar7 = iVar23 * 4;\n        iVar23 = iVar23 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar11 + iVar7));\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = pSVar24[2].iCurrent;\n      } while (iVar23 < (int)p_Var32 << 1);\n    }" { (expression_statement "iVar22 = *(int *)(pcVar37 + 0xdaa20);" (assignment_expression "iVar22 = *(int *)(pcVar37 + 0xdaa20)" identifier = (pointer_expression "*(int *)(pcVar37 + 0xdaa20)" * (cast_expression "(int *)(pcVar37 + 0xdaa20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar37 + 0xdaa20)" ( (binary_expression "pcVar37 + 0xdaa20" identifier + number_literal) ))))) ;) (do_statement "do {\n        iVar7 = iVar23 * 4;\n        iVar23 = iVar23 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar11 + iVar7));\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = pSVar24[2].iCurrent;\n      } while (iVar23 < (int)p_Var32 << 1);" do (compound_statement "{\n        iVar7 = iVar23 * 4;\n        iVar23 = iVar23 + 1;\n        (*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar11 + iVar7));\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = pSVar24[2].iCurrent;\n      }" { (expression_statement "iVar7 = iVar23 * 4;" (assignment_expression "iVar7 = iVar23 * 4" identifier = (binary_expression "iVar23 * 4" identifier * number_literal)) ;) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar11 + iVar7));" (call_expression "(*(code *)(iVar22 + -0x18d4))(*(undefined4 *)(iVar11 + iVar7))" (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 *)(iVar11 + iVar7))" ( (pointer_expression "*(undefined4 *)(iVar11 + iVar7)" * (cast_expression "(undefined4 *)(iVar11 + iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar7)" ( (binary_expression "iVar11 + iVar7" identifier + identifier) )))) ))) ;) (expression_statement "p_Var32 = pSVar24[1].xInput;" (assignment_expression "p_Var32 = pSVar24[1].xInput" identifier = (field_expression "pSVar24[1].xInput" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar11 = pSVar24[2].iCurrent;" (assignment_expression "iVar11 = pSVar24[2].iCurrent" identifier = (field_expression "pSVar24[2].iCurrent" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier)) ;) }) while (parenthesized_expression "(iVar23 < (int)p_Var32 << 1)" ( (binary_expression "iVar23 < (int)p_Var32 << 1" identifier < (binary_expression "(int)p_Var32 << 1" (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) )) ;) })) (expression_statement "(**(code **)(pcVar37 + 0xdabd0))(iVar11,0,(int)p_Var32 << 3);" (call_expression "(**(code **)(pcVar37 + 0xdabd0))(iVar11,0,(int)p_Var32 << 3)" (parenthesized_expression "(**(code **)(pcVar37 + 0xdabd0))" ( (pointer_expression "**(code **)(pcVar37 + 0xdabd0)" * (pointer_expression "*(code **)(pcVar37 + 0xdabd0)" * (cast_expression "(code **)(pcVar37 + 0xdabd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0xdabd0)" ( (binary_expression "pcVar37 + 0xdabd0" identifier + number_literal) ))))) )) (argument_list "(iVar11,0,(int)p_Var32 << 3)" ( identifier , number_literal , (binary_expression "(int)p_Var32 << 3" (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))) ;) })) (expression_statement "puVar5 = (u8 *)sessionInputBuffer(pSVar24,2);" (assignment_expression "puVar5 = (u8 *)sessionInputBuffer(pSVar24,2)" identifier = (cast_expression "(u8 *)sessionInputBuffer(pSVar24,2)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionInputBuffer(pSVar24,2)" identifier (argument_list "(pSVar24,2)" ( identifier , number_literal ))))) ;) (expression_statement "pSVar24[1].buf.aBuf = puVar5;" (assignment_expression "pSVar24[1].buf.aBuf = puVar5" (field_expression "pSVar24[1].buf.aBuf" (field_expression "pSVar24[1].buf" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (puVar5 != (u8 *)0x0) goto LAB_000b6458;" if (parenthesized_expression "(puVar5 != (u8 *)0x0)" ( (binary_expression "puVar5 != (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 (pSVar24->nData <= pSVar24->iNext) {\nLAB_000b6494:\n    puVar5 = (u8 *)0x65;\n    goto LAB_000b6458;\n  }" if (parenthesized_expression "(pSVar24->nData <= pSVar24->iNext)" ( (binary_expression "pSVar24->nData <= pSVar24->iNext" (field_expression "pSVar24->nData" identifier -> field_identifier) <= (field_expression "pSVar24->iNext" identifier -> field_identifier)) )) (compound_statement "{\nLAB_000b6494:\n    puVar5 = (u8 *)0x65;\n    goto LAB_000b6458;\n  }" { (labeled_statement "LAB_000b6494:\n    puVar5 = (u8 *)0x65;" statement_identifier : (expression_statement "puVar5 = (u8 *)0x65;" (assignment_expression "puVar5 = (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 *)(pcVar37 + 0xdaa1c) + 0x27a4))(pSVar24);" (call_expression "(*(code *)(*(int *)(pcVar37 + 0xdaa1c) + 0x27a4))(pSVar24)" (parenthesized_expression "(*(code *)(*(int *)(pcVar37 + 0xdaa1c) + 0x27a4))" ( (pointer_expression "*(code *)(*(int *)(pcVar37 + 0xdaa1c) + 0x27a4)" * (cast_expression "(code *)(*(int *)(pcVar37 + 0xdaa1c) + 0x27a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar37 + 0xdaa1c) + 0x27a4)" ( (binary_expression "*(int *)(pcVar37 + 0xdaa1c) + 0x27a4" (pointer_expression "*(int *)(pcVar37 + 0xdaa1c)" * (cast_expression "(int *)(pcVar37 + 0xdaa1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar37 + 0xdaa1c)" ( (binary_expression "pcVar37 + 0xdaa1c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pSVar24)" ( identifier ))) ;) (expression_statement "iVar11 = pSVar24->iNext;" (assignment_expression "iVar11 = pSVar24->iNext" identifier = (field_expression "pSVar24->iNext" identifier -> field_identifier)) ;) (expression_statement "puVar5 = pSVar24->aData;" (assignment_expression "puVar5 = pSVar24->aData" identifier = (field_expression "pSVar24->aData" identifier -> field_identifier)) ;) (expression_statement "iVar23 = *(int *)(pcVar37 + 0xdaa20);" (assignment_expression "iVar23 = *(int *)(pcVar37 + 0xdaa20)" identifier = (pointer_expression "*(int *)(pcVar37 + 0xdaa20)" * (cast_expression "(int *)(pcVar37 + 0xdaa20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar37 + 0xdaa20)" ( (binary_expression "pcVar37 + 0xdaa20" identifier + number_literal) ))))) ;) (expression_statement "pSVar24->iCurrent = iVar11;" (assignment_expression "pSVar24->iCurrent = iVar11" (field_expression "pSVar24->iCurrent" identifier -> field_identifier) = identifier) ;) (expression_statement "pSVar24->iNext = iVar11 + 1;" (assignment_expression "pSVar24->iNext = iVar11 + 1" (field_expression "pSVar24->iNext" identifier -> field_identifier) = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = puVar5[iVar11];" (assignment_expression "bVar1 = puVar5[iVar11]" identifier = (subscript_expression "puVar5[iVar11]" identifier [ identifier ])) ;) (while_statement "while (puVar8 = (undefined1 *)(uint)bVar1, ((uint)puVar8 & 0xfb) == 0x50) {\n    if (piVar19 != (int *)0x0) {\n      *piVar19 = 1;\n    }\n    pSVar24[1].aData = (u8 *)(uint)(puVar8 == (undefined1 *)0x50);\n    puStack_20c = (u8 *)sessionChangesetBufferTblhdr(pSVar24,&iStack_208);\n    if (puStack_20c != (u8 *)0x0) {\nLAB_000b6434:\n      p_Var32 = pSVar24[1].xInput;\n      iVar11 = pSVar24[1].bNoDiscard;\n      pSVar24[1].buf.aBuf = puStack_20c;\n      pSVar24[2].iCurrent = iVar11;\n      iVar11 = iVar11 + (int)p_Var32 * 8;\n      pSVar24[2].bNoDiscard = iVar11;\n      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n      puVar5 = puStack_20c;\n      goto LAB_000b6458;\n    }\n    bVar1 = pSVar24->aData[pSVar24->iNext];\n    p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar11 = (*(code *)(iVar23 + 0x3388))(pSVar24->aData + pSVar24->iNext,&pSVar24[1].xInput);\n      p_Var32 = pSVar24[1].xInput;\n    }\n    else {\n      iVar11 = 1;\n      pSVar24[1].xInput = p_Var32;\n    }\n    if ((int)p_Var32 < 1) {\n      (**(code **)(pcVar37 + 0xdaa58))\n                (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar37 + 0xda7d0) + 0x625c);\n      puVar5 = (u8 *)0xb;\n      p_Var32 = pSVar24[1].xInput;\n      iVar11 = pSVar24[1].bNoDiscard;\n      pSVar24[1].buf.aBuf = (u8 *)0xb;\n      pSVar24[2].iCurrent = iVar11;\n      iVar11 = iVar11 + (int)p_Var32 * 8;\n      pSVar24[2].bNoDiscard = iVar11;\n      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n      goto LAB_000b6458;\n    }\n    iVar22 = pSVar24->iNext;\n    pSVar24[1].iCurrent = 0;\n    iStack_208 = iStack_208 - iVar11;\n    pSVar24->iNext = iVar22 + iVar11;\n    sessionBufferGrow((SessionBuffer *)(pSVar24 + 1),(int)p_Var32 * 8 + iStack_208,\n                      (int *)&puStack_20c);\n    if (puStack_20c != (u8 *)0x0) goto LAB_000b6434;\n    iVar11 = (int)pSVar24[1].xInput * 8;\n    (**(code **)(pcVar37 + 0xdabd0))(pSVar24[1].bNoDiscard,0,iVar11);\n    (**(code **)(pcVar37 + 0xdaca4))\n              (pSVar24[1].bNoDiscard + iVar11,pSVar24->aData + pSVar24->iNext,iStack_208);\n    p_Var32 = pSVar24[1].xInput;\n    iVar22 = pSVar24->iNext;\n    iVar11 = pSVar24[1].bNoDiscard + (int)p_Var32 * 8;\n    pSVar24[2].iCurrent = pSVar24[1].bNoDiscard;\n    pSVar24[2].bNoDiscard = iVar11;\n    pSVar24[1].buf.aBuf = puStack_20c;\n    pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n    pSVar24->iNext = iVar22 + iStack_208;\n    puVar5 = puStack_20c;\n    if (puStack_20c != (u8 *)0x0) goto LAB_000b6458;\n    puVar5 = (u8 *)sessionInputBuffer(pSVar24,2);\n    pSVar24[1].buf.aBuf = puVar5;\n    if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n    iVar11 = pSVar24->iNext;\n    pSVar24->iCurrent = iVar11;\n    if (pSVar24->nData <= iVar11) goto LAB_000b6494;\n    puVar5 = pSVar24->aData;\n    pSVar24->iNext = iVar11 + 1;\n    bVar1 = puVar5[iVar11];\n  }" while (parenthesized_expression "(puVar8 = (undefined1 *)(uint)bVar1, ((uint)puVar8 & 0xfb) == 0x50)" ( (comma_expression "puVar8 = (undefined1 *)(uint)bVar1, ((uint)puVar8 & 0xfb) == 0x50" (assignment_expression "puVar8 = (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)puVar8 & 0xfb) == 0x50" (parenthesized_expression "((uint)puVar8 & 0xfb)" ( (binary_expression "(uint)puVar8 & 0xfb" (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal)) )) (compound_statement "{\n    if (piVar19 != (int *)0x0) {\n      *piVar19 = 1;\n    }\n    pSVar24[1].aData = (u8 *)(uint)(puVar8 == (undefined1 *)0x50);\n    puStack_20c = (u8 *)sessionChangesetBufferTblhdr(pSVar24,&iStack_208);\n    if (puStack_20c != (u8 *)0x0) {\nLAB_000b6434:\n      p_Var32 = pSVar24[1].xInput;\n      iVar11 = pSVar24[1].bNoDiscard;\n      pSVar24[1].buf.aBuf = puStack_20c;\n      pSVar24[2].iCurrent = iVar11;\n      iVar11 = iVar11 + (int)p_Var32 * 8;\n      pSVar24[2].bNoDiscard = iVar11;\n      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n      puVar5 = puStack_20c;\n      goto LAB_000b6458;\n    }\n    bVar1 = pSVar24->aData[pSVar24->iNext];\n    p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar11 = (*(code *)(iVar23 + 0x3388))(pSVar24->aData + pSVar24->iNext,&pSVar24[1].xInput);\n      p_Var32 = pSVar24[1].xInput;\n    }\n    else {\n      iVar11 = 1;\n      pSVar24[1].xInput = p_Var32;\n    }\n    if ((int)p_Var32 < 1) {\n      (**(code **)(pcVar37 + 0xdaa58))\n                (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar37 + 0xda7d0) + 0x625c);\n      puVar5 = (u8 *)0xb;\n      p_Var32 = pSVar24[1].xInput;\n      iVar11 = pSVar24[1].bNoDiscard;\n      pSVar24[1].buf.aBuf = (u8 *)0xb;\n      pSVar24[2].iCurrent = iVar11;\n      iVar11 = iVar11 + (int)p_Var32 * 8;\n      pSVar24[2].bNoDiscard = iVar11;\n      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n      goto LAB_000b6458;\n    }\n    iVar22 = pSVar24->iNext;\n    pSVar24[1].iCurrent = 0;\n    iStack_208 = iStack_208 - iVar11;\n    pSVar24->iNext = iVar22 + iVar11;\n    sessionBufferGrow((SessionBuffer *)(pSVar24 + 1),(int)p_Var32 * 8 + iStack_208,\n                      (int *)&puStack_20c);\n    if (puStack_20c != (u8 *)0x0) goto LAB_000b6434;\n    iVar11 = (int)pSVar24[1].xInput * 8;\n    (**(code **)(pcVar37 + 0xdabd0))(pSVar24[1].bNoDiscard,0,iVar11);\n    (**(code **)(pcVar37 + 0xdaca4))\n              (pSVar24[1].bNoDiscard + iVar11,pSVar24->aData + pSVar24->iNext,iStack_208);\n    p_Var32 = pSVar24[1].xInput;\n    iVar22 = pSVar24->iNext;\n    iVar11 = pSVar24[1].bNoDiscard + (int)p_Var32 * 8;\n    pSVar24[2].iCurrent = pSVar24[1].bNoDiscard;\n    pSVar24[2].bNoDiscard = iVar11;\n    pSVar24[1].buf.aBuf = puStack_20c;\n    pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n    pSVar24->iNext = iVar22 + iStack_208;\n    puVar5 = puStack_20c;\n    if (puStack_20c != (u8 *)0x0) goto LAB_000b6458;\n    puVar5 = (u8 *)sessionInputBuffer(pSVar24,2);\n    pSVar24[1].buf.aBuf = puVar5;\n    if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n    iVar11 = pSVar24->iNext;\n    pSVar24->iCurrent = iVar11;\n    if (pSVar24->nData <= iVar11) goto LAB_000b6494;\n    puVar5 = pSVar24->aData;\n    pSVar24->iNext = iVar11 + 1;\n    bVar1 = puVar5[iVar11];\n  }" { (if_statement "if (piVar19 != (int *)0x0) {\n      *piVar19 = 1;\n    }" if (parenthesized_expression "(piVar19 != (int *)0x0)" ( (binary_expression "piVar19 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *piVar19 = 1;\n    }" { (expression_statement "*piVar19 = 1;" (assignment_expression "*piVar19 = 1" (pointer_expression "*piVar19" * identifier) = number_literal) ;) })) (expression_statement "pSVar24[1].aData = (u8 *)(uint)(puVar8 == (undefined1 *)0x50);" (assignment_expression "pSVar24[1].aData = (u8 *)(uint)(puVar8 == (undefined1 *)0x50)" (field_expression "pSVar24[1].aData" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(u8 *)(uint)(puVar8 == (undefined1 *)0x50)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(puVar8 == (undefined1 *)0x50)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar8 == (undefined1 *)0x50)" ( (binary_expression "puVar8 == (undefined1 *)0x50" identifier == (cast_expression "(undefined1 *)0x50" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (expression_statement "puStack_20c = (u8 *)sessionChangesetBufferTblhdr(pSVar24,&iStack_208);" (assignment_expression "puStack_20c = (u8 *)sessionChangesetBufferTblhdr(pSVar24,&iStack_208)" identifier = (cast_expression "(u8 *)sessionChangesetBufferTblhdr(pSVar24,&iStack_208)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionChangesetBufferTblhdr(pSVar24,&iStack_208)" identifier (argument_list "(pSVar24,&iStack_208)" ( identifier , (pointer_expression "&iStack_208" & identifier) ))))) ;) (if_statement "if (puStack_20c != (u8 *)0x0) {\nLAB_000b6434:\n      p_Var32 = pSVar24[1].xInput;\n      iVar11 = pSVar24[1].bNoDiscard;\n      pSVar24[1].buf.aBuf = puStack_20c;\n      pSVar24[2].iCurrent = iVar11;\n      iVar11 = iVar11 + (int)p_Var32 * 8;\n      pSVar24[2].bNoDiscard = iVar11;\n      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n      puVar5 = puStack_20c;\n      goto LAB_000b6458;\n    }" if (parenthesized_expression "(puStack_20c != (u8 *)0x0)" ( (binary_expression "puStack_20c != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000b6434:\n      p_Var32 = pSVar24[1].xInput;\n      iVar11 = pSVar24[1].bNoDiscard;\n      pSVar24[1].buf.aBuf = puStack_20c;\n      pSVar24[2].iCurrent = iVar11;\n      iVar11 = iVar11 + (int)p_Var32 * 8;\n      pSVar24[2].bNoDiscard = iVar11;\n      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n      puVar5 = puStack_20c;\n      goto LAB_000b6458;\n    }" { (labeled_statement "LAB_000b6434:\n      p_Var32 = pSVar24[1].xInput;" statement_identifier : (expression_statement "p_Var32 = pSVar24[1].xInput;" (assignment_expression "p_Var32 = pSVar24[1].xInput" identifier = (field_expression "pSVar24[1].xInput" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;)) (expression_statement "iVar11 = pSVar24[1].bNoDiscard;" (assignment_expression "iVar11 = pSVar24[1].bNoDiscard" identifier = (field_expression "pSVar24[1].bNoDiscard" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pSVar24[1].buf.aBuf = puStack_20c;" (assignment_expression "pSVar24[1].buf.aBuf = puStack_20c" (field_expression "pSVar24[1].buf.aBuf" (field_expression "pSVar24[1].buf" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "pSVar24[2].iCurrent = iVar11;" (assignment_expression "pSVar24[2].iCurrent = iVar11" (field_expression "pSVar24[2].iCurrent" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "iVar11 = iVar11 + (int)p_Var32 * 8;" (assignment_expression "iVar11 = iVar11 + (int)p_Var32 * 8" identifier = (binary_expression "iVar11 + (int)p_Var32 * 8" identifier + (binary_expression "(int)p_Var32 * 8" (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "pSVar24[2].bNoDiscard = iVar11;" (assignment_expression "pSVar24[2].bNoDiscard = iVar11" (field_expression "pSVar24[2].bNoDiscard" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);" (assignment_expression "pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11)" (field_expression "pSVar24[1].buf.nAlloc" (field_expression "pSVar24[1].buf" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(int)(p_Var32 + iVar11)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_Var32 + iVar11)" ( (binary_expression "p_Var32 + iVar11" identifier + identifier) )))) ;) (expression_statement "puVar5 = puStack_20c;" (assignment_expression "puVar5 = puStack_20c" identifier = identifier) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "bVar1 = pSVar24->aData[pSVar24->iNext];" (assignment_expression "bVar1 = pSVar24->aData[pSVar24->iNext]" identifier = (subscript_expression "pSVar24->aData[pSVar24->iNext]" (field_expression "pSVar24->aData" identifier -> field_identifier) [ (field_expression "pSVar24->iNext" identifier -> field_identifier) ])) ;) (expression_statement "p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)(uint)bVar1;" (assignment_expression "p_Var32 = (_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      iVar11 = (*(code *)(iVar23 + 0x3388))(pSVar24->aData + pSVar24->iNext,&pSVar24[1].xInput);\n      p_Var32 = pSVar24[1].xInput;\n    }\n    else {\n      iVar11 = 1;\n      pSVar24[1].xInput = p_Var32;\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      iVar11 = (*(code *)(iVar23 + 0x3388))(pSVar24->aData + pSVar24->iNext,&pSVar24[1].xInput);\n      p_Var32 = pSVar24[1].xInput;\n    }" { (expression_statement "iVar11 = (*(code *)(iVar23 + 0x3388))(pSVar24->aData + pSVar24->iNext,&pSVar24[1].xInput);" (assignment_expression "iVar11 = (*(code *)(iVar23 + 0x3388))(pSVar24->aData + pSVar24->iNext,&pSVar24[1].xInput)" identifier = (call_expression "(*(code *)(iVar23 + 0x3388))(pSVar24->aData + pSVar24->iNext,&pSVar24[1].xInput)" (parenthesized_expression "(*(code *)(iVar23 + 0x3388))" ( (pointer_expression "*(code *)(iVar23 + 0x3388)" * (cast_expression "(code *)(iVar23 + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x3388)" ( (binary_expression "iVar23 + 0x3388" identifier + number_literal) )))) )) (argument_list "(pSVar24->aData + pSVar24->iNext,&pSVar24[1].xInput)" ( (binary_expression "pSVar24->aData + pSVar24->iNext" (field_expression "pSVar24->aData" identifier -> field_identifier) + (field_expression "pSVar24->iNext" identifier -> field_identifier)) , (pointer_expression "&pSVar24[1].xInput" & (field_expression "pSVar24[1].xInput" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) )))) ;) (expression_statement "p_Var32 = pSVar24[1].xInput;" (assignment_expression "p_Var32 = pSVar24[1].xInput" identifier = (field_expression "pSVar24[1].xInput" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;) }) (else_clause "else {\n      iVar11 = 1;\n      pSVar24[1].xInput = p_Var32;\n    }" else (compound_statement "{\n      iVar11 = 1;\n      pSVar24[1].xInput = p_Var32;\n    }" { (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "pSVar24[1].xInput = p_Var32;" (assignment_expression "pSVar24[1].xInput = p_Var32" (field_expression "pSVar24[1].xInput" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) }))) (if_statement "if ((int)p_Var32 < 1) {\n      (**(code **)(pcVar37 + 0xdaa58))\n                (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar37 + 0xda7d0) + 0x625c);\n      puVar5 = (u8 *)0xb;\n      p_Var32 = pSVar24[1].xInput;\n      iVar11 = pSVar24[1].bNoDiscard;\n      pSVar24[1].buf.aBuf = (u8 *)0xb;\n      pSVar24[2].iCurrent = iVar11;\n      iVar11 = iVar11 + (int)p_Var32 * 8;\n      pSVar24[2].bNoDiscard = iVar11;\n      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n      goto LAB_000b6458;\n    }" if (parenthesized_expression "((int)p_Var32 < 1)" ( (binary_expression "(int)p_Var32 < 1" (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      (**(code **)(pcVar37 + 0xdaa58))\n                (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar37 + 0xda7d0) + 0x625c);\n      puVar5 = (u8 *)0xb;\n      p_Var32 = pSVar24[1].xInput;\n      iVar11 = pSVar24[1].bNoDiscard;\n      pSVar24[1].buf.aBuf = (u8 *)0xb;\n      pSVar24[2].iCurrent = iVar11;\n      iVar11 = iVar11 + (int)p_Var32 * 8;\n      pSVar24[2].bNoDiscard = iVar11;\n      pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);\n      goto LAB_000b6458;\n    }" { (expression_statement "(**(code **)(pcVar37 + 0xdaa58))\n                (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar37 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(pcVar37 + 0xdaa58))\n                (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar37 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(pcVar37 + 0xdaa58))" ( (pointer_expression "**(code **)(pcVar37 + 0xdaa58)" * (pointer_expression "*(code **)(pcVar37 + 0xdaa58)" * (cast_expression "(code **)(pcVar37 + 0xdaa58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0xdaa58)" ( (binary_expression "pcVar37 + 0xdaa58" identifier + number_literal) ))))) )) (argument_list "(0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar37 + 0xda7d0) + 0x625c)" ( number_literal , (binary_expression "*(int *)(pcVar37 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(pcVar37 + 0xda7d4)" * (cast_expression "(int *)(pcVar37 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar37 + 0xda7d4)" ( (binary_expression "pcVar37 + 0xda7d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar37 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(pcVar37 + 0xda7d4)" * (cast_expression "(int *)(pcVar37 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar37 + 0xda7d4)" ( (binary_expression "pcVar37 + 0xda7d4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar37 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(pcVar37 + 0xda7d0)" * (cast_expression "(int *)(pcVar37 + 0xda7d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar37 + 0xda7d0)" ( (binary_expression "pcVar37 + 0xda7d0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar5 = (u8 *)0xb;" (assignment_expression "puVar5 = (u8 *)0xb" identifier = (cast_expression "(u8 *)0xb" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p_Var32 = pSVar24[1].xInput;" (assignment_expression "p_Var32 = pSVar24[1].xInput" identifier = (field_expression "pSVar24[1].xInput" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar11 = pSVar24[1].bNoDiscard;" (assignment_expression "iVar11 = pSVar24[1].bNoDiscard" identifier = (field_expression "pSVar24[1].bNoDiscard" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pSVar24[1].buf.aBuf = (u8 *)0xb;" (assignment_expression "pSVar24[1].buf.aBuf = (u8 *)0xb" (field_expression "pSVar24[1].buf.aBuf" (field_expression "pSVar24[1].buf" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(u8 *)0xb" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar24[2].iCurrent = iVar11;" (assignment_expression "pSVar24[2].iCurrent = iVar11" (field_expression "pSVar24[2].iCurrent" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "iVar11 = iVar11 + (int)p_Var32 * 8;" (assignment_expression "iVar11 = iVar11 + (int)p_Var32 * 8" identifier = (binary_expression "iVar11 + (int)p_Var32 * 8" identifier + (binary_expression "(int)p_Var32 * 8" (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "pSVar24[2].bNoDiscard = iVar11;" (assignment_expression "pSVar24[2].bNoDiscard = iVar11" (field_expression "pSVar24[2].bNoDiscard" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);" (assignment_expression "pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11)" (field_expression "pSVar24[1].buf.nAlloc" (field_expression "pSVar24[1].buf" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(int)(p_Var32 + iVar11)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_Var32 + iVar11)" ( (binary_expression "p_Var32 + iVar11" identifier + identifier) )))) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "iVar22 = pSVar24->iNext;" (assignment_expression "iVar22 = pSVar24->iNext" identifier = (field_expression "pSVar24->iNext" identifier -> field_identifier)) ;) (expression_statement "pSVar24[1].iCurrent = 0;" (assignment_expression "pSVar24[1].iCurrent = 0" (field_expression "pSVar24[1].iCurrent" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "iStack_208 = iStack_208 - iVar11;" (assignment_expression "iStack_208 = iStack_208 - iVar11" identifier = (binary_expression "iStack_208 - iVar11" identifier - identifier)) ;) (expression_statement "pSVar24->iNext = iVar22 + iVar11;" (assignment_expression "pSVar24->iNext = iVar22 + iVar11" (field_expression "pSVar24->iNext" identifier -> field_identifier) = (binary_expression "iVar22 + iVar11" identifier + identifier)) ;) (expression_statement "sessionBufferGrow((SessionBuffer *)(pSVar24 + 1),(int)p_Var32 * 8 + iStack_208,\n                      (int *)&puStack_20c);" (call_expression "sessionBufferGrow((SessionBuffer *)(pSVar24 + 1),(int)p_Var32 * 8 + iStack_208,\n                      (int *)&puStack_20c)" identifier (argument_list "((SessionBuffer *)(pSVar24 + 1),(int)p_Var32 * 8 + iStack_208,\n                      (int *)&puStack_20c)" ( (cast_expression "(SessionBuffer *)(pSVar24 + 1)" ( (type_descriptor "SessionBuffer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar24 + 1)" ( (binary_expression "pSVar24 + 1" identifier + number_literal) ))) , (binary_expression "(int)p_Var32 * 8 + iStack_208" (binary_expression "(int)p_Var32 * 8" (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + identifier) , (cast_expression "(int *)&puStack_20c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&puStack_20c" & identifier)) ))) ;) (if_statement "if (puStack_20c != (u8 *)0x0) goto LAB_000b6434;" if (parenthesized_expression "(puStack_20c != (u8 *)0x0)" ( (binary_expression "puStack_20c != (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 "iVar11 = (int)pSVar24[1].xInput * 8;" (assignment_expression "iVar11 = (int)pSVar24[1].xInput * 8" identifier = (binary_expression "(int)pSVar24[1].xInput * 8" (cast_expression "(int)pSVar24[1].xInput" ( (type_descriptor "int" primitive_type) ) (field_expression "pSVar24[1].xInput" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) * number_literal)) ;) (expression_statement "(**(code **)(pcVar37 + 0xdabd0))(pSVar24[1].bNoDiscard,0,iVar11);" (call_expression "(**(code **)(pcVar37 + 0xdabd0))(pSVar24[1].bNoDiscard,0,iVar11)" (parenthesized_expression "(**(code **)(pcVar37 + 0xdabd0))" ( (pointer_expression "**(code **)(pcVar37 + 0xdabd0)" * (pointer_expression "*(code **)(pcVar37 + 0xdabd0)" * (cast_expression "(code **)(pcVar37 + 0xdabd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0xdabd0)" ( (binary_expression "pcVar37 + 0xdabd0" identifier + number_literal) ))))) )) (argument_list "(pSVar24[1].bNoDiscard,0,iVar11)" ( (field_expression "pSVar24[1].bNoDiscard" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) , number_literal , identifier ))) ;) (expression_statement "(**(code **)(pcVar37 + 0xdaca4))\n              (pSVar24[1].bNoDiscard + iVar11,pSVar24->aData + pSVar24->iNext,iStack_208);" (call_expression "(**(code **)(pcVar37 + 0xdaca4))\n              (pSVar24[1].bNoDiscard + iVar11,pSVar24->aData + pSVar24->iNext,iStack_208)" (parenthesized_expression "(**(code **)(pcVar37 + 0xdaca4))" ( (pointer_expression "**(code **)(pcVar37 + 0xdaca4)" * (pointer_expression "*(code **)(pcVar37 + 0xdaca4)" * (cast_expression "(code **)(pcVar37 + 0xdaca4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0xdaca4)" ( (binary_expression "pcVar37 + 0xdaca4" identifier + number_literal) ))))) )) (argument_list "(pSVar24[1].bNoDiscard + iVar11,pSVar24->aData + pSVar24->iNext,iStack_208)" ( (binary_expression "pSVar24[1].bNoDiscard + iVar11" (field_expression "pSVar24[1].bNoDiscard" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) + identifier) , (binary_expression "pSVar24->aData + pSVar24->iNext" (field_expression "pSVar24->aData" identifier -> field_identifier) + (field_expression "pSVar24->iNext" identifier -> field_identifier)) , identifier ))) ;) (expression_statement "p_Var32 = pSVar24[1].xInput;" (assignment_expression "p_Var32 = pSVar24[1].xInput" identifier = (field_expression "pSVar24[1].xInput" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar22 = pSVar24->iNext;" (assignment_expression "iVar22 = pSVar24->iNext" identifier = (field_expression "pSVar24->iNext" identifier -> field_identifier)) ;) (expression_statement "iVar11 = pSVar24[1].bNoDiscard + (int)p_Var32 * 8;" (assignment_expression "iVar11 = pSVar24[1].bNoDiscard + (int)p_Var32 * 8" identifier = (binary_expression "pSVar24[1].bNoDiscard + (int)p_Var32 * 8" (field_expression "pSVar24[1].bNoDiscard" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) + (binary_expression "(int)p_Var32 * 8" (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "pSVar24[2].iCurrent = pSVar24[1].bNoDiscard;" (assignment_expression "pSVar24[2].iCurrent = pSVar24[1].bNoDiscard" (field_expression "pSVar24[2].iCurrent" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier) = (field_expression "pSVar24[1].bNoDiscard" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pSVar24[2].bNoDiscard = iVar11;" (assignment_expression "pSVar24[2].bNoDiscard = iVar11" (field_expression "pSVar24[2].bNoDiscard" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pSVar24[1].buf.aBuf = puStack_20c;" (assignment_expression "pSVar24[1].buf.aBuf = puStack_20c" (field_expression "pSVar24[1].buf.aBuf" (field_expression "pSVar24[1].buf" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11);" (assignment_expression "pSVar24[1].buf.nAlloc = (int)(p_Var32 + iVar11)" (field_expression "pSVar24[1].buf.nAlloc" (field_expression "pSVar24[1].buf" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(int)(p_Var32 + iVar11)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_Var32 + iVar11)" ( (binary_expression "p_Var32 + iVar11" identifier + identifier) )))) ;) (expression_statement "pSVar24->iNext = iVar22 + iStack_208;" (assignment_expression "pSVar24->iNext = iVar22 + iStack_208" (field_expression "pSVar24->iNext" identifier -> field_identifier) = (binary_expression "iVar22 + iStack_208" identifier + identifier)) ;) (expression_statement "puVar5 = puStack_20c;" (assignment_expression "puVar5 = puStack_20c" identifier = identifier) ;) (if_statement "if (puStack_20c != (u8 *)0x0) goto LAB_000b6458;" if (parenthesized_expression "(puStack_20c != (u8 *)0x0)" ( (binary_expression "puStack_20c != (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 "puVar5 = (u8 *)sessionInputBuffer(pSVar24,2);" (assignment_expression "puVar5 = (u8 *)sessionInputBuffer(pSVar24,2)" identifier = (cast_expression "(u8 *)sessionInputBuffer(pSVar24,2)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionInputBuffer(pSVar24,2)" identifier (argument_list "(pSVar24,2)" ( identifier , number_literal ))))) ;) (expression_statement "pSVar24[1].buf.aBuf = puVar5;" (assignment_expression "pSVar24[1].buf.aBuf = puVar5" (field_expression "pSVar24[1].buf.aBuf" (field_expression "pSVar24[1].buf" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (puVar5 != (u8 *)0x0) goto LAB_000b6458;" if (parenthesized_expression "(puVar5 != (u8 *)0x0)" ( (binary_expression "puVar5 != (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 "iVar11 = pSVar24->iNext;" (assignment_expression "iVar11 = pSVar24->iNext" identifier = (field_expression "pSVar24->iNext" identifier -> field_identifier)) ;) (expression_statement "pSVar24->iCurrent = iVar11;" (assignment_expression "pSVar24->iCurrent = iVar11" (field_expression "pSVar24->iCurrent" identifier -> field_identifier) = identifier) ;) (if_statement "if (pSVar24->nData <= iVar11) goto LAB_000b6494;" if (parenthesized_expression "(pSVar24->nData <= iVar11)" ( (binary_expression "pSVar24->nData <= iVar11" (field_expression "pSVar24->nData" identifier -> field_identifier) <= identifier) )) (goto_statement "goto LAB_000b6494;" goto statement_identifier ;)) (expression_statement "puVar5 = pSVar24->aData;" (assignment_expression "puVar5 = pSVar24->aData" identifier = (field_expression "pSVar24->aData" identifier -> field_identifier)) ;) (expression_statement "pSVar24->iNext = iVar11 + 1;" (assignment_expression "pSVar24->iNext = iVar11 + 1" (field_expression "pSVar24->iNext" identifier -> field_identifier) = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = puVar5[iVar11];" (assignment_expression "bVar1 = puVar5[iVar11]" identifier = (subscript_expression "puVar5[iVar11]" identifier [ identifier ])) ;) })) (if_statement "if ((pSVar24[1].buf.nAlloc == 0) ||\n     ((puVar18 = pSVar24[1].aData, puVar18 != (u8 *)0x0 && (pSVar24[1].nData != 0)))) {\n    uVar20 = 0x301e0;\n  }\n  else {\n    iVar11 = pSVar24->iNext;\n    pSVar24[1].pIn = puVar8;\n    pSVar24->iNext = iVar11 + 1;\n    pSVar24[1].bEof = (uint)puVar5[iVar11];\n    if ((puVar8 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f) < 0)) {\n      p_Var32 = pSVar24[1].xInput;\n      if (abPK != (SessionInput *)0x0) {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var32 < 1) goto LAB_000b6830;\n          p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard;\n          p_Var14 = p_Var32 + (int)p_Var9;\n          p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }\n            p_Var9 = p_Var9 + 1;\n            if (p_Var14 == p_Var9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar8 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var32 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar21 = (sqlite3_value **)pSVar24[2].iCurrent;\n      apOut = ppsVar21;\n      apOut_00 = ppsVar21 + (int)p_Var32;\n      if (pSVar24[1].nData != 0) {\n        apOut = ppsVar21 + (int)p_Var32;\n        apOut_00 = ppsVar21;\n      }\n      if (puVar8 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          if (pSVar24[1].nData == 0) goto LAB_000b6734;\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) {\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = 0;\n        if (0 < (int)p_Var32) {\n          do {\n            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }\n            iVar11 = iVar11 + 1;\n          } while (iVar11 < (int)p_Var32);\n        }\n      }\n      else {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b6678;\n          abPK = (SessionInput *)pSVar24[2].bNoDiscard;\n        }\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pSVar24[1].pIn != &DAT_00000009) {\n          p_Var32 = pSVar24[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          puVar5 = (u8 *)0x64;\n          if (pSVar24[1].nData == 0) goto LAB_000b6458;\n          puVar8 = &DAT_00000009;\n        }\n        else {\n          iVar11 = pSVar24[1].nData;\n          puVar8 = &DAT_00000009;\nLAB_000b6780:\n          puVar5 = (u8 *)0x64;\n          if (iVar11 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar8 == (undefined1 *)0x12) {\n          puVar5 = (u8 *)0x64;\n          pSVar24[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar8 == &DAT_00000009) {\n          pSVar24[1].pIn = (void *)0x12;\n          puVar5 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar5 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }\n    uVar20 = 0x301e6;\n  }" if (parenthesized_expression "((pSVar24[1].buf.nAlloc == 0) ||\n     ((puVar18 = pSVar24[1].aData, puVar18 != (u8 *)0x0 && (pSVar24[1].nData != 0))))" ( (binary_expression "(pSVar24[1].buf.nAlloc == 0) ||\n     ((puVar18 = pSVar24[1].aData, puVar18 != (u8 *)0x0 && (pSVar24[1].nData != 0)))" (parenthesized_expression "(pSVar24[1].buf.nAlloc == 0)" ( (binary_expression "pSVar24[1].buf.nAlloc == 0" (field_expression "pSVar24[1].buf.nAlloc" (field_expression "pSVar24[1].buf" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) == number_literal) )) || (parenthesized_expression "((puVar18 = pSVar24[1].aData, puVar18 != (u8 *)0x0 && (pSVar24[1].nData != 0)))" ( (parenthesized_expression "(puVar18 = pSVar24[1].aData, puVar18 != (u8 *)0x0 && (pSVar24[1].nData != 0))" ( (comma_expression "puVar18 = pSVar24[1].aData, puVar18 != (u8 *)0x0 && (pSVar24[1].nData != 0)" (assignment_expression "puVar18 = pSVar24[1].aData" identifier = (field_expression "pSVar24[1].aData" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) , (binary_expression "puVar18 != (u8 *)0x0 && (pSVar24[1].nData != 0)" (binary_expression "puVar18 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(pSVar24[1].nData != 0)" ( (binary_expression "pSVar24[1].nData != 0" (field_expression "pSVar24[1].nData" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) != number_literal) )))) )) ))) )) (compound_statement "{\n    uVar20 = 0x301e0;\n  }" { (expression_statement "uVar20 = 0x301e0;" (assignment_expression "uVar20 = 0x301e0" identifier = number_literal) ;) }) (else_clause "else {\n    iVar11 = pSVar24->iNext;\n    pSVar24[1].pIn = puVar8;\n    pSVar24->iNext = iVar11 + 1;\n    pSVar24[1].bEof = (uint)puVar5[iVar11];\n    if ((puVar8 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f) < 0)) {\n      p_Var32 = pSVar24[1].xInput;\n      if (abPK != (SessionInput *)0x0) {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var32 < 1) goto LAB_000b6830;\n          p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard;\n          p_Var14 = p_Var32 + (int)p_Var9;\n          p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }\n            p_Var9 = p_Var9 + 1;\n            if (p_Var14 == p_Var9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar8 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var32 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar21 = (sqlite3_value **)pSVar24[2].iCurrent;\n      apOut = ppsVar21;\n      apOut_00 = ppsVar21 + (int)p_Var32;\n      if (pSVar24[1].nData != 0) {\n        apOut = ppsVar21 + (int)p_Var32;\n        apOut_00 = ppsVar21;\n      }\n      if (puVar8 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          if (pSVar24[1].nData == 0) goto LAB_000b6734;\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) {\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = 0;\n        if (0 < (int)p_Var32) {\n          do {\n            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }\n            iVar11 = iVar11 + 1;\n          } while (iVar11 < (int)p_Var32);\n        }\n      }\n      else {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b6678;\n          abPK = (SessionInput *)pSVar24[2].bNoDiscard;\n        }\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pSVar24[1].pIn != &DAT_00000009) {\n          p_Var32 = pSVar24[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          puVar5 = (u8 *)0x64;\n          if (pSVar24[1].nData == 0) goto LAB_000b6458;\n          puVar8 = &DAT_00000009;\n        }\n        else {\n          iVar11 = pSVar24[1].nData;\n          puVar8 = &DAT_00000009;\nLAB_000b6780:\n          puVar5 = (u8 *)0x64;\n          if (iVar11 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar8 == (undefined1 *)0x12) {\n          puVar5 = (u8 *)0x64;\n          pSVar24[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar8 == &DAT_00000009) {\n          pSVar24[1].pIn = (void *)0x12;\n          puVar5 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar5 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }\n    uVar20 = 0x301e6;\n  }" else (compound_statement "{\n    iVar11 = pSVar24->iNext;\n    pSVar24[1].pIn = puVar8;\n    pSVar24->iNext = iVar11 + 1;\n    pSVar24[1].bEof = (uint)puVar5[iVar11];\n    if ((puVar8 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f) < 0)) {\n      p_Var32 = pSVar24[1].xInput;\n      if (abPK != (SessionInput *)0x0) {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var32 < 1) goto LAB_000b6830;\n          p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard;\n          p_Var14 = p_Var32 + (int)p_Var9;\n          p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }\n            p_Var9 = p_Var9 + 1;\n            if (p_Var14 == p_Var9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar8 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var32 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar21 = (sqlite3_value **)pSVar24[2].iCurrent;\n      apOut = ppsVar21;\n      apOut_00 = ppsVar21 + (int)p_Var32;\n      if (pSVar24[1].nData != 0) {\n        apOut = ppsVar21 + (int)p_Var32;\n        apOut_00 = ppsVar21;\n      }\n      if (puVar8 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          if (pSVar24[1].nData == 0) goto LAB_000b6734;\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) {\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = 0;\n        if (0 < (int)p_Var32) {\n          do {\n            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }\n            iVar11 = iVar11 + 1;\n          } while (iVar11 < (int)p_Var32);\n        }\n      }\n      else {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b6678;\n          abPK = (SessionInput *)pSVar24[2].bNoDiscard;\n        }\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pSVar24[1].pIn != &DAT_00000009) {\n          p_Var32 = pSVar24[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          puVar5 = (u8 *)0x64;\n          if (pSVar24[1].nData == 0) goto LAB_000b6458;\n          puVar8 = &DAT_00000009;\n        }\n        else {\n          iVar11 = pSVar24[1].nData;\n          puVar8 = &DAT_00000009;\nLAB_000b6780:\n          puVar5 = (u8 *)0x64;\n          if (iVar11 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar8 == (undefined1 *)0x12) {\n          puVar5 = (u8 *)0x64;\n          pSVar24[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar8 == &DAT_00000009) {\n          pSVar24[1].pIn = (void *)0x12;\n          puVar5 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar5 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }\n    uVar20 = 0x301e6;\n  }" { (expression_statement "iVar11 = pSVar24->iNext;" (assignment_expression "iVar11 = pSVar24->iNext" identifier = (field_expression "pSVar24->iNext" identifier -> field_identifier)) ;) (expression_statement "pSVar24[1].pIn = puVar8;" (assignment_expression "pSVar24[1].pIn = puVar8" (field_expression "pSVar24[1].pIn" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pSVar24->iNext = iVar11 + 1;" (assignment_expression "pSVar24->iNext = iVar11 + 1" (field_expression "pSVar24->iNext" identifier -> field_identifier) = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "pSVar24[1].bEof = (uint)puVar5[iVar11];" (assignment_expression "pSVar24[1].bEof = (uint)puVar5[iVar11]" (field_expression "pSVar24[1].bEof" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(uint)puVar5[iVar11]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar5[iVar11]" identifier [ identifier ]))) ;) (if_statement "if ((puVar8 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f) < 0)) {\n      p_Var32 = pSVar24[1].xInput;\n      if (abPK != (SessionInput *)0x0) {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var32 < 1) goto LAB_000b6830;\n          p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard;\n          p_Var14 = p_Var32 + (int)p_Var9;\n          p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }\n            p_Var9 = p_Var9 + 1;\n            if (p_Var14 == p_Var9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar8 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var32 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar21 = (sqlite3_value **)pSVar24[2].iCurrent;\n      apOut = ppsVar21;\n      apOut_00 = ppsVar21 + (int)p_Var32;\n      if (pSVar24[1].nData != 0) {\n        apOut = ppsVar21 + (int)p_Var32;\n        apOut_00 = ppsVar21;\n      }\n      if (puVar8 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          if (pSVar24[1].nData == 0) goto LAB_000b6734;\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) {\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = 0;\n        if (0 < (int)p_Var32) {\n          do {\n            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }\n            iVar11 = iVar11 + 1;\n          } while (iVar11 < (int)p_Var32);\n        }\n      }\n      else {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b6678;\n          abPK = (SessionInput *)pSVar24[2].bNoDiscard;\n        }\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pSVar24[1].pIn != &DAT_00000009) {\n          p_Var32 = pSVar24[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          puVar5 = (u8 *)0x64;\n          if (pSVar24[1].nData == 0) goto LAB_000b6458;\n          puVar8 = &DAT_00000009;\n        }\n        else {\n          iVar11 = pSVar24[1].nData;\n          puVar8 = &DAT_00000009;\nLAB_000b6780:\n          puVar5 = (u8 *)0x64;\n          if (iVar11 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar8 == (undefined1 *)0x12) {\n          puVar5 = (u8 *)0x64;\n          pSVar24[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar8 == &DAT_00000009) {\n          pSVar24[1].pIn = (void *)0x12;\n          puVar5 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar5 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }" if (parenthesized_expression "((puVar8 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f) < 0))" ( (binary_expression "(puVar8 < &DAT_00000018) && ((int)((0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f) < 0)" (parenthesized_expression "(puVar8 < &DAT_00000018)" ( (binary_expression "puVar8 < &DAT_00000018" identifier < (pointer_expression "&DAT_00000018" & identifier)) )) && (parenthesized_expression "((int)((0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f) < 0)" ( (binary_expression "(int)((0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f) < 0" (cast_expression "(int)((0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f)" ( (binary_expression "(0x840200U >> ((uint)puVar8 & 0x1f)) << 0x1f" (parenthesized_expression "(0x840200U >> ((uint)puVar8 & 0x1f))" ( (binary_expression "0x840200U >> ((uint)puVar8 & 0x1f)" number_literal >> (parenthesized_expression "((uint)puVar8 & 0x1f)" ( (binary_expression "(uint)puVar8 & 0x1f" (cast_expression "(uint)puVar8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) )) << number_literal) ))) < number_literal) ))) )) (compound_statement "{\n      p_Var32 = pSVar24[1].xInput;\n      if (abPK != (SessionInput *)0x0) {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var32 < 1) goto LAB_000b6830;\n          p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard;\n          p_Var14 = p_Var32 + (int)p_Var9;\n          p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }\n            p_Var9 = p_Var9 + 1;\n            if (p_Var14 == p_Var9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar8 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var32 << 1);\n        goto LAB_000b65d4;\n      }\n      ppsVar21 = (sqlite3_value **)pSVar24[2].iCurrent;\n      apOut = ppsVar21;\n      apOut_00 = ppsVar21 + (int)p_Var32;\n      if (pSVar24[1].nData != 0) {\n        apOut = ppsVar21 + (int)p_Var32;\n        apOut_00 = ppsVar21;\n      }\n      if (puVar8 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          if (pSVar24[1].nData == 0) goto LAB_000b6734;\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) {\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = 0;\n        if (0 < (int)p_Var32) {\n          do {\n            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }\n            iVar11 = iVar11 + 1;\n          } while (iVar11 < (int)p_Var32);\n        }\n      }\n      else {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b6678;\n          abPK = (SessionInput *)pSVar24[2].bNoDiscard;\n        }\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pSVar24[1].pIn != &DAT_00000009) {\n          p_Var32 = pSVar24[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          puVar5 = (u8 *)0x64;\n          if (pSVar24[1].nData == 0) goto LAB_000b6458;\n          puVar8 = &DAT_00000009;\n        }\n        else {\n          iVar11 = pSVar24[1].nData;\n          puVar8 = &DAT_00000009;\nLAB_000b6780:\n          puVar5 = (u8 *)0x64;\n          if (iVar11 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar8 == (undefined1 *)0x12) {\n          puVar5 = (u8 *)0x64;\n          pSVar24[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar8 == &DAT_00000009) {\n          pSVar24[1].pIn = (void *)0x12;\n          puVar5 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      puVar5 = (u8 *)0x64;\n      goto LAB_000b6458;\n    }" { (expression_statement "p_Var32 = pSVar24[1].xInput;" (assignment_expression "p_Var32 = pSVar24[1].xInput" identifier = (field_expression "pSVar24[1].xInput" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (abPK != (SessionInput *)0x0) {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var32 < 1) goto LAB_000b6830;\n          p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard;\n          p_Var14 = p_Var32 + (int)p_Var9;\n          p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }\n            p_Var9 = p_Var9 + 1;\n            if (p_Var14 == p_Var9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar8 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var32 << 1);\n        goto LAB_000b65d4;\n      }" if (parenthesized_expression "(abPK != (SessionInput *)0x0)" ( (binary_expression "abPK != (SessionInput *)0x0" identifier != (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var32 < 1) goto LAB_000b6830;\n          p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard;\n          p_Var14 = p_Var32 + (int)p_Var9;\n          p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }\n            p_Var9 = p_Var9 + 1;\n            if (p_Var14 == p_Var9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (puVar8 != &DAT_00000017) goto LAB_000b65d4;\n        p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var32 << 1);\n        goto LAB_000b65d4;\n      }" { (if_statement "if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var32 < 1) goto LAB_000b6830;\n          p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard;\n          p_Var14 = p_Var32 + (int)p_Var9;\n          p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }\n            p_Var9 = p_Var9 + 1;\n            if (p_Var14 == p_Var9) goto LAB_000b65d4;\n          } while( true );\n        }" if (parenthesized_expression "(puVar18 != (u8 *)0x0)" ( (binary_expression "puVar18 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (puVar8 != &DAT_00000009) goto LAB_000b65d4;\n          if ((int)p_Var32 < 1) goto LAB_000b6830;\n          p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard;\n          p_Var14 = p_Var32 + (int)p_Var9;\n          p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\n          do {\n            if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }\n            p_Var9 = p_Var9 + 1;\n            if (p_Var14 == p_Var9) goto LAB_000b65d4;\n          } while( true );\n        }" { (if_statement "if (puVar8 != &DAT_00000009) goto LAB_000b65d4;" if (parenthesized_expression "(puVar8 != &DAT_00000009)" ( (binary_expression "puVar8 != &DAT_00000009" identifier != (pointer_expression "&DAT_00000009" & identifier)) )) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;)) (if_statement "if ((int)p_Var32 < 1) goto LAB_000b6830;" if (parenthesized_expression "((int)p_Var32 < 1)" ( (binary_expression "(int)p_Var32 < 1" (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_000b6830;" goto statement_identifier ;)) (expression_statement "p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard;" (assignment_expression "p_Var9 = (_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int_ptr *)pSVar24[2].bNoDiscard" ( (type_descriptor "_func_int_void_ptr_void_ptr_int_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar24[2].bNoDiscard" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "p_Var14 = p_Var32 + (int)p_Var9;" (assignment_expression "p_Var14 = p_Var32 + (int)p_Var9" identifier = (binary_expression "p_Var32 + (int)p_Var9" identifier + (cast_expression "(int)p_Var9" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;" (assignment_expression "p_Var32 = (_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_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }\n            p_Var9 = p_Var9 + 1;\n            if (p_Var14 == p_Var9) goto LAB_000b65d4;\n          } while( true );" do (compound_statement "{\n            if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }\n            p_Var9 = p_Var9 + 1;\n            if (p_Var14 == p_Var9) goto LAB_000b65d4;\n          }" { (if_statement "if (*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0) {\n              p_Var32 = p_Var32 + 1;\n            }" if (parenthesized_expression "(*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0)" ( (binary_expression "*p_Var9 != (_func_int_void_ptr_void_ptr_int_ptr)0x0" (pointer_expression "*p_Var9" * 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_Var32 = p_Var32 + 1;\n            }" { (expression_statement "p_Var32 = p_Var32 + 1;" (assignment_expression "p_Var32 = p_Var32 + 1" identifier = (binary_expression "p_Var32 + 1" identifier + number_literal)) ;) })) (expression_statement "p_Var9 = p_Var9 + 1;" (assignment_expression "p_Var9 = p_Var9 + 1" identifier = (binary_expression "p_Var9 + 1" identifier + number_literal)) ;) (if_statement "if (p_Var14 == p_Var9) goto LAB_000b65d4;" if (parenthesized_expression "(p_Var14 == p_Var9)" ( (binary_expression "p_Var14 == p_Var9" identifier == identifier) )) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (puVar8 != &DAT_00000017) goto LAB_000b65d4;" if (parenthesized_expression "(puVar8 != &DAT_00000017)" ( (binary_expression "puVar8 != &DAT_00000017" identifier != (pointer_expression "&DAT_00000017" & identifier)) )) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;)) (expression_statement "p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var32 << 1);" (assignment_expression "p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var32 << 1)" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int_ptr *)((int)p_Var32 << 1)" ( (type_descriptor "_func_int_void_ptr_void_ptr_int_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var32 << 1)" ( (binary_expression "(int)p_Var32 << 1" (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;) })) (expression_statement "ppsVar21 = (sqlite3_value **)pSVar24[2].iCurrent;" (assignment_expression "ppsVar21 = (sqlite3_value **)pSVar24[2].iCurrent" identifier = (cast_expression "(sqlite3_value **)pSVar24[2].iCurrent" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "pSVar24[2].iCurrent" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "apOut = ppsVar21;" (assignment_expression "apOut = ppsVar21" identifier = identifier) ;) (expression_statement "apOut_00 = ppsVar21 + (int)p_Var32;" (assignment_expression "apOut_00 = ppsVar21 + (int)p_Var32" identifier = (binary_expression "ppsVar21 + (int)p_Var32" identifier + (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (pSVar24[1].nData != 0) {\n        apOut = ppsVar21 + (int)p_Var32;\n        apOut_00 = ppsVar21;\n      }" if (parenthesized_expression "(pSVar24[1].nData != 0)" ( (binary_expression "pSVar24[1].nData != 0" (field_expression "pSVar24[1].nData" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) != number_literal) )) (compound_statement "{\n        apOut = ppsVar21 + (int)p_Var32;\n        apOut_00 = ppsVar21;\n      }" { (expression_statement "apOut = ppsVar21 + (int)p_Var32;" (assignment_expression "apOut = ppsVar21 + (int)p_Var32" identifier = (binary_expression "ppsVar21 + (int)p_Var32" identifier + (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "apOut_00 = ppsVar21;" (assignment_expression "apOut_00 = ppsVar21" identifier = identifier) ;) })) (if_statement "if (puVar8 == (undefined1 *)0x12) {\nLAB_000b6678:\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          if (pSVar24[1].nData == 0) goto LAB_000b6734;\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) {\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = 0;\n        if (0 < (int)p_Var32) {\n          do {\n            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }\n            iVar11 = iVar11 + 1;\n          } while (iVar11 < (int)p_Var32);\n        }\n      }\n      else {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b6678;\n          abPK = (SessionInput *)pSVar24[2].bNoDiscard;\n        }\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pSVar24[1].pIn != &DAT_00000009) {\n          p_Var32 = pSVar24[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          puVar5 = (u8 *)0x64;\n          if (pSVar24[1].nData == 0) goto LAB_000b6458;\n          puVar8 = &DAT_00000009;\n        }\n        else {\n          iVar11 = pSVar24[1].nData;\n          puVar8 = &DAT_00000009;\nLAB_000b6780:\n          puVar5 = (u8 *)0x64;\n          if (iVar11 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar8 == (undefined1 *)0x12) {\n          puVar5 = (u8 *)0x64;\n          pSVar24[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar8 == &DAT_00000009) {\n          pSVar24[1].pIn = (void *)0x12;\n          puVar5 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }" if (parenthesized_expression "(puVar8 == (undefined1 *)0x12)" ( (binary_expression "puVar8 == (undefined1 *)0x12" identifier == (cast_expression "(undefined1 *)0x12" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000b6678:\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          if (pSVar24[1].nData == 0) goto LAB_000b6734;\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) {\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }\n        }\n        p_Var32 = pSVar24[1].xInput;\n        iVar11 = 0;\n        if (0 < (int)p_Var32) {\n          do {\n            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }\n            iVar11 = iVar11 + 1;\n          } while (iVar11 < (int)p_Var32);\n        }\n      }" { (labeled_statement "LAB_000b6678:\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00);" statement_identifier : (expression_statement "puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00);" (assignment_expression "puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00)" identifier = (cast_expression "(u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00)" identifier (argument_list "(pSVar24,(int)p_Var32,(u8 *)0x0,apOut_00)" ( identifier , (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier ))))) ;)) (expression_statement "pSVar24[1].buf.aBuf = puVar5;" (assignment_expression "pSVar24[1].buf.aBuf = puVar5" (field_expression "pSVar24[1].buf.aBuf" (field_expression "pSVar24[1].buf" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (puVar5 != (u8 *)0x0) goto LAB_000b6458;" if (parenthesized_expression "(puVar5 != (u8 *)0x0)" ( (binary_expression "puVar5 != (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 (pSVar24[1].aData == (u8 *)0x0) {\n          if (pSVar24[1].nData == 0) goto LAB_000b6734;\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) goto LAB_000b6788;\n        }\n        else {\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) {\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }\n        }" if (parenthesized_expression "(pSVar24[1].aData == (u8 *)0x0)" ( (binary_expression "pSVar24[1].aData == (u8 *)0x0" (field_expression "pSVar24[1].aData" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) == (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (pSVar24[1].nData == 0) goto LAB_000b6734;\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) goto LAB_000b6788;\n        }" { (if_statement "if (pSVar24[1].nData == 0) goto LAB_000b6734;" if (parenthesized_expression "(pSVar24[1].nData == 0)" ( (binary_expression "pSVar24[1].nData == 0" (field_expression "pSVar24[1].nData" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) == number_literal) )) (goto_statement "goto LAB_000b6734;" goto statement_identifier ;)) (expression_statement "puVar8 = (undefined1 *)pSVar24[1].pIn;" (assignment_expression "puVar8 = (undefined1 *)pSVar24[1].pIn" identifier = (cast_expression "(undefined1 *)pSVar24[1].pIn" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar24[1].pIn" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (puVar8 != &DAT_00000017) goto LAB_000b6788;" if (parenthesized_expression "(puVar8 != &DAT_00000017)" ( (binary_expression "puVar8 != &DAT_00000017" identifier != (pointer_expression "&DAT_00000017" & identifier)) )) (goto_statement "goto LAB_000b6788;" goto statement_identifier ;)) }) (else_clause "else {\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) {\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }\n        }" else (compound_statement "{\n          puVar8 = (undefined1 *)pSVar24[1].pIn;\n          if (puVar8 != &DAT_00000017) {\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }\n        }" { (expression_statement "puVar8 = (undefined1 *)pSVar24[1].pIn;" (assignment_expression "puVar8 = (undefined1 *)pSVar24[1].pIn" identifier = (cast_expression "(undefined1 *)pSVar24[1].pIn" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar24[1].pIn" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier))) ;) (if_statement "if (puVar8 != &DAT_00000017) {\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }" if (parenthesized_expression "(puVar8 != &DAT_00000017)" ( (binary_expression "puVar8 != &DAT_00000017" identifier != (pointer_expression "&DAT_00000017" & identifier)) )) (compound_statement "{\n            iVar11 = pSVar24[1].nData;\n            goto LAB_000b6780;\n          }" { (expression_statement "iVar11 = pSVar24[1].nData;" (assignment_expression "iVar11 = pSVar24[1].nData" identifier = (field_expression "pSVar24[1].nData" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;) (goto_statement "goto LAB_000b6780;" goto statement_identifier ;) })) }))) (expression_statement "p_Var32 = pSVar24[1].xInput;" (assignment_expression "p_Var32 = pSVar24[1].xInput" identifier = (field_expression "pSVar24[1].xInput" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)p_Var32) {\n          do {\n            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }\n            iVar11 = iVar11 + 1;\n          } while (iVar11 < (int)p_Var32);\n        }" if (parenthesized_expression "(0 < (int)p_Var32)" ( (binary_expression "0 < (int)p_Var32" number_literal < (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          do {\n            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }\n            iVar11 = iVar11 + 1;\n          } while (iVar11 < (int)p_Var32);\n        }" { (do_statement "do {\n            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }\n            iVar11 = iVar11 + 1;\n          } while (iVar11 < (int)p_Var32);" do (compound_statement "{\n            if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }\n            iVar11 = iVar11 + 1;\n          }" { (if_statement "if (*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0') {\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }" if (parenthesized_expression "(*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0')" ( (binary_expression "*(char *)(pSVar24[2].bNoDiscard + iVar11) != '\0'" (pointer_expression "*(char *)(pSVar24[2].bNoDiscard + iVar11)" * (cast_expression "(char *)(pSVar24[2].bNoDiscard + iVar11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar24[2].bNoDiscard + iVar11)" ( (binary_expression "pSVar24[2].bNoDiscard + iVar11" (field_expression "pSVar24[2].bNoDiscard" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              *(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);\n              if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;\n              p_Var32 = pSVar24[1].xInput;\n            }" { (expression_statement "*(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4);" (assignment_expression "*(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4) =\n                   *(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4)" (pointer_expression "*(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4)" * (cast_expression "(undefined4 *)(pSVar24[2].iCurrent + iVar11 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar24[2].iCurrent + iVar11 * 4)" ( (binary_expression "pSVar24[2].iCurrent + iVar11 * 4" (field_expression "pSVar24[2].iCurrent" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier) + (binary_expression "iVar11 * 4" identifier * number_literal)) )))) = (pointer_expression "*(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4)" * (cast_expression "(undefined4 *)(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4)" ( (binary_expression "pSVar24[2].iCurrent + (int)(p_Var32 + iVar11) * 4" (field_expression "pSVar24[2].iCurrent" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier) + (binary_expression "(int)(p_Var32 + iVar11) * 4" (cast_expression "(int)(p_Var32 + iVar11)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(p_Var32 + iVar11)" ( (binary_expression "p_Var32 + iVar11" identifier + identifier) ))) * number_literal)) ))))) ;) (if_statement "if (*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0) {\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }" if (parenthesized_expression "(*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0)" ( (binary_expression "*(int *)(pSVar24[2].iCurrent + iVar11 * 4) == 0" (pointer_expression "*(int *)(pSVar24[2].iCurrent + iVar11 * 4)" * (cast_expression "(int *)(pSVar24[2].iCurrent + iVar11 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar24[2].iCurrent + iVar11 * 4)" ( (binary_expression "pSVar24[2].iCurrent + iVar11 * 4" (field_expression "pSVar24[2].iCurrent" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier) + (binary_expression "iVar11 * 4" identifier * number_literal)) )))) == number_literal) )) (compound_statement "{\n                uVar20 = 0x30212;\n                goto LAB_000b653c;\n              }" { (expression_statement "uVar20 = 0x30212;" (assignment_expression "uVar20 = 0x30212" identifier = number_literal) ;) (goto_statement "goto LAB_000b653c;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0;" (assignment_expression "*(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4) = 0" (pointer_expression "*(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4)" * (cast_expression "(undefined4 *)(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4)" ( (binary_expression "pSVar24[2].iCurrent + (int)(pSVar24[1].xInput + iVar11) * 4" (field_expression "pSVar24[2].iCurrent" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier) + (binary_expression "(int)(pSVar24[1].xInput + iVar11) * 4" (cast_expression "(int)(pSVar24[1].xInput + iVar11)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pSVar24[1].xInput + iVar11)" ( (binary_expression "pSVar24[1].xInput + iVar11" (field_expression "pSVar24[1].xInput" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) + identifier) ))) * number_literal)) )))) = number_literal) ;) (expression_statement "p_Var32 = pSVar24[1].xInput;" (assignment_expression "p_Var32 = pSVar24[1].xInput" identifier = (field_expression "pSVar24[1].xInput" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;) })) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 < (int)p_Var32)" ( (binary_expression "iVar11 < (int)p_Var32" identifier < (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) }) (else_clause "else {\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b6678;\n          abPK = (SessionInput *)pSVar24[2].bNoDiscard;\n        }\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pSVar24[1].pIn != &DAT_00000009) {\n          p_Var32 = pSVar24[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          puVar5 = (u8 *)0x64;\n          if (pSVar24[1].nData == 0) goto LAB_000b6458;\n          puVar8 = &DAT_00000009;\n        }\n        else {\n          iVar11 = pSVar24[1].nData;\n          puVar8 = &DAT_00000009;\nLAB_000b6780:\n          puVar5 = (u8 *)0x64;\n          if (iVar11 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar8 == (undefined1 *)0x12) {\n          puVar5 = (u8 *)0x64;\n          pSVar24[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar8 == &DAT_00000009) {\n          pSVar24[1].pIn = (void *)0x12;\n          puVar5 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }" else (compound_statement "{\n        if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b6678;\n          abPK = (SessionInput *)pSVar24[2].bNoDiscard;\n        }\n        puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut);\n        pSVar24[1].buf.aBuf = puVar5;\n        if (puVar5 != (u8 *)0x0) goto LAB_000b6458;\n        if ((undefined1 *)pSVar24[1].pIn != &DAT_00000009) {\n          p_Var32 = pSVar24[1].xInput;\n          goto LAB_000b6678;\n        }\n        if (pSVar24[1].aData == (u8 *)0x0) {\n          puVar5 = (u8 *)0x64;\n          if (pSVar24[1].nData == 0) goto LAB_000b6458;\n          puVar8 = &DAT_00000009;\n        }\n        else {\n          iVar11 = pSVar24[1].nData;\n          puVar8 = &DAT_00000009;\nLAB_000b6780:\n          puVar5 = (u8 *)0x64;\n          if (iVar11 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (puVar8 == (undefined1 *)0x12) {\n          puVar5 = (u8 *)0x64;\n          pSVar24[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }\n        if (puVar8 == &DAT_00000009) {\n          pSVar24[1].pIn = (void *)0x12;\n          puVar5 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }\n      }" { (if_statement "if (puVar18 != (u8 *)0x0) {\n          if (puVar8 != &DAT_00000009) goto LAB_000b6678;\n          abPK = (SessionInput *)pSVar24[2].bNoDiscard;\n        }" if (parenthesized_expression "(puVar18 != (u8 *)0x0)" ( (binary_expression "puVar18 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (puVar8 != &DAT_00000009) goto LAB_000b6678;\n          abPK = (SessionInput *)pSVar24[2].bNoDiscard;\n        }" { (if_statement "if (puVar8 != &DAT_00000009) goto LAB_000b6678;" if (parenthesized_expression "(puVar8 != &DAT_00000009)" ( (binary_expression "puVar8 != &DAT_00000009" identifier != (pointer_expression "&DAT_00000009" & identifier)) )) (goto_statement "goto LAB_000b6678;" goto statement_identifier ;)) (expression_statement "abPK = (SessionInput *)pSVar24[2].bNoDiscard;" (assignment_expression "abPK = (SessionInput *)pSVar24[2].bNoDiscard" identifier = (cast_expression "(SessionInput *)pSVar24[2].bNoDiscard" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar24[2].bNoDiscard" (subscript_expression "pSVar24[2]" identifier [ number_literal ]) . field_identifier))) ;) })) (expression_statement "puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut);" (assignment_expression "puVar5 = (u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut)" identifier = (cast_expression "(u8 *)sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionReadRecord(pSVar24,(int)p_Var32,(u8 *)abPK,apOut)" identifier (argument_list "(pSVar24,(int)p_Var32,(u8 *)abPK,apOut)" ( identifier , (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(u8 *)abPK" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))))) ;) (expression_statement "pSVar24[1].buf.aBuf = puVar5;" (assignment_expression "pSVar24[1].buf.aBuf = puVar5" (field_expression "pSVar24[1].buf.aBuf" (field_expression "pSVar24[1].buf" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (puVar5 != (u8 *)0x0) goto LAB_000b6458;" if (parenthesized_expression "(puVar5 != (u8 *)0x0)" ( (binary_expression "puVar5 != (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 *)pSVar24[1].pIn != &DAT_00000009) {\n          p_Var32 = pSVar24[1].xInput;\n          goto LAB_000b6678;\n        }" if (parenthesized_expression "((undefined1 *)pSVar24[1].pIn != &DAT_00000009)" ( (binary_expression "(undefined1 *)pSVar24[1].pIn != &DAT_00000009" (cast_expression "(undefined1 *)pSVar24[1].pIn" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar24[1].pIn" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) != (pointer_expression "&DAT_00000009" & identifier)) )) (compound_statement "{\n          p_Var32 = pSVar24[1].xInput;\n          goto LAB_000b6678;\n        }" { (expression_statement "p_Var32 = pSVar24[1].xInput;" (assignment_expression "p_Var32 = pSVar24[1].xInput" identifier = (field_expression "pSVar24[1].xInput" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;) (goto_statement "goto LAB_000b6678;" goto statement_identifier ;) })) (if_statement "if (pSVar24[1].aData == (u8 *)0x0) {\n          puVar5 = (u8 *)0x64;\n          if (pSVar24[1].nData == 0) goto LAB_000b6458;\n          puVar8 = &DAT_00000009;\n        }\n        else {\n          iVar11 = pSVar24[1].nData;\n          puVar8 = &DAT_00000009;\nLAB_000b6780:\n          puVar5 = (u8 *)0x64;\n          if (iVar11 == 0) goto LAB_000b6458;\n        }" if (parenthesized_expression "(pSVar24[1].aData == (u8 *)0x0)" ( (binary_expression "pSVar24[1].aData == (u8 *)0x0" (field_expression "pSVar24[1].aData" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) == (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar5 = (u8 *)0x64;\n          if (pSVar24[1].nData == 0) goto LAB_000b6458;\n          puVar8 = &DAT_00000009;\n        }" { (expression_statement "puVar5 = (u8 *)0x64;" (assignment_expression "puVar5 = (u8 *)0x64" identifier = (cast_expression "(u8 *)0x64" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pSVar24[1].nData == 0) goto LAB_000b6458;" if (parenthesized_expression "(pSVar24[1].nData == 0)" ( (binary_expression "pSVar24[1].nData == 0" (field_expression "pSVar24[1].nData" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) == number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "puVar8 = &DAT_00000009;" (assignment_expression "puVar8 = &DAT_00000009" identifier = (pointer_expression "&DAT_00000009" & identifier)) ;) }) (else_clause "else {\n          iVar11 = pSVar24[1].nData;\n          puVar8 = &DAT_00000009;\nLAB_000b6780:\n          puVar5 = (u8 *)0x64;\n          if (iVar11 == 0) goto LAB_000b6458;\n        }" else (compound_statement "{\n          iVar11 = pSVar24[1].nData;\n          puVar8 = &DAT_00000009;\nLAB_000b6780:\n          puVar5 = (u8 *)0x64;\n          if (iVar11 == 0) goto LAB_000b6458;\n        }" { (expression_statement "iVar11 = pSVar24[1].nData;" (assignment_expression "iVar11 = pSVar24[1].nData" identifier = (field_expression "pSVar24[1].nData" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar8 = &DAT_00000009;" (assignment_expression "puVar8 = &DAT_00000009" identifier = (pointer_expression "&DAT_00000009" & identifier)) ;) (labeled_statement "LAB_000b6780:\n          puVar5 = (u8 *)0x64;" statement_identifier : (expression_statement "puVar5 = (u8 *)0x64;" (assignment_expression "puVar5 = (u8 *)0x64" identifier = (cast_expression "(u8 *)0x64" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if (iVar11 == 0) goto LAB_000b6458;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000b6788:\n        if (puVar8 == (undefined1 *)0x12) {\n          puVar5 = (u8 *)0x64;\n          pSVar24[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }" statement_identifier : (if_statement "if (puVar8 == (undefined1 *)0x12) {\n          puVar5 = (u8 *)0x64;\n          pSVar24[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }" if (parenthesized_expression "(puVar8 == (undefined1 *)0x12)" ( (binary_expression "puVar8 == (undefined1 *)0x12" identifier == (cast_expression "(undefined1 *)0x12" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar5 = (u8 *)0x64;\n          pSVar24[1].pIn = &DAT_00000009;\n          goto LAB_000b6458;\n        }" { (expression_statement "puVar5 = (u8 *)0x64;" (assignment_expression "puVar5 = (u8 *)0x64" identifier = (cast_expression "(u8 *)0x64" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar24[1].pIn = &DAT_00000009;" (assignment_expression "pSVar24[1].pIn = &DAT_00000009" (field_expression "pSVar24[1].pIn" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) = (pointer_expression "&DAT_00000009" & identifier)) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) }))) (if_statement "if (puVar8 == &DAT_00000009) {\n          pSVar24[1].pIn = (void *)0x12;\n          puVar5 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }" if (parenthesized_expression "(puVar8 == &DAT_00000009)" ( (binary_expression "puVar8 == &DAT_00000009" identifier == (pointer_expression "&DAT_00000009" & identifier)) )) (compound_statement "{\n          pSVar24[1].pIn = (void *)0x12;\n          puVar5 = (u8 *)0x64;\n          goto LAB_000b6458;\n        }" { (expression_statement "pSVar24[1].pIn = (void *)0x12;" (assignment_expression "pSVar24[1].pIn = (void *)0x12" (field_expression "pSVar24[1].pIn" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(void *)0x12" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar5 = (u8 *)0x64;" (assignment_expression "puVar5 = (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      puVar5 = (u8 *)0x64;" statement_identifier : (expression_statement "puVar5 = (u8 *)0x64;" (assignment_expression "puVar5 = (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 "uVar20 = 0x301e6;" (assignment_expression "uVar20 = 0x301e6" identifier = number_literal) ;) }))) (labeled_statement "LAB_000b653c:\n  (**(code **)(pcVar37 + 0xdaa58))\n            (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,uVar20,\n             *(int *)(pcVar37 + 0xda7d0) + 0x625c);" statement_identifier : (expression_statement "(**(code **)(pcVar37 + 0xdaa58))\n            (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,uVar20,\n             *(int *)(pcVar37 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(pcVar37 + 0xdaa58))\n            (0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,uVar20,\n             *(int *)(pcVar37 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(pcVar37 + 0xdaa58))" ( (pointer_expression "**(code **)(pcVar37 + 0xdaa58)" * (pointer_expression "*(code **)(pcVar37 + 0xdaa58)" * (cast_expression "(code **)(pcVar37 + 0xdaa58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0xdaa58)" ( (binary_expression "pcVar37 + 0xdaa58" identifier + number_literal) ))))) )) (argument_list "(0xb,*(int *)(pcVar37 + 0xda7d4) + -0x6378,*(int *)(pcVar37 + 0xda7d4) + -0x5e64,uVar20,\n             *(int *)(pcVar37 + 0xda7d0) + 0x625c)" ( number_literal , (binary_expression "*(int *)(pcVar37 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(pcVar37 + 0xda7d4)" * (cast_expression "(int *)(pcVar37 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar37 + 0xda7d4)" ( (binary_expression "pcVar37 + 0xda7d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar37 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(pcVar37 + 0xda7d4)" * (cast_expression "(int *)(pcVar37 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar37 + 0xda7d4)" ( (binary_expression "pcVar37 + 0xda7d4" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar37 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(pcVar37 + 0xda7d0)" * (cast_expression "(int *)(pcVar37 + 0xda7d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar37 + 0xda7d0)" ( (binary_expression "pcVar37 + 0xda7d0" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "puVar5 = (u8 *)0xb;" (assignment_expression "puVar5 = (u8 *)0xb" identifier = (cast_expression "(u8 *)0xb" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar24[1].buf.aBuf = (u8 *)0xb;" (assignment_expression "pSVar24[1].buf.aBuf = (u8 *)0xb" (field_expression "pSVar24[1].buf.aBuf" (field_expression "pSVar24[1].buf" (subscript_expression "pSVar24[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_204 != *piVar33) {\n    (**(code **)(pcVar37 + 0xdac70))();\nLAB_000b6830:\n    p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\nLAB_000b65d4:\n    puVar5 = (u8 *)sessionChangesetBufferRecord(pSVar24,(int)p_Var32,&pSVar31->bNoDiscard);\n    pSVar24[1].buf.aBuf = puVar5;\n    if (puVar5 == (u8 *)0x0) {\n      abPK->bNoDiscard = (int)(pSVar24->aData + pSVar24->iNext);\n      pSVar24->iNext = pSVar24->iNext + pSVar31->bNoDiscard;\n      puVar5 = (u8 *)0x64;\n    }\n  }" statement_identifier : (while_statement "while (iStack_204 != *piVar33) {\n    (**(code **)(pcVar37 + 0xdac70))();\nLAB_000b6830:\n    p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\nLAB_000b65d4:\n    puVar5 = (u8 *)sessionChangesetBufferRecord(pSVar24,(int)p_Var32,&pSVar31->bNoDiscard);\n    pSVar24[1].buf.aBuf = puVar5;\n    if (puVar5 == (u8 *)0x0) {\n      abPK->bNoDiscard = (int)(pSVar24->aData + pSVar24->iNext);\n      pSVar24->iNext = pSVar24->iNext + pSVar31->bNoDiscard;\n      puVar5 = (u8 *)0x64;\n    }\n  }" while (parenthesized_expression "(iStack_204 != *piVar33)" ( (binary_expression "iStack_204 != *piVar33" identifier != (pointer_expression "*piVar33" * identifier)) )) (compound_statement "{\n    (**(code **)(pcVar37 + 0xdac70))();\nLAB_000b6830:\n    p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;\nLAB_000b65d4:\n    puVar5 = (u8 *)sessionChangesetBufferRecord(pSVar24,(int)p_Var32,&pSVar31->bNoDiscard);\n    pSVar24[1].buf.aBuf = puVar5;\n    if (puVar5 == (u8 *)0x0) {\n      abPK->bNoDiscard = (int)(pSVar24->aData + pSVar24->iNext);\n      pSVar24->iNext = pSVar24->iNext + pSVar31->bNoDiscard;\n      puVar5 = (u8 *)0x64;\n    }\n  }" { (expression_statement "(**(code **)(pcVar37 + 0xdac70))();" (call_expression "(**(code **)(pcVar37 + 0xdac70))()" (parenthesized_expression "(**(code **)(pcVar37 + 0xdac70))" ( (pointer_expression "**(code **)(pcVar37 + 0xdac70)" * (pointer_expression "*(code **)(pcVar37 + 0xdac70)" * (cast_expression "(code **)(pcVar37 + 0xdac70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0xdac70)" ( (binary_expression "pcVar37 + 0xdac70" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000b6830:\n    p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;" statement_identifier : (expression_statement "p_Var32 = (_func_int_void_ptr_void_ptr_int_ptr *)0x0;" (assignment_expression "p_Var32 = (_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    puVar5 = (u8 *)sessionChangesetBufferRecord(pSVar24,(int)p_Var32,&pSVar31->bNoDiscard);" statement_identifier : (expression_statement "puVar5 = (u8 *)sessionChangesetBufferRecord(pSVar24,(int)p_Var32,&pSVar31->bNoDiscard);" (assignment_expression "puVar5 = (u8 *)sessionChangesetBufferRecord(pSVar24,(int)p_Var32,&pSVar31->bNoDiscard)" identifier = (cast_expression "(u8 *)sessionChangesetBufferRecord(pSVar24,(int)p_Var32,&pSVar31->bNoDiscard)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sessionChangesetBufferRecord(pSVar24,(int)p_Var32,&pSVar31->bNoDiscard)" identifier (argument_list "(pSVar24,(int)p_Var32,&pSVar31->bNoDiscard)" ( identifier , (cast_expression "(int)p_Var32" ( (type_descriptor "int" primitive_type) ) identifier) , (pointer_expression "&pSVar31->bNoDiscard" & (field_expression "pSVar31->bNoDiscard" identifier -> field_identifier)) ))))) ;)) (expression_statement "pSVar24[1].buf.aBuf = puVar5;" (assignment_expression "pSVar24[1].buf.aBuf = puVar5" (field_expression "pSVar24[1].buf.aBuf" (field_expression "pSVar24[1].buf" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (if_statement "if (puVar5 == (u8 *)0x0) {\n      abPK->bNoDiscard = (int)(pSVar24->aData + pSVar24->iNext);\n      pSVar24->iNext = pSVar24->iNext + pSVar31->bNoDiscard;\n      puVar5 = (u8 *)0x64;\n    }" if (parenthesized_expression "(puVar5 == (u8 *)0x0)" ( (binary_expression "puVar5 == (u8 *)0x0" identifier == (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      abPK->bNoDiscard = (int)(pSVar24->aData + pSVar24->iNext);\n      pSVar24->iNext = pSVar24->iNext + pSVar31->bNoDiscard;\n      puVar5 = (u8 *)0x64;\n    }" { (expression_statement "abPK->bNoDiscard = (int)(pSVar24->aData + pSVar24->iNext);" (assignment_expression "abPK->bNoDiscard = (int)(pSVar24->aData + pSVar24->iNext)" (field_expression "abPK->bNoDiscard" identifier -> field_identifier) = (cast_expression "(int)(pSVar24->aData + pSVar24->iNext)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pSVar24->aData + pSVar24->iNext)" ( (binary_expression "pSVar24->aData + pSVar24->iNext" (field_expression "pSVar24->aData" identifier -> field_identifier) + (field_expression "pSVar24->iNext" identifier -> field_identifier)) )))) ;) (expression_statement "pSVar24->iNext = pSVar24->iNext + pSVar31->bNoDiscard;" (assignment_expression "pSVar24->iNext = pSVar24->iNext + pSVar31->bNoDiscard" (field_expression "pSVar24->iNext" identifier -> field_identifier) = (binary_expression "pSVar24->iNext + pSVar31->bNoDiscard" (field_expression "pSVar24->iNext" identifier -> field_identifier) + (field_expression "pSVar31->bNoDiscard" identifier -> field_identifier))) ;) (expression_statement "puVar5 = (u8 *)0x64;" (assignment_expression "puVar5 = (u8 *)0x64" identifier = (cast_expression "(u8 *)0x64" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }))) (return_statement "return (int)puVar5;" return (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) ;) (labeled_statement "code_r0x000b6070:\n  pSVar31 = *(SessionInput **)pdVar13;" statement_identifier : (expression_statement "pSVar31 = *(SessionInput **)pdVar13;" (assignment_expression "pSVar31 = *(SessionInput **)pdVar13" identifier = (pointer_expression "*(SessionInput **)pdVar13" * (cast_expression "(SessionInput **)pdVar13" ( (type_descriptor "SessionInput **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;)) (expression_statement "piVar19 = *(int **)((int)pdVar13 + 4);" (assignment_expression "piVar19 = *(int **)((int)pdVar13 + 4)" identifier = (pointer_expression "*(int **)((int)pdVar13 + 4)" * (cast_expression "(int **)((int)pdVar13 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar13 + 4)" ( (binary_expression "(int)pdVar13 + 4" (cast_expression "(int)pdVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar39 = *pdVar13;" (assignment_expression "dVar39 = *pdVar13" identifier = (pointer_expression "*pdVar13" * identifier)) ;) (expression_statement "uVar2 = *(ushort *)&pSVar28->iNext;" (assignment_expression "uVar2 = *(ushort *)&pSVar28->iNext" identifier = (pointer_expression "*(ushort *)&pSVar28->iNext" * (cast_expression "(ushort *)&pSVar28->iNext" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar28->iNext" & (field_expression "pSVar28->iNext" identifier -> field_identifier))))) ;) (expression_statement "abPK = (SessionInput *)(uVar2 & 0x2400);" (assignment_expression "abPK = (SessionInput *)(uVar2 & 0x2400)" identifier = (cast_expression "(SessionInput *)(uVar2 & 0x2400)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar2 & 0x2400)" ( (binary_expression "uVar2 & 0x2400" identifier & number_literal) )))) ;) (expression_statement "pSVar24 = pSVar35;" (assignment_expression "pSVar24 = pSVar35" identifier = identifier) ;) (if_statement "if (pcVar4 == (code *)0x1) {\n    if ((uVar2 & 0x2400) == 0) {\n      pSVar28->iCurrent = (int)piVar19;\n      pSVar28->bNoDiscard = (int)pSVar31;\n      *(undefined2 *)&pSVar28->iNext = 4;\n    }\n    else {\n      pSStack_1a4 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(pSVar28);\n      pSVar24 = pSStack_1a4;\n    }\n  }\n  else {\n    pSStack_198 = pSVar31;\n    piStack_194 = piVar19;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)&pSVar28->iNext = 1;\n    }\n    else {\n      pSStack_1a4 = pSVar28;\n      pSStack_1a0 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(pSVar28);\n      pSVar28 = pSStack_1a4;\n      pSVar24 = pSStack_1a0;\n    }\n    if (!NAN(dVar39)) {\n      *(double *)pSVar28 = dVar39;\n      *(undefined2 *)&pSVar28->iNext = 8;\n    }\n  }" if (parenthesized_expression "(pcVar4 == (code *)0x1)" ( (binary_expression "pcVar4 == (code *)0x1" identifier == (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((uVar2 & 0x2400) == 0) {\n      pSVar28->iCurrent = (int)piVar19;\n      pSVar28->bNoDiscard = (int)pSVar31;\n      *(undefined2 *)&pSVar28->iNext = 4;\n    }\n    else {\n      pSStack_1a4 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(pSVar28);\n      pSVar24 = pSStack_1a4;\n    }\n  }" { (if_statement "if ((uVar2 & 0x2400) == 0) {\n      pSVar28->iCurrent = (int)piVar19;\n      pSVar28->bNoDiscard = (int)pSVar31;\n      *(undefined2 *)&pSVar28->iNext = 4;\n    }\n    else {\n      pSStack_1a4 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(pSVar28);\n      pSVar24 = pSStack_1a4;\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      pSVar28->iCurrent = (int)piVar19;\n      pSVar28->bNoDiscard = (int)pSVar31;\n      *(undefined2 *)&pSVar28->iNext = 4;\n    }" { (expression_statement "pSVar28->iCurrent = (int)piVar19;" (assignment_expression "pSVar28->iCurrent = (int)piVar19" (field_expression "pSVar28->iCurrent" identifier -> field_identifier) = (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pSVar28->bNoDiscard = (int)pSVar31;" (assignment_expression "pSVar28->bNoDiscard = (int)pSVar31" (field_expression "pSVar28->bNoDiscard" identifier -> field_identifier) = (cast_expression "(int)pSVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined2 *)&pSVar28->iNext = 4;" (assignment_expression "*(undefined2 *)&pSVar28->iNext = 4" (pointer_expression "*(undefined2 *)&pSVar28->iNext" * (cast_expression "(undefined2 *)&pSVar28->iNext" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar28->iNext" & (field_expression "pSVar28->iNext" identifier -> field_identifier)))) = number_literal) ;) }) (else_clause "else {\n      pSStack_1a4 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(pSVar28);\n      pSVar24 = pSStack_1a4;\n    }" else (compound_statement "{\n      pSStack_1a4 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(pSVar28);\n      pSVar24 = pSStack_1a4;\n    }" { (expression_statement "pSStack_1a4 = pSVar35;" (assignment_expression "pSStack_1a4 = pSVar35" identifier = identifier) ;) (expression_statement "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(pSVar28);" (call_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(pSVar28)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))" ( (pointer_expression "*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc)" * (cast_expression "(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc" (pointer_expression "*(int *)(pcStack_1c0 + -0x7d78)" * (cast_expression "(int *)(pcStack_1c0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7d78)" ( (binary_expression "pcStack_1c0 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pSVar28)" ( identifier ))) ;) (expression_statement "pSVar24 = pSStack_1a4;" (assignment_expression "pSVar24 = pSStack_1a4" identifier = identifier) ;) }))) }) (else_clause "else {\n    pSStack_198 = pSVar31;\n    piStack_194 = piVar19;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)&pSVar28->iNext = 1;\n    }\n    else {\n      pSStack_1a4 = pSVar28;\n      pSStack_1a0 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(pSVar28);\n      pSVar28 = pSStack_1a4;\n      pSVar24 = pSStack_1a0;\n    }\n    if (!NAN(dVar39)) {\n      *(double *)pSVar28 = dVar39;\n      *(undefined2 *)&pSVar28->iNext = 8;\n    }\n  }" else (compound_statement "{\n    pSStack_198 = pSVar31;\n    piStack_194 = piVar19;\n    if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)&pSVar28->iNext = 1;\n    }\n    else {\n      pSStack_1a4 = pSVar28;\n      pSStack_1a0 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(pSVar28);\n      pSVar28 = pSStack_1a4;\n      pSVar24 = pSStack_1a0;\n    }\n    if (!NAN(dVar39)) {\n      *(double *)pSVar28 = dVar39;\n      *(undefined2 *)&pSVar28->iNext = 8;\n    }\n  }" { (expression_statement "pSStack_198 = pSVar31;" (assignment_expression "pSStack_198 = pSVar31" identifier = identifier) ;) (expression_statement "piStack_194 = piVar19;" (assignment_expression "piStack_194 = piVar19" identifier = identifier) ;) (if_statement "if ((uVar2 & 0x2400) == 0) {\n      *(undefined2 *)&pSVar28->iNext = 1;\n    }\n    else {\n      pSStack_1a4 = pSVar28;\n      pSStack_1a0 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(pSVar28);\n      pSVar28 = pSStack_1a4;\n      pSVar24 = pSStack_1a0;\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 *)&pSVar28->iNext = 1;\n    }" { (expression_statement "*(undefined2 *)&pSVar28->iNext = 1;" (assignment_expression "*(undefined2 *)&pSVar28->iNext = 1" (pointer_expression "*(undefined2 *)&pSVar28->iNext" * (cast_expression "(undefined2 *)&pSVar28->iNext" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar28->iNext" & (field_expression "pSVar28->iNext" identifier -> field_identifier)))) = number_literal) ;) }) (else_clause "else {\n      pSStack_1a4 = pSVar28;\n      pSStack_1a0 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(pSVar28);\n      pSVar28 = pSStack_1a4;\n      pSVar24 = pSStack_1a0;\n    }" else (compound_statement "{\n      pSStack_1a4 = pSVar28;\n      pSStack_1a0 = pSVar35;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(pSVar28);\n      pSVar28 = pSStack_1a4;\n      pSVar24 = pSStack_1a0;\n    }" { (expression_statement "pSStack_1a4 = pSVar28;" (assignment_expression "pSStack_1a4 = pSVar28" identifier = identifier) ;) (expression_statement "pSStack_1a0 = pSVar35;" (assignment_expression "pSStack_1a0 = pSVar35" identifier = identifier) ;) (expression_statement "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(pSVar28);" (call_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(pSVar28)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))" ( (pointer_expression "*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170)" * (cast_expression "(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7d78) + -0x2170" (pointer_expression "*(int *)(pcStack_1c0 + -0x7d78)" * (cast_expression "(int *)(pcStack_1c0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7d78)" ( (binary_expression "pcStack_1c0 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pSVar28)" ( identifier ))) ;) (expression_statement "pSVar28 = pSStack_1a4;" (assignment_expression "pSVar28 = pSStack_1a4" identifier = identifier) ;) (expression_statement "pSVar24 = pSStack_1a0;" (assignment_expression "pSVar24 = pSStack_1a0" identifier = identifier) ;) }))) (if_statement "if (!NAN(dVar39)) {\n      *(double *)pSVar28 = dVar39;\n      *(undefined2 *)&pSVar28->iNext = 8;\n    }" if (parenthesized_expression "(!NAN(dVar39))" ( (unary_expression "!NAN(dVar39)" ! (call_expression "NAN(dVar39)" identifier (argument_list "(dVar39)" ( identifier )))) )) (compound_statement "{\n      *(double *)pSVar28 = dVar39;\n      *(undefined2 *)&pSVar28->iNext = 8;\n    }" { (expression_statement "*(double *)pSVar28 = dVar39;" (assignment_expression "*(double *)pSVar28 = dVar39" (pointer_expression "*(double *)pSVar28" * (cast_expression "(double *)pSVar28" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(undefined2 *)&pSVar28->iNext = 8;" (assignment_expression "*(undefined2 *)&pSVar28->iNext = 8" (pointer_expression "*(undefined2 *)&pSVar28->iNext" * (cast_expression "(undefined2 *)&pSVar28->iNext" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar28->iNext" & (field_expression "pSVar28->iNext" identifier -> field_identifier)))) = number_literal) ;) })) }))) (expression_statement "pSVar16 = (SessionInput *)(uint)((int)pSVar35 < (int)nByte);" (assignment_expression "pSVar16 = (SessionInput *)(uint)((int)pSVar35 < (int)nByte)" identifier = (cast_expression "(SessionInput *)(uint)((int)pSVar35 < (int)nByte)" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)pSVar35 < (int)nByte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pSVar35 < (int)nByte)" ( (binary_expression "(int)pSVar35 < (int)nByte" (cast_expression "(int)pSVar35" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)nByte" ( (type_descriptor "int" primitive_type) ) 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 (pSVar16 == (SessionInput *)0x0) {\n    pSVar6 = (SessionInput *)0x0;\n    pSVar34 = pSVar35;\n    pcVar37 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }" if (parenthesized_expression "(pSVar16 == (SessionInput *)0x0)" ( (binary_expression "pSVar16 == (SessionInput *)0x0" identifier == (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pSVar6 = (SessionInput *)0x0;\n    pSVar34 = pSVar35;\n    pcVar37 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }" { (expression_statement "pSVar6 = (SessionInput *)0x0;" (assignment_expression "pSVar6 = (SessionInput *)0x0" identifier = (cast_expression "(SessionInput *)0x0" ( (type_descriptor "SessionInput *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar34 = pSVar35;" (assignment_expression "pSVar34 = pSVar35" identifier = identifier) ;) (expression_statement "pcVar37 = pcStack_1c0;" (assignment_expression "pcVar37 = pcStack_1c0" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (goto_statement "goto LAB_000b5dac;" goto statement_identifier ;) })))
(translation_unit "double ******\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)\n\n{\n  byte bVar1;\n  code cVar2;\n  ushort uVar3;\n  code *pcVar4;\n  int iVar5;\n  double ******ppppppdVar6;\n  double ******ppppppdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *****pppppdVar10;\n  byte *pbVar11;\n  double *pdVar12;\n  char *pcVar13;\n  double ******ppppppdVar14;\n  double ******ppppppdVar15;\n  double ******ppppppdVar16;\n  double ******ppppppdVar17;\n  undefined4 uVar18;\n  int iVar19;\n  double ******unaff_s0;\n  int iVar20;\n  double ******ppppppdVar21;\n  double ******unaff_s1;\n  double ******ppppppdVar22;\n  double ******unaff_s2;\n  int *piVar23;\n  double ******ppppppdVar24;\n  int iVar25;\n  undefined *unaff_s3;\n  undefined *puVar26;\n  int iVar27;\n  int iVar28;\n  double ******ppppppdVar29;\n  double ******ppppppdVar30;\n  int unaff_s6;\n  int *piVar31;\n  undefined4 *puVar32;\n  double ******unaff_s7;\n  double ******ppppppdVar33;\n  double ******ppppppdVar34;\n  undefined *puVar35;\n  double ******unaff_s8;\n  code *pcVar36;\n  code *pcVar37;\n  double dVar38;\n  double *****pppppdStack_20c;\n  int iStack_208;\n  int iStack_204;\n  double *****pppppdStack_200;\n  int iStack_1fc;\n  double *****pppppdStack_1f8;\n  double *****pppppdStack_1f4;\n  double *****pppppdStack_1f0;\n  code *pcStack_1ec;\n  int *piStack_1e8;\n  double *****pppppdStack_1e4;\n  double *****pppppdStack_1e0;\n  code *pcStack_1dc;\n  int iStack_1c8;\n  code *pcStack_1c0;\n  double *****pppppdStack_1b4;\n  code *pcStack_1b0;\n  code *pcStack_1ac;\n  int iStack_1a8;\n  double *****pppppdStack_1a4;\n  double *****pppppdStack_1a0;\n  double *****pppppdStack_19c;\n  double *****pppppdStack_198;\n  double *****pppppdStack_194;\n  int iStack_18c;\n  double *****pppppdStack_188;\n  int iStack_184;\n  double *****pppppdStack_180;\n  double *****pppppdStack_17c;\n  double *****pppppdStack_178;\n  code *pcStack_174;\n  undefined4 *puStack_170;\n  double *****pppppdStack_16c;\n  double *****pppppdStack_168;\n  code *pcStack_164;\n  code *pcStack_148;\n  double *****pppppdStack_13c;\n  double ****ppppdStack_138;\n  double *****pppppdStack_134;\n  double ****ppppdStack_130;\n  double *****pppppdStack_12c;\n  int *piStack_128;\n  double *****pppppdStack_124;\n  int iStack_120;\n  int iStack_11c;\n  int *piStack_118;\n  double *****pppppdStack_114;\n  double *****pppppdStack_110;\n  code *pcStack_10c;\n  int iStack_f8;\n  code *pcStack_f0;\n  uint uStack_e8;\n  int iStack_e4;\n  double *****pppppdStack_dc;\n  double *****pppppdStack_d8;\n  double *****pppppdStack_d4;\n  undefined *puStack_d0;\n  double *****pppppdStack_cc;\n  double *****pppppdStack_c8;\n  code *pcStack_c4;\n  undefined *puStack_b0;\n  double *****pppppdStack_a4;\n  double ****ppppdStack_a0;\n  int iStack_9c;\n  double *****pppppdStack_98;\n  double *****pppppdStack_94;\n  double *****pppppdStack_90;\n  undefined *puStack_8c;\n  double *****pppppdStack_88;\n  double *****pppppdStack_84;\n  int iStack_80;\n  double *****pppppdStack_7c;\n  double *****pppppdStack_78;\n  code *pcStack_74;\n  double *****local_3c;\n  double *****local_38;\n  double *****local_34;\n  undefined4 local_30;\n  double *****local_2c;\n  \n  puVar35 = PTR___stack_chk_guard_00190e24;\n  local_3c = (double *****)0x0;\n  local_38 = (double *****)0x0;\n  local_34 = (double *****)0x0;\n  local_30 = 0;\n  local_2c = *(double ******)PTR___stack_chk_guard_00190e24;\n  ppppppdVar17 = param_4;\n  if (param_2 == (double ******)0x0) {\n    ppppppdVar16 = param_3;\n    if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }\nLAB_000b5730:\n  ppppppdVar30 = (double ******)local_38;\n  (*(code *)PTR_sqlite3_free_0019096c)(local_38);\n  if ((double ******)local_2c == *(double *******)puVar35) {\n    return (double ******)local_3c;\n  }\n  pcVar4 = FUN_000b57e0;\n  ppppppdVar15 = (double ******)local_2c;\n  puVar35 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar35 + 0xe3140;\n  piVar31 = *(int **)(puVar35 + 0xdb644);\n  pppppdStack_a4 = (double *****)0x0;\n  iStack_9c = *piVar31;\n  ppppppdVar29 = (double ******)0x0;\n  ppppppdVar14 = param_2;\n  ppppppdVar21 = unaff_s0;\n  ppppppdVar24 = unaff_s2;\n  pppppdStack_98 = (double *****)unaff_s0;\n  pppppdStack_94 = (double *****)unaff_s1;\n  pppppdStack_90 = (double *****)unaff_s2;\n  puStack_8c = unaff_s3;\n  pppppdStack_88 = (double *****)param_3;\n  pppppdStack_84 = (double *****)ppppppdVar30;\n  iStack_80 = unaff_s6;\n  pppppdStack_7c = (double *****)unaff_s7;\n  pppppdStack_78 = (double *****)unaff_s8;\n  pcStack_74 = pcVar4;\n  if (ppppppdVar15[8] != (double *****)0x0) {\n    ppppppdVar21 = ppppppdVar15;\n    if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }\n  }\n  if (iStack_9c == *piVar31) {\n    return ppppppdVar29;\n  }\n  pcVar4 = *(code **)(puStack_b0 + -0x7b28);\n  pcVar36 = FUN_000b5998;\n  iVar5 = iStack_9c;\n  pppppdStack_a4 = (double *****)ppppppdVar29;\n  (*pcVar4)();\n  pcStack_f0 = pcVar4 + 0xe2f88;\n  ppppppdVar29 = (double ******)&DAT_00000009;\n  piVar23 = *(int **)(pcVar4 + 0xdb48c);\n  iVar28 = *(int *)(pcVar4 + 0xdb294);\n  uStack_e8 = 0;\n  iStack_e4 = *piVar23;\n  pppppdStack_dc = (double *****)ppppppdVar21;\n  pppppdStack_d8 = (double *****)unaff_s1;\n  pppppdStack_d4 = (double *****)ppppppdVar24;\n  puStack_d0 = unaff_s3;\n  pppppdStack_cc = (double *****)param_3;\n  pppppdStack_c8 = (double *****)ppppppdVar30;\n  pcStack_c4 = pcVar36;\n  ppppppdVar30 = (double ******)FUN_000b57e0();\n  if (ppppppdVar30 == (double ******)0x0) {\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);\n    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);\n    iVar20 = iVar20 + uStack_e8;\n    if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }\n  }\n  else {\n    pppppdVar10 = (double *****)0x1;\n  }\nLAB_000b5ad4:\n  *ppppppdVar14 = pppppdVar10;\n  if (iStack_e4 == *piVar23) {\n    return ppppppdVar30;\n  }\n  pcVar4 = *(code **)(pcStack_f0 + -0x7b28);\n  pcVar36 = FUN_000b5b8c;\n  iVar20 = iStack_e4;\n  (*pcVar4)();\n  pcStack_148 = pcVar4 + 0xe2d94;\n  ppppppdVar33 = (double ******)&ppppdStack_138;\n  ppppppdVar24 = (double ******)0x0;\n  ppppppdVar21 = (double ******)0x0;\n  puVar32 = *(undefined4 **)(pcVar4 + 0xdb298);\n  pppppdStack_134 = (double *****)*puVar32;\n  ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);\n  pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);\n  ppppppdVar6 = (double ******)0x0;\n  ppppppdVar15 = ppppppdVar29;\n  pppppdStack_13c = (double *****)ppppppdVar16;\n  ppppdStack_130 = (double ****)pppppdVar10;\n  pppppdStack_12c = (double *****)ppppppdVar30;\n  piStack_128 = piVar23;\n  pppppdStack_124 = (double *****)ppppppdVar14;\n  iStack_120 = iVar28 + 0x57e0;\n  iStack_11c = iVar5;\n  piStack_118 = piVar31;\n  pppppdStack_114 = (double *****)unaff_s7;\n  pppppdStack_110 = (double *****)unaff_s8;\n  pcStack_10c = pcVar36;\n  if (0 < (int)ppppppdVar29) {\n    do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));\n  }\nLAB_000b5c24:\n  *pppppdStack_13c = (double ****)ppppppdVar21;\n  if ((double ******)pppppdStack_134 == (double ******)*puVar32) {\n    return ppppppdVar6;\n  }\n  pcVar36 = *(code **)(pcStack_148 + -0x7b28);\n  pcVar37 = FUN_000b5d20;\n  ppppppdVar6 = (double ******)pppppdStack_134;\n  (*pcVar36)();\n  pcStack_1c0 = pcVar36 + 0xe2c00;\n  piVar31 = *(int **)(pcVar36 + 0xdb104);\n  iStack_18c = *piVar31;\n  ppppppdVar14 = ppppppdVar15;\n  ppppppdVar30 = ppppppdVar16;\n  pppppdStack_1b4 = (double *****)ppppppdVar17;\n  pppppdStack_188 = (double *****)ppppppdVar21;\n  iStack_184 = iVar20;\n  pppppdStack_180 = (double *****)ppppppdVar24;\n  pppppdStack_17c = (double *****)ppppppdVar22;\n  pppppdStack_178 = (double *****)ppppppdVar29;\n  pcStack_174 = pcVar4;\n  puStack_170 = puVar32;\n  pppppdStack_16c = (double *****)ppppppdVar33;\n  pppppdStack_168 = (double *****)unaff_s8;\n  pcStack_164 = pcVar37;\n  if (0 < (int)ppppppdVar15) {\n    ppppppdVar21 = (double ******)0x0;\n    pcVar4 = *(code **)(pcVar36 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);\n    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;\n    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);\nLAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;\n    ppppppdVar33 = ppppppdVar21;\n    pcVar36 = pcStack_1c0;\nLAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }\n    ppppppdVar14 = (double ******)&DAT_00000009;\n    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n    pcVar36 = pcStack_1c0;\n    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n    pppppdVar10 = ppppppdVar6[2];\n    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    ppppppdVar6[2] = (double *****)ppppppdVar14;\n    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);\n    if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }\n    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n    ppppppdVar21 = ppppppdVar16;\n    ppppppdVar24 = ppppppdVar15;\n    pcVar36 = pcStack_1c0;\n    unaff_s8 = ppppppdVar6;\n    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  ppppppdVar7 = (double ******)0x0;\n  ppppppdVar16 = ppppppdVar21;\n  ppppppdVar15 = ppppppdVar24;\n  pcVar36 = pcStack_1c0;\n  ppppppdVar6 = unaff_s8;\nLAB_000b5de4:\n  if (iStack_18c == *piVar31) {\n    return ppppppdVar7;\n  }\n  pcVar36 = *(code **)(pcVar36 + -0x7b28);\n  pcVar37 = FUN_000b6188;\n  iVar5 = iStack_18c;\n  (*pcVar36)();\n  piVar23 = *(int **)(pcVar36 + 0xdac9c);\n  iVar28 = *(int *)(iVar5 + 0x5c);\n  iStack_204 = *piVar23;\n  pppppdStack_200 = (double *****)ppppppdVar16;\n  iStack_1fc = iVar20;\n  pppppdStack_1f8 = (double *****)ppppppdVar15;\n  pppppdStack_1f4 = (double *****)ppppppdVar22;\n  pppppdStack_1f0 = (double *****)ppppppdVar29;\n  pcStack_1ec = pcVar4;\n  piStack_1e8 = piVar31;\n  pppppdStack_1e4 = (double *****)ppppppdVar33;\n  pppppdStack_1e0 = (double *****)ppppppdVar6;\n  pcStack_1dc = pcVar37;\n  if (iVar28 != 0) {\n    iVar20 = *(int *)(iVar5 + 0x4c);\n    iVar25 = 0;\n    if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }\n    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);\n  }\n  ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n  *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n  if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n  if (*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)) {\nLAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5);\n  iVar28 = *(int *)(iVar5 + 8);\n  iVar20 = *(int *)(iVar5 + 0xc);\n  iVar25 = *(int *)(pcVar36 + 0xdaa20);\n  *(int *)(iVar5 + 4) = iVar28;\n  *(int *)(iVar5 + 8) = iVar28 + 1;\n  bVar1 = *(byte *)(iVar20 + iVar28);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }\n    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);\n    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar5 + 0x30) = 0;\n    iStack_208 = iStack_208 - iVar28;\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;\n    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;\n    iVar28 = *(int *)(iVar5 + 0x4c) * 8;\n    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);\n    (**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);\n    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n    *(int *)(iVar5 + 0x58) = iVar28;\n    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;\n    ppppppdVar16 = (double ******)pppppdStack_20c;\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;\n    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n    iVar28 = *(int *)(iVar5 + 8);\n    *(int *)(iVar5 + 4) = iVar28;\n    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;\n    iVar20 = *(int *)(iVar5 + 0xc);\n    *(int *)(iVar5 + 8) = iVar28 + 1;\n    bVar1 = *(byte *)(iVar20 + iVar28);\n  }\n  if ((*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c);\n  ppppppdVar16 = (double ******)&DAT_0000000b;\n  *(undefined4 *)(iVar5 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_204 != *piVar23) {\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }\n  return ppppppdVar16;\ncode_r0x000b6070:\n  ppppppdVar30 = *(double *******)pdVar12;\n  ppppppdVar17 = *(double *******)((int)pdVar12 + 4);\n  dVar38 = *pdVar12;\n  uVar3 = *(ushort *)(ppppppdVar24 + 2);\n  ppppppdVar14 = (double ******)(uVar3 & 0x2400);\n  ppppppdVar21 = ppppppdVar34;\n  if (pcVar4 == (code *)0x1) {\n    if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }\n  }\n  else {\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }\n  ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15);\n  ppppppdVar6[2] = ppppppdVar6[2] + 2;\n  if (ppppppdVar29 == (double ******)0x0) {\n    ppppppdVar7 = (double ******)0x0;\n    ppppppdVar33 = ppppppdVar34;\n    pcVar36 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}\n\n" (function_definition "double ******\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)\n\n{\n  byte bVar1;\n  code cVar2;\n  ushort uVar3;\n  code *pcVar4;\n  int iVar5;\n  double ******ppppppdVar6;\n  double ******ppppppdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *****pppppdVar10;\n  byte *pbVar11;\n  double *pdVar12;\n  char *pcVar13;\n  double ******ppppppdVar14;\n  double ******ppppppdVar15;\n  double ******ppppppdVar16;\n  double ******ppppppdVar17;\n  undefined4 uVar18;\n  int iVar19;\n  double ******unaff_s0;\n  int iVar20;\n  double ******ppppppdVar21;\n  double ******unaff_s1;\n  double ******ppppppdVar22;\n  double ******unaff_s2;\n  int *piVar23;\n  double ******ppppppdVar24;\n  int iVar25;\n  undefined *unaff_s3;\n  undefined *puVar26;\n  int iVar27;\n  int iVar28;\n  double ******ppppppdVar29;\n  double ******ppppppdVar30;\n  int unaff_s6;\n  int *piVar31;\n  undefined4 *puVar32;\n  double ******unaff_s7;\n  double ******ppppppdVar33;\n  double ******ppppppdVar34;\n  undefined *puVar35;\n  double ******unaff_s8;\n  code *pcVar36;\n  code *pcVar37;\n  double dVar38;\n  double *****pppppdStack_20c;\n  int iStack_208;\n  int iStack_204;\n  double *****pppppdStack_200;\n  int iStack_1fc;\n  double *****pppppdStack_1f8;\n  double *****pppppdStack_1f4;\n  double *****pppppdStack_1f0;\n  code *pcStack_1ec;\n  int *piStack_1e8;\n  double *****pppppdStack_1e4;\n  double *****pppppdStack_1e0;\n  code *pcStack_1dc;\n  int iStack_1c8;\n  code *pcStack_1c0;\n  double *****pppppdStack_1b4;\n  code *pcStack_1b0;\n  code *pcStack_1ac;\n  int iStack_1a8;\n  double *****pppppdStack_1a4;\n  double *****pppppdStack_1a0;\n  double *****pppppdStack_19c;\n  double *****pppppdStack_198;\n  double *****pppppdStack_194;\n  int iStack_18c;\n  double *****pppppdStack_188;\n  int iStack_184;\n  double *****pppppdStack_180;\n  double *****pppppdStack_17c;\n  double *****pppppdStack_178;\n  code *pcStack_174;\n  undefined4 *puStack_170;\n  double *****pppppdStack_16c;\n  double *****pppppdStack_168;\n  code *pcStack_164;\n  code *pcStack_148;\n  double *****pppppdStack_13c;\n  double ****ppppdStack_138;\n  double *****pppppdStack_134;\n  double ****ppppdStack_130;\n  double *****pppppdStack_12c;\n  int *piStack_128;\n  double *****pppppdStack_124;\n  int iStack_120;\n  int iStack_11c;\n  int *piStack_118;\n  double *****pppppdStack_114;\n  double *****pppppdStack_110;\n  code *pcStack_10c;\n  int iStack_f8;\n  code *pcStack_f0;\n  uint uStack_e8;\n  int iStack_e4;\n  double *****pppppdStack_dc;\n  double *****pppppdStack_d8;\n  double *****pppppdStack_d4;\n  undefined *puStack_d0;\n  double *****pppppdStack_cc;\n  double *****pppppdStack_c8;\n  code *pcStack_c4;\n  undefined *puStack_b0;\n  double *****pppppdStack_a4;\n  double ****ppppdStack_a0;\n  int iStack_9c;\n  double *****pppppdStack_98;\n  double *****pppppdStack_94;\n  double *****pppppdStack_90;\n  undefined *puStack_8c;\n  double *****pppppdStack_88;\n  double *****pppppdStack_84;\n  int iStack_80;\n  double *****pppppdStack_7c;\n  double *****pppppdStack_78;\n  code *pcStack_74;\n  double *****local_3c;\n  double *****local_38;\n  double *****local_34;\n  undefined4 local_30;\n  double *****local_2c;\n  \n  puVar35 = PTR___stack_chk_guard_00190e24;\n  local_3c = (double *****)0x0;\n  local_38 = (double *****)0x0;\n  local_34 = (double *****)0x0;\n  local_30 = 0;\n  local_2c = *(double ******)PTR___stack_chk_guard_00190e24;\n  ppppppdVar17 = param_4;\n  if (param_2 == (double ******)0x0) {\n    ppppppdVar16 = param_3;\n    if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }\nLAB_000b5730:\n  ppppppdVar30 = (double ******)local_38;\n  (*(code *)PTR_sqlite3_free_0019096c)(local_38);\n  if ((double ******)local_2c == *(double *******)puVar35) {\n    return (double ******)local_3c;\n  }\n  pcVar4 = FUN_000b57e0;\n  ppppppdVar15 = (double ******)local_2c;\n  puVar35 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar35 + 0xe3140;\n  piVar31 = *(int **)(puVar35 + 0xdb644);\n  pppppdStack_a4 = (double *****)0x0;\n  iStack_9c = *piVar31;\n  ppppppdVar29 = (double ******)0x0;\n  ppppppdVar14 = param_2;\n  ppppppdVar21 = unaff_s0;\n  ppppppdVar24 = unaff_s2;\n  pppppdStack_98 = (double *****)unaff_s0;\n  pppppdStack_94 = (double *****)unaff_s1;\n  pppppdStack_90 = (double *****)unaff_s2;\n  puStack_8c = unaff_s3;\n  pppppdStack_88 = (double *****)param_3;\n  pppppdStack_84 = (double *****)ppppppdVar30;\n  iStack_80 = unaff_s6;\n  pppppdStack_7c = (double *****)unaff_s7;\n  pppppdStack_78 = (double *****)unaff_s8;\n  pcStack_74 = pcVar4;\n  if (ppppppdVar15[8] != (double *****)0x0) {\n    ppppppdVar21 = ppppppdVar15;\n    if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }\n  }\n  if (iStack_9c == *piVar31) {\n    return ppppppdVar29;\n  }\n  pcVar4 = *(code **)(puStack_b0 + -0x7b28);\n  pcVar36 = FUN_000b5998;\n  iVar5 = iStack_9c;\n  pppppdStack_a4 = (double *****)ppppppdVar29;\n  (*pcVar4)();\n  pcStack_f0 = pcVar4 + 0xe2f88;\n  ppppppdVar29 = (double ******)&DAT_00000009;\n  piVar23 = *(int **)(pcVar4 + 0xdb48c);\n  iVar28 = *(int *)(pcVar4 + 0xdb294);\n  uStack_e8 = 0;\n  iStack_e4 = *piVar23;\n  pppppdStack_dc = (double *****)ppppppdVar21;\n  pppppdStack_d8 = (double *****)unaff_s1;\n  pppppdStack_d4 = (double *****)ppppppdVar24;\n  puStack_d0 = unaff_s3;\n  pppppdStack_cc = (double *****)param_3;\n  pppppdStack_c8 = (double *****)ppppppdVar30;\n  pcStack_c4 = pcVar36;\n  ppppppdVar30 = (double ******)FUN_000b57e0();\n  if (ppppppdVar30 == (double ******)0x0) {\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);\n    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);\n    iVar20 = iVar20 + uStack_e8;\n    if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }\n  }\n  else {\n    pppppdVar10 = (double *****)0x1;\n  }\nLAB_000b5ad4:\n  *ppppppdVar14 = pppppdVar10;\n  if (iStack_e4 == *piVar23) {\n    return ppppppdVar30;\n  }\n  pcVar4 = *(code **)(pcStack_f0 + -0x7b28);\n  pcVar36 = FUN_000b5b8c;\n  iVar20 = iStack_e4;\n  (*pcVar4)();\n  pcStack_148 = pcVar4 + 0xe2d94;\n  ppppppdVar33 = (double ******)&ppppdStack_138;\n  ppppppdVar24 = (double ******)0x0;\n  ppppppdVar21 = (double ******)0x0;\n  puVar32 = *(undefined4 **)(pcVar4 + 0xdb298);\n  pppppdStack_134 = (double *****)*puVar32;\n  ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);\n  pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);\n  ppppppdVar6 = (double ******)0x0;\n  ppppppdVar15 = ppppppdVar29;\n  pppppdStack_13c = (double *****)ppppppdVar16;\n  ppppdStack_130 = (double ****)pppppdVar10;\n  pppppdStack_12c = (double *****)ppppppdVar30;\n  piStack_128 = piVar23;\n  pppppdStack_124 = (double *****)ppppppdVar14;\n  iStack_120 = iVar28 + 0x57e0;\n  iStack_11c = iVar5;\n  piStack_118 = piVar31;\n  pppppdStack_114 = (double *****)unaff_s7;\n  pppppdStack_110 = (double *****)unaff_s8;\n  pcStack_10c = pcVar36;\n  if (0 < (int)ppppppdVar29) {\n    do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));\n  }\nLAB_000b5c24:\n  *pppppdStack_13c = (double ****)ppppppdVar21;\n  if ((double ******)pppppdStack_134 == (double ******)*puVar32) {\n    return ppppppdVar6;\n  }\n  pcVar36 = *(code **)(pcStack_148 + -0x7b28);\n  pcVar37 = FUN_000b5d20;\n  ppppppdVar6 = (double ******)pppppdStack_134;\n  (*pcVar36)();\n  pcStack_1c0 = pcVar36 + 0xe2c00;\n  piVar31 = *(int **)(pcVar36 + 0xdb104);\n  iStack_18c = *piVar31;\n  ppppppdVar14 = ppppppdVar15;\n  ppppppdVar30 = ppppppdVar16;\n  pppppdStack_1b4 = (double *****)ppppppdVar17;\n  pppppdStack_188 = (double *****)ppppppdVar21;\n  iStack_184 = iVar20;\n  pppppdStack_180 = (double *****)ppppppdVar24;\n  pppppdStack_17c = (double *****)ppppppdVar22;\n  pppppdStack_178 = (double *****)ppppppdVar29;\n  pcStack_174 = pcVar4;\n  puStack_170 = puVar32;\n  pppppdStack_16c = (double *****)ppppppdVar33;\n  pppppdStack_168 = (double *****)unaff_s8;\n  pcStack_164 = pcVar37;\n  if (0 < (int)ppppppdVar15) {\n    ppppppdVar21 = (double ******)0x0;\n    pcVar4 = *(code **)(pcVar36 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);\n    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;\n    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);\nLAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;\n    ppppppdVar33 = ppppppdVar21;\n    pcVar36 = pcStack_1c0;\nLAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }\n    ppppppdVar14 = (double ******)&DAT_00000009;\n    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n    pcVar36 = pcStack_1c0;\n    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n    pppppdVar10 = ppppppdVar6[2];\n    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    ppppppdVar6[2] = (double *****)ppppppdVar14;\n    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);\n    if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }\n    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n    ppppppdVar21 = ppppppdVar16;\n    ppppppdVar24 = ppppppdVar15;\n    pcVar36 = pcStack_1c0;\n    unaff_s8 = ppppppdVar6;\n    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  ppppppdVar7 = (double ******)0x0;\n  ppppppdVar16 = ppppppdVar21;\n  ppppppdVar15 = ppppppdVar24;\n  pcVar36 = pcStack_1c0;\n  ppppppdVar6 = unaff_s8;\nLAB_000b5de4:\n  if (iStack_18c == *piVar31) {\n    return ppppppdVar7;\n  }\n  pcVar36 = *(code **)(pcVar36 + -0x7b28);\n  pcVar37 = FUN_000b6188;\n  iVar5 = iStack_18c;\n  (*pcVar36)();\n  piVar23 = *(int **)(pcVar36 + 0xdac9c);\n  iVar28 = *(int *)(iVar5 + 0x5c);\n  iStack_204 = *piVar23;\n  pppppdStack_200 = (double *****)ppppppdVar16;\n  iStack_1fc = iVar20;\n  pppppdStack_1f8 = (double *****)ppppppdVar15;\n  pppppdStack_1f4 = (double *****)ppppppdVar22;\n  pppppdStack_1f0 = (double *****)ppppppdVar29;\n  pcStack_1ec = pcVar4;\n  piStack_1e8 = piVar31;\n  pppppdStack_1e4 = (double *****)ppppppdVar33;\n  pppppdStack_1e0 = (double *****)ppppppdVar6;\n  pcStack_1dc = pcVar37;\n  if (iVar28 != 0) {\n    iVar20 = *(int *)(iVar5 + 0x4c);\n    iVar25 = 0;\n    if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }\n    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);\n  }\n  ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n  *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n  if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n  if (*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)) {\nLAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5);\n  iVar28 = *(int *)(iVar5 + 8);\n  iVar20 = *(int *)(iVar5 + 0xc);\n  iVar25 = *(int *)(pcVar36 + 0xdaa20);\n  *(int *)(iVar5 + 4) = iVar28;\n  *(int *)(iVar5 + 8) = iVar28 + 1;\n  bVar1 = *(byte *)(iVar20 + iVar28);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }\n    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);\n    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar5 + 0x30) = 0;\n    iStack_208 = iStack_208 - iVar28;\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;\n    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;\n    iVar28 = *(int *)(iVar5 + 0x4c) * 8;\n    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);\n    (**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);\n    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n    *(int *)(iVar5 + 0x58) = iVar28;\n    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;\n    ppppppdVar16 = (double ******)pppppdStack_20c;\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;\n    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n    iVar28 = *(int *)(iVar5 + 8);\n    *(int *)(iVar5 + 4) = iVar28;\n    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;\n    iVar20 = *(int *)(iVar5 + 0xc);\n    *(int *)(iVar5 + 8) = iVar28 + 1;\n    bVar1 = *(byte *)(iVar20 + iVar28);\n  }\n  if ((*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c);\n  ppppppdVar16 = (double ******)&DAT_0000000b;\n  *(undefined4 *)(iVar5 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_204 != *piVar23) {\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }\n  return ppppppdVar16;\ncode_r0x000b6070:\n  ppppppdVar30 = *(double *******)pdVar12;\n  ppppppdVar17 = *(double *******)((int)pdVar12 + 4);\n  dVar38 = *pdVar12;\n  uVar3 = *(ushort *)(ppppppdVar24 + 2);\n  ppppppdVar14 = (double ******)(uVar3 & 0x2400);\n  ppppppdVar21 = ppppppdVar34;\n  if (pcVar4 == (code *)0x1) {\n    if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }\n  }\n  else {\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }\n  ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15);\n  ppppppdVar6[2] = ppppppdVar6[2] + 2;\n  if (ppppppdVar29 == (double ******)0x0) {\n    ppppppdVar7 = (double ******)0x0;\n    ppppppdVar33 = ppppppdVar34;\n    pcVar36 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" primitive_type (pointer_declarator "******\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" * (pointer_declarator "*****\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" * (pointer_declarator "****\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" * (pointer_declarator "***\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" * (pointer_declarator "**\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" * (pointer_declarator "*\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" * (function_declarator "FUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" identifier (parameter_list "(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "double ******param_2" primitive_type (pointer_declarator "******param_2" * (pointer_declarator "*****param_2" * (pointer_declarator "****param_2" * (pointer_declarator "***param_2" * (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier))))))) , (parameter_declaration "double ******param_3" primitive_type (pointer_declarator "******param_3" * (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier))))))) , (parameter_declaration "double ******param_4" primitive_type (pointer_declarator "******param_4" * (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))))))) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "undefined4 *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) ))))))))) (compound_statement "{\n  byte bVar1;\n  code cVar2;\n  ushort uVar3;\n  code *pcVar4;\n  int iVar5;\n  double ******ppppppdVar6;\n  double ******ppppppdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *****pppppdVar10;\n  byte *pbVar11;\n  double *pdVar12;\n  char *pcVar13;\n  double ******ppppppdVar14;\n  double ******ppppppdVar15;\n  double ******ppppppdVar16;\n  double ******ppppppdVar17;\n  undefined4 uVar18;\n  int iVar19;\n  double ******unaff_s0;\n  int iVar20;\n  double ******ppppppdVar21;\n  double ******unaff_s1;\n  double ******ppppppdVar22;\n  double ******unaff_s2;\n  int *piVar23;\n  double ******ppppppdVar24;\n  int iVar25;\n  undefined *unaff_s3;\n  undefined *puVar26;\n  int iVar27;\n  int iVar28;\n  double ******ppppppdVar29;\n  double ******ppppppdVar30;\n  int unaff_s6;\n  int *piVar31;\n  undefined4 *puVar32;\n  double ******unaff_s7;\n  double ******ppppppdVar33;\n  double ******ppppppdVar34;\n  undefined *puVar35;\n  double ******unaff_s8;\n  code *pcVar36;\n  code *pcVar37;\n  double dVar38;\n  double *****pppppdStack_20c;\n  int iStack_208;\n  int iStack_204;\n  double *****pppppdStack_200;\n  int iStack_1fc;\n  double *****pppppdStack_1f8;\n  double *****pppppdStack_1f4;\n  double *****pppppdStack_1f0;\n  code *pcStack_1ec;\n  int *piStack_1e8;\n  double *****pppppdStack_1e4;\n  double *****pppppdStack_1e0;\n  code *pcStack_1dc;\n  int iStack_1c8;\n  code *pcStack_1c0;\n  double *****pppppdStack_1b4;\n  code *pcStack_1b0;\n  code *pcStack_1ac;\n  int iStack_1a8;\n  double *****pppppdStack_1a4;\n  double *****pppppdStack_1a0;\n  double *****pppppdStack_19c;\n  double *****pppppdStack_198;\n  double *****pppppdStack_194;\n  int iStack_18c;\n  double *****pppppdStack_188;\n  int iStack_184;\n  double *****pppppdStack_180;\n  double *****pppppdStack_17c;\n  double *****pppppdStack_178;\n  code *pcStack_174;\n  undefined4 *puStack_170;\n  double *****pppppdStack_16c;\n  double *****pppppdStack_168;\n  code *pcStack_164;\n  code *pcStack_148;\n  double *****pppppdStack_13c;\n  double ****ppppdStack_138;\n  double *****pppppdStack_134;\n  double ****ppppdStack_130;\n  double *****pppppdStack_12c;\n  int *piStack_128;\n  double *****pppppdStack_124;\n  int iStack_120;\n  int iStack_11c;\n  int *piStack_118;\n  double *****pppppdStack_114;\n  double *****pppppdStack_110;\n  code *pcStack_10c;\n  int iStack_f8;\n  code *pcStack_f0;\n  uint uStack_e8;\n  int iStack_e4;\n  double *****pppppdStack_dc;\n  double *****pppppdStack_d8;\n  double *****pppppdStack_d4;\n  undefined *puStack_d0;\n  double *****pppppdStack_cc;\n  double *****pppppdStack_c8;\n  code *pcStack_c4;\n  undefined *puStack_b0;\n  double *****pppppdStack_a4;\n  double ****ppppdStack_a0;\n  int iStack_9c;\n  double *****pppppdStack_98;\n  double *****pppppdStack_94;\n  double *****pppppdStack_90;\n  undefined *puStack_8c;\n  double *****pppppdStack_88;\n  double *****pppppdStack_84;\n  int iStack_80;\n  double *****pppppdStack_7c;\n  double *****pppppdStack_78;\n  code *pcStack_74;\n  double *****local_3c;\n  double *****local_38;\n  double *****local_34;\n  undefined4 local_30;\n  double *****local_2c;\n  \n  puVar35 = PTR___stack_chk_guard_00190e24;\n  local_3c = (double *****)0x0;\n  local_38 = (double *****)0x0;\n  local_34 = (double *****)0x0;\n  local_30 = 0;\n  local_2c = *(double ******)PTR___stack_chk_guard_00190e24;\n  ppppppdVar17 = param_4;\n  if (param_2 == (double ******)0x0) {\n    ppppppdVar16 = param_3;\n    if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }\nLAB_000b5730:\n  ppppppdVar30 = (double ******)local_38;\n  (*(code *)PTR_sqlite3_free_0019096c)(local_38);\n  if ((double ******)local_2c == *(double *******)puVar35) {\n    return (double ******)local_3c;\n  }\n  pcVar4 = FUN_000b57e0;\n  ppppppdVar15 = (double ******)local_2c;\n  puVar35 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar35 + 0xe3140;\n  piVar31 = *(int **)(puVar35 + 0xdb644);\n  pppppdStack_a4 = (double *****)0x0;\n  iStack_9c = *piVar31;\n  ppppppdVar29 = (double ******)0x0;\n  ppppppdVar14 = param_2;\n  ppppppdVar21 = unaff_s0;\n  ppppppdVar24 = unaff_s2;\n  pppppdStack_98 = (double *****)unaff_s0;\n  pppppdStack_94 = (double *****)unaff_s1;\n  pppppdStack_90 = (double *****)unaff_s2;\n  puStack_8c = unaff_s3;\n  pppppdStack_88 = (double *****)param_3;\n  pppppdStack_84 = (double *****)ppppppdVar30;\n  iStack_80 = unaff_s6;\n  pppppdStack_7c = (double *****)unaff_s7;\n  pppppdStack_78 = (double *****)unaff_s8;\n  pcStack_74 = pcVar4;\n  if (ppppppdVar15[8] != (double *****)0x0) {\n    ppppppdVar21 = ppppppdVar15;\n    if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }\n  }\n  if (iStack_9c == *piVar31) {\n    return ppppppdVar29;\n  }\n  pcVar4 = *(code **)(puStack_b0 + -0x7b28);\n  pcVar36 = FUN_000b5998;\n  iVar5 = iStack_9c;\n  pppppdStack_a4 = (double *****)ppppppdVar29;\n  (*pcVar4)();\n  pcStack_f0 = pcVar4 + 0xe2f88;\n  ppppppdVar29 = (double ******)&DAT_00000009;\n  piVar23 = *(int **)(pcVar4 + 0xdb48c);\n  iVar28 = *(int *)(pcVar4 + 0xdb294);\n  uStack_e8 = 0;\n  iStack_e4 = *piVar23;\n  pppppdStack_dc = (double *****)ppppppdVar21;\n  pppppdStack_d8 = (double *****)unaff_s1;\n  pppppdStack_d4 = (double *****)ppppppdVar24;\n  puStack_d0 = unaff_s3;\n  pppppdStack_cc = (double *****)param_3;\n  pppppdStack_c8 = (double *****)ppppppdVar30;\n  pcStack_c4 = pcVar36;\n  ppppppdVar30 = (double ******)FUN_000b57e0();\n  if (ppppppdVar30 == (double ******)0x0) {\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);\n    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);\n    iVar20 = iVar20 + uStack_e8;\n    if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }\n  }\n  else {\n    pppppdVar10 = (double *****)0x1;\n  }\nLAB_000b5ad4:\n  *ppppppdVar14 = pppppdVar10;\n  if (iStack_e4 == *piVar23) {\n    return ppppppdVar30;\n  }\n  pcVar4 = *(code **)(pcStack_f0 + -0x7b28);\n  pcVar36 = FUN_000b5b8c;\n  iVar20 = iStack_e4;\n  (*pcVar4)();\n  pcStack_148 = pcVar4 + 0xe2d94;\n  ppppppdVar33 = (double ******)&ppppdStack_138;\n  ppppppdVar24 = (double ******)0x0;\n  ppppppdVar21 = (double ******)0x0;\n  puVar32 = *(undefined4 **)(pcVar4 + 0xdb298);\n  pppppdStack_134 = (double *****)*puVar32;\n  ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);\n  pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);\n  ppppppdVar6 = (double ******)0x0;\n  ppppppdVar15 = ppppppdVar29;\n  pppppdStack_13c = (double *****)ppppppdVar16;\n  ppppdStack_130 = (double ****)pppppdVar10;\n  pppppdStack_12c = (double *****)ppppppdVar30;\n  piStack_128 = piVar23;\n  pppppdStack_124 = (double *****)ppppppdVar14;\n  iStack_120 = iVar28 + 0x57e0;\n  iStack_11c = iVar5;\n  piStack_118 = piVar31;\n  pppppdStack_114 = (double *****)unaff_s7;\n  pppppdStack_110 = (double *****)unaff_s8;\n  pcStack_10c = pcVar36;\n  if (0 < (int)ppppppdVar29) {\n    do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));\n  }\nLAB_000b5c24:\n  *pppppdStack_13c = (double ****)ppppppdVar21;\n  if ((double ******)pppppdStack_134 == (double ******)*puVar32) {\n    return ppppppdVar6;\n  }\n  pcVar36 = *(code **)(pcStack_148 + -0x7b28);\n  pcVar37 = FUN_000b5d20;\n  ppppppdVar6 = (double ******)pppppdStack_134;\n  (*pcVar36)();\n  pcStack_1c0 = pcVar36 + 0xe2c00;\n  piVar31 = *(int **)(pcVar36 + 0xdb104);\n  iStack_18c = *piVar31;\n  ppppppdVar14 = ppppppdVar15;\n  ppppppdVar30 = ppppppdVar16;\n  pppppdStack_1b4 = (double *****)ppppppdVar17;\n  pppppdStack_188 = (double *****)ppppppdVar21;\n  iStack_184 = iVar20;\n  pppppdStack_180 = (double *****)ppppppdVar24;\n  pppppdStack_17c = (double *****)ppppppdVar22;\n  pppppdStack_178 = (double *****)ppppppdVar29;\n  pcStack_174 = pcVar4;\n  puStack_170 = puVar32;\n  pppppdStack_16c = (double *****)ppppppdVar33;\n  pppppdStack_168 = (double *****)unaff_s8;\n  pcStack_164 = pcVar37;\n  if (0 < (int)ppppppdVar15) {\n    ppppppdVar21 = (double ******)0x0;\n    pcVar4 = *(code **)(pcVar36 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);\n    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;\n    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);\nLAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;\n    ppppppdVar33 = ppppppdVar21;\n    pcVar36 = pcStack_1c0;\nLAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }\n    ppppppdVar14 = (double ******)&DAT_00000009;\n    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n    pcVar36 = pcStack_1c0;\n    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n    pppppdVar10 = ppppppdVar6[2];\n    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    ppppppdVar6[2] = (double *****)ppppppdVar14;\n    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);\n    if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }\n    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n    ppppppdVar21 = ppppppdVar16;\n    ppppppdVar24 = ppppppdVar15;\n    pcVar36 = pcStack_1c0;\n    unaff_s8 = ppppppdVar6;\n    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  ppppppdVar7 = (double ******)0x0;\n  ppppppdVar16 = ppppppdVar21;\n  ppppppdVar15 = ppppppdVar24;\n  pcVar36 = pcStack_1c0;\n  ppppppdVar6 = unaff_s8;\nLAB_000b5de4:\n  if (iStack_18c == *piVar31) {\n    return ppppppdVar7;\n  }\n  pcVar36 = *(code **)(pcVar36 + -0x7b28);\n  pcVar37 = FUN_000b6188;\n  iVar5 = iStack_18c;\n  (*pcVar36)();\n  piVar23 = *(int **)(pcVar36 + 0xdac9c);\n  iVar28 = *(int *)(iVar5 + 0x5c);\n  iStack_204 = *piVar23;\n  pppppdStack_200 = (double *****)ppppppdVar16;\n  iStack_1fc = iVar20;\n  pppppdStack_1f8 = (double *****)ppppppdVar15;\n  pppppdStack_1f4 = (double *****)ppppppdVar22;\n  pppppdStack_1f0 = (double *****)ppppppdVar29;\n  pcStack_1ec = pcVar4;\n  piStack_1e8 = piVar31;\n  pppppdStack_1e4 = (double *****)ppppppdVar33;\n  pppppdStack_1e0 = (double *****)ppppppdVar6;\n  pcStack_1dc = pcVar37;\n  if (iVar28 != 0) {\n    iVar20 = *(int *)(iVar5 + 0x4c);\n    iVar25 = 0;\n    if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }\n    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);\n  }\n  ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n  *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n  if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n  if (*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)) {\nLAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5);\n  iVar28 = *(int *)(iVar5 + 8);\n  iVar20 = *(int *)(iVar5 + 0xc);\n  iVar25 = *(int *)(pcVar36 + 0xdaa20);\n  *(int *)(iVar5 + 4) = iVar28;\n  *(int *)(iVar5 + 8) = iVar28 + 1;\n  bVar1 = *(byte *)(iVar20 + iVar28);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }\n    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);\n    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar5 + 0x30) = 0;\n    iStack_208 = iStack_208 - iVar28;\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;\n    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;\n    iVar28 = *(int *)(iVar5 + 0x4c) * 8;\n    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);\n    (**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);\n    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n    *(int *)(iVar5 + 0x58) = iVar28;\n    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;\n    ppppppdVar16 = (double ******)pppppdStack_20c;\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;\n    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n    iVar28 = *(int *)(iVar5 + 8);\n    *(int *)(iVar5 + 4) = iVar28;\n    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;\n    iVar20 = *(int *)(iVar5 + 0xc);\n    *(int *)(iVar5 + 8) = iVar28 + 1;\n    bVar1 = *(byte *)(iVar20 + iVar28);\n  }\n  if ((*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c);\n  ppppppdVar16 = (double ******)&DAT_0000000b;\n  *(undefined4 *)(iVar5 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_204 != *piVar23) {\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }\n  return ppppppdVar16;\ncode_r0x000b6070:\n  ppppppdVar30 = *(double *******)pdVar12;\n  ppppppdVar17 = *(double *******)((int)pdVar12 + 4);\n  dVar38 = *pdVar12;\n  uVar3 = *(ushort *)(ppppppdVar24 + 2);\n  ppppppdVar14 = (double ******)(uVar3 & 0x2400);\n  ppppppdVar21 = ppppppdVar34;\n  if (pcVar4 == (code *)0x1) {\n    if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }\n  }\n  else {\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }\n  ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15);\n  ppppppdVar6[2] = ppppppdVar6[2] + 2;\n  if (ppppppdVar29 == (double ******)0x0) {\n    ppppppdVar7 = (double ******)0x0;\n    ppppppdVar33 = ppppppdVar34;\n    pcVar36 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "code cVar2;" type_identifier identifier ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "double ******ppppppdVar6;" primitive_type (pointer_declarator "******ppppppdVar6" * (pointer_declarator "*****ppppppdVar6" * (pointer_declarator "****ppppppdVar6" * (pointer_declarator "***ppppppdVar6" * (pointer_declarator "**ppppppdVar6" * (pointer_declarator "*ppppppdVar6" * identifier)))))) ;) (declaration "double ******ppppppdVar7;" primitive_type (pointer_declarator "******ppppppdVar7" * (pointer_declarator "*****ppppppdVar7" * (pointer_declarator "****ppppppdVar7" * (pointer_declarator "***ppppppdVar7" * (pointer_declarator "**ppppppdVar7" * (pointer_declarator "*ppppppdVar7" * identifier)))))) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "double *****pppppdVar10;" primitive_type (pointer_declarator "*****pppppdVar10" * (pointer_declarator "****pppppdVar10" * (pointer_declarator "***pppppdVar10" * (pointer_declarator "**pppppdVar10" * (pointer_declarator "*pppppdVar10" * identifier))))) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "double *pdVar12;" primitive_type (pointer_declarator "*pdVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "double ******ppppppdVar14;" primitive_type (pointer_declarator "******ppppppdVar14" * (pointer_declarator "*****ppppppdVar14" * (pointer_declarator "****ppppppdVar14" * (pointer_declarator "***ppppppdVar14" * (pointer_declarator "**ppppppdVar14" * (pointer_declarator "*ppppppdVar14" * identifier)))))) ;) (declaration "double ******ppppppdVar15;" primitive_type (pointer_declarator "******ppppppdVar15" * (pointer_declarator "*****ppppppdVar15" * (pointer_declarator "****ppppppdVar15" * (pointer_declarator "***ppppppdVar15" * (pointer_declarator "**ppppppdVar15" * (pointer_declarator "*ppppppdVar15" * identifier)))))) ;) (declaration "double ******ppppppdVar16;" primitive_type (pointer_declarator "******ppppppdVar16" * (pointer_declarator "*****ppppppdVar16" * (pointer_declarator "****ppppppdVar16" * (pointer_declarator "***ppppppdVar16" * (pointer_declarator "**ppppppdVar16" * (pointer_declarator "*ppppppdVar16" * identifier)))))) ;) (declaration "double ******ppppppdVar17;" primitive_type (pointer_declarator "******ppppppdVar17" * (pointer_declarator "*****ppppppdVar17" * (pointer_declarator "****ppppppdVar17" * (pointer_declarator "***ppppppdVar17" * (pointer_declarator "**ppppppdVar17" * (pointer_declarator "*ppppppdVar17" * identifier)))))) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "double ******unaff_s0;" primitive_type (pointer_declarator "******unaff_s0" * (pointer_declarator "*****unaff_s0" * (pointer_declarator "****unaff_s0" * (pointer_declarator "***unaff_s0" * (pointer_declarator "**unaff_s0" * (pointer_declarator "*unaff_s0" * identifier)))))) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "double ******ppppppdVar21;" primitive_type (pointer_declarator "******ppppppdVar21" * (pointer_declarator "*****ppppppdVar21" * (pointer_declarator "****ppppppdVar21" * (pointer_declarator "***ppppppdVar21" * (pointer_declarator "**ppppppdVar21" * (pointer_declarator "*ppppppdVar21" * identifier)))))) ;) (declaration "double ******unaff_s1;" primitive_type (pointer_declarator "******unaff_s1" * (pointer_declarator "*****unaff_s1" * (pointer_declarator "****unaff_s1" * (pointer_declarator "***unaff_s1" * (pointer_declarator "**unaff_s1" * (pointer_declarator "*unaff_s1" * identifier)))))) ;) (declaration "double ******ppppppdVar22;" primitive_type (pointer_declarator "******ppppppdVar22" * (pointer_declarator "*****ppppppdVar22" * (pointer_declarator "****ppppppdVar22" * (pointer_declarator "***ppppppdVar22" * (pointer_declarator "**ppppppdVar22" * (pointer_declarator "*ppppppdVar22" * identifier)))))) ;) (declaration "double ******unaff_s2;" primitive_type (pointer_declarator "******unaff_s2" * (pointer_declarator "*****unaff_s2" * (pointer_declarator "****unaff_s2" * (pointer_declarator "***unaff_s2" * (pointer_declarator "**unaff_s2" * (pointer_declarator "*unaff_s2" * identifier)))))) ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "double ******ppppppdVar24;" primitive_type (pointer_declarator "******ppppppdVar24" * (pointer_declarator "*****ppppppdVar24" * (pointer_declarator "****ppppppdVar24" * (pointer_declarator "***ppppppdVar24" * (pointer_declarator "**ppppppdVar24" * (pointer_declarator "*ppppppdVar24" * identifier)))))) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "undefined *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "double ******ppppppdVar29;" primitive_type (pointer_declarator "******ppppppdVar29" * (pointer_declarator "*****ppppppdVar29" * (pointer_declarator "****ppppppdVar29" * (pointer_declarator "***ppppppdVar29" * (pointer_declarator "**ppppppdVar29" * (pointer_declarator "*ppppppdVar29" * identifier)))))) ;) (declaration "double ******ppppppdVar30;" primitive_type (pointer_declarator "******ppppppdVar30" * (pointer_declarator "*****ppppppdVar30" * (pointer_declarator "****ppppppdVar30" * (pointer_declarator "***ppppppdVar30" * (pointer_declarator "**ppppppdVar30" * (pointer_declarator "*ppppppdVar30" * identifier)))))) ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "int *piVar31;" primitive_type (pointer_declarator "*piVar31" * identifier) ;) (declaration "undefined4 *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "double ******unaff_s7;" primitive_type (pointer_declarator "******unaff_s7" * (pointer_declarator "*****unaff_s7" * (pointer_declarator "****unaff_s7" * (pointer_declarator "***unaff_s7" * (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier)))))) ;) (declaration "double ******ppppppdVar33;" primitive_type (pointer_declarator "******ppppppdVar33" * (pointer_declarator "*****ppppppdVar33" * (pointer_declarator "****ppppppdVar33" * (pointer_declarator "***ppppppdVar33" * (pointer_declarator "**ppppppdVar33" * (pointer_declarator "*ppppppdVar33" * identifier)))))) ;) (declaration "double ******ppppppdVar34;" primitive_type (pointer_declarator "******ppppppdVar34" * (pointer_declarator "*****ppppppdVar34" * (pointer_declarator "****ppppppdVar34" * (pointer_declarator "***ppppppdVar34" * (pointer_declarator "**ppppppdVar34" * (pointer_declarator "*ppppppdVar34" * identifier)))))) ;) (declaration "undefined *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "double ******unaff_s8;" primitive_type (pointer_declarator "******unaff_s8" * (pointer_declarator "*****unaff_s8" * (pointer_declarator "****unaff_s8" * (pointer_declarator "***unaff_s8" * (pointer_declarator "**unaff_s8" * (pointer_declarator "*unaff_s8" * identifier)))))) ;) (declaration "code *pcVar36;" type_identifier (pointer_declarator "*pcVar36" * identifier) ;) (declaration "code *pcVar37;" type_identifier (pointer_declarator "*pcVar37" * identifier) ;) (declaration "double dVar38;" primitive_type identifier ;) (declaration "double *****pppppdStack_20c;" primitive_type (pointer_declarator "*****pppppdStack_20c" * (pointer_declarator "****pppppdStack_20c" * (pointer_declarator "***pppppdStack_20c" * (pointer_declarator "**pppppdStack_20c" * (pointer_declarator "*pppppdStack_20c" * identifier))))) ;) (declaration "int iStack_208;" primitive_type identifier ;) (declaration "int iStack_204;" primitive_type identifier ;) (declaration "double *****pppppdStack_200;" primitive_type (pointer_declarator "*****pppppdStack_200" * (pointer_declarator "****pppppdStack_200" * (pointer_declarator "***pppppdStack_200" * (pointer_declarator "**pppppdStack_200" * (pointer_declarator "*pppppdStack_200" * identifier))))) ;) (declaration "int iStack_1fc;" primitive_type identifier ;) (declaration "double *****pppppdStack_1f8;" primitive_type (pointer_declarator "*****pppppdStack_1f8" * (pointer_declarator "****pppppdStack_1f8" * (pointer_declarator "***pppppdStack_1f8" * (pointer_declarator "**pppppdStack_1f8" * (pointer_declarator "*pppppdStack_1f8" * identifier))))) ;) (declaration "double *****pppppdStack_1f4;" primitive_type (pointer_declarator "*****pppppdStack_1f4" * (pointer_declarator "****pppppdStack_1f4" * (pointer_declarator "***pppppdStack_1f4" * (pointer_declarator "**pppppdStack_1f4" * (pointer_declarator "*pppppdStack_1f4" * identifier))))) ;) (declaration "double *****pppppdStack_1f0;" primitive_type (pointer_declarator "*****pppppdStack_1f0" * (pointer_declarator "****pppppdStack_1f0" * (pointer_declarator "***pppppdStack_1f0" * (pointer_declarator "**pppppdStack_1f0" * (pointer_declarator "*pppppdStack_1f0" * identifier))))) ;) (declaration "code *pcStack_1ec;" type_identifier (pointer_declarator "*pcStack_1ec" * identifier) ;) (declaration "int *piStack_1e8;" primitive_type (pointer_declarator "*piStack_1e8" * identifier) ;) (declaration "double *****pppppdStack_1e4;" primitive_type (pointer_declarator "*****pppppdStack_1e4" * (pointer_declarator "****pppppdStack_1e4" * (pointer_declarator "***pppppdStack_1e4" * (pointer_declarator "**pppppdStack_1e4" * (pointer_declarator "*pppppdStack_1e4" * identifier))))) ;) (declaration "double *****pppppdStack_1e0;" primitive_type (pointer_declarator "*****pppppdStack_1e0" * (pointer_declarator "****pppppdStack_1e0" * (pointer_declarator "***pppppdStack_1e0" * (pointer_declarator "**pppppdStack_1e0" * (pointer_declarator "*pppppdStack_1e0" * identifier))))) ;) (declaration "code *pcStack_1dc;" type_identifier (pointer_declarator "*pcStack_1dc" * identifier) ;) (declaration "int iStack_1c8;" primitive_type identifier ;) (declaration "code *pcStack_1c0;" type_identifier (pointer_declarator "*pcStack_1c0" * identifier) ;) (declaration "double *****pppppdStack_1b4;" primitive_type (pointer_declarator "*****pppppdStack_1b4" * (pointer_declarator "****pppppdStack_1b4" * (pointer_declarator "***pppppdStack_1b4" * (pointer_declarator "**pppppdStack_1b4" * (pointer_declarator "*pppppdStack_1b4" * identifier))))) ;) (declaration "code *pcStack_1b0;" type_identifier (pointer_declarator "*pcStack_1b0" * identifier) ;) (declaration "code *pcStack_1ac;" type_identifier (pointer_declarator "*pcStack_1ac" * identifier) ;) (declaration "int iStack_1a8;" primitive_type identifier ;) (declaration "double *****pppppdStack_1a4;" primitive_type (pointer_declarator "*****pppppdStack_1a4" * (pointer_declarator "****pppppdStack_1a4" * (pointer_declarator "***pppppdStack_1a4" * (pointer_declarator "**pppppdStack_1a4" * (pointer_declarator "*pppppdStack_1a4" * identifier))))) ;) (declaration "double *****pppppdStack_1a0;" primitive_type (pointer_declarator "*****pppppdStack_1a0" * (pointer_declarator "****pppppdStack_1a0" * (pointer_declarator "***pppppdStack_1a0" * (pointer_declarator "**pppppdStack_1a0" * (pointer_declarator "*pppppdStack_1a0" * identifier))))) ;) (declaration "double *****pppppdStack_19c;" primitive_type (pointer_declarator "*****pppppdStack_19c" * (pointer_declarator "****pppppdStack_19c" * (pointer_declarator "***pppppdStack_19c" * (pointer_declarator "**pppppdStack_19c" * (pointer_declarator "*pppppdStack_19c" * identifier))))) ;) (declaration "double *****pppppdStack_198;" primitive_type (pointer_declarator "*****pppppdStack_198" * (pointer_declarator "****pppppdStack_198" * (pointer_declarator "***pppppdStack_198" * (pointer_declarator "**pppppdStack_198" * (pointer_declarator "*pppppdStack_198" * identifier))))) ;) (declaration "double *****pppppdStack_194;" primitive_type (pointer_declarator "*****pppppdStack_194" * (pointer_declarator "****pppppdStack_194" * (pointer_declarator "***pppppdStack_194" * (pointer_declarator "**pppppdStack_194" * (pointer_declarator "*pppppdStack_194" * identifier))))) ;) (declaration "int iStack_18c;" primitive_type identifier ;) (declaration "double *****pppppdStack_188;" primitive_type (pointer_declarator "*****pppppdStack_188" * (pointer_declarator "****pppppdStack_188" * (pointer_declarator "***pppppdStack_188" * (pointer_declarator "**pppppdStack_188" * (pointer_declarator "*pppppdStack_188" * identifier))))) ;) (declaration "int iStack_184;" primitive_type identifier ;) (declaration "double *****pppppdStack_180;" primitive_type (pointer_declarator "*****pppppdStack_180" * (pointer_declarator "****pppppdStack_180" * (pointer_declarator "***pppppdStack_180" * (pointer_declarator "**pppppdStack_180" * (pointer_declarator "*pppppdStack_180" * identifier))))) ;) (declaration "double *****pppppdStack_17c;" primitive_type (pointer_declarator "*****pppppdStack_17c" * (pointer_declarator "****pppppdStack_17c" * (pointer_declarator "***pppppdStack_17c" * (pointer_declarator "**pppppdStack_17c" * (pointer_declarator "*pppppdStack_17c" * identifier))))) ;) (declaration "double *****pppppdStack_178;" primitive_type (pointer_declarator "*****pppppdStack_178" * (pointer_declarator "****pppppdStack_178" * (pointer_declarator "***pppppdStack_178" * (pointer_declarator "**pppppdStack_178" * (pointer_declarator "*pppppdStack_178" * identifier))))) ;) (declaration "code *pcStack_174;" type_identifier (pointer_declarator "*pcStack_174" * identifier) ;) (declaration "undefined4 *puStack_170;" type_identifier (pointer_declarator "*puStack_170" * identifier) ;) (declaration "double *****pppppdStack_16c;" primitive_type (pointer_declarator "*****pppppdStack_16c" * (pointer_declarator "****pppppdStack_16c" * (pointer_declarator "***pppppdStack_16c" * (pointer_declarator "**pppppdStack_16c" * (pointer_declarator "*pppppdStack_16c" * identifier))))) ;) (declaration "double *****pppppdStack_168;" primitive_type (pointer_declarator "*****pppppdStack_168" * (pointer_declarator "****pppppdStack_168" * (pointer_declarator "***pppppdStack_168" * (pointer_declarator "**pppppdStack_168" * (pointer_declarator "*pppppdStack_168" * identifier))))) ;) (declaration "code *pcStack_164;" type_identifier (pointer_declarator "*pcStack_164" * identifier) ;) (declaration "code *pcStack_148;" type_identifier (pointer_declarator "*pcStack_148" * identifier) ;) (declaration "double *****pppppdStack_13c;" primitive_type (pointer_declarator "*****pppppdStack_13c" * (pointer_declarator "****pppppdStack_13c" * (pointer_declarator "***pppppdStack_13c" * (pointer_declarator "**pppppdStack_13c" * (pointer_declarator "*pppppdStack_13c" * identifier))))) ;) (declaration "double ****ppppdStack_138;" primitive_type (pointer_declarator "****ppppdStack_138" * (pointer_declarator "***ppppdStack_138" * (pointer_declarator "**ppppdStack_138" * (pointer_declarator "*ppppdStack_138" * identifier)))) ;) (declaration "double *****pppppdStack_134;" primitive_type (pointer_declarator "*****pppppdStack_134" * (pointer_declarator "****pppppdStack_134" * (pointer_declarator "***pppppdStack_134" * (pointer_declarator "**pppppdStack_134" * (pointer_declarator "*pppppdStack_134" * identifier))))) ;) (declaration "double ****ppppdStack_130;" primitive_type (pointer_declarator "****ppppdStack_130" * (pointer_declarator "***ppppdStack_130" * (pointer_declarator "**ppppdStack_130" * (pointer_declarator "*ppppdStack_130" * identifier)))) ;) (declaration "double *****pppppdStack_12c;" primitive_type (pointer_declarator "*****pppppdStack_12c" * (pointer_declarator "****pppppdStack_12c" * (pointer_declarator "***pppppdStack_12c" * (pointer_declarator "**pppppdStack_12c" * (pointer_declarator "*pppppdStack_12c" * identifier))))) ;) (declaration "int *piStack_128;" primitive_type (pointer_declarator "*piStack_128" * identifier) ;) (declaration "double *****pppppdStack_124;" primitive_type (pointer_declarator "*****pppppdStack_124" * (pointer_declarator "****pppppdStack_124" * (pointer_declarator "***pppppdStack_124" * (pointer_declarator "**pppppdStack_124" * (pointer_declarator "*pppppdStack_124" * identifier))))) ;) (declaration "int iStack_120;" primitive_type identifier ;) (declaration "int iStack_11c;" primitive_type identifier ;) (declaration "int *piStack_118;" primitive_type (pointer_declarator "*piStack_118" * identifier) ;) (declaration "double *****pppppdStack_114;" primitive_type (pointer_declarator "*****pppppdStack_114" * (pointer_declarator "****pppppdStack_114" * (pointer_declarator "***pppppdStack_114" * (pointer_declarator "**pppppdStack_114" * (pointer_declarator "*pppppdStack_114" * identifier))))) ;) (declaration "double *****pppppdStack_110;" primitive_type (pointer_declarator "*****pppppdStack_110" * (pointer_declarator "****pppppdStack_110" * (pointer_declarator "***pppppdStack_110" * (pointer_declarator "**pppppdStack_110" * (pointer_declarator "*pppppdStack_110" * identifier))))) ;) (declaration "code *pcStack_10c;" type_identifier (pointer_declarator "*pcStack_10c" * identifier) ;) (declaration "int iStack_f8;" primitive_type identifier ;) (declaration "code *pcStack_f0;" type_identifier (pointer_declarator "*pcStack_f0" * identifier) ;) (declaration "uint uStack_e8;" type_identifier identifier ;) (declaration "int iStack_e4;" primitive_type identifier ;) (declaration "double *****pppppdStack_dc;" primitive_type (pointer_declarator "*****pppppdStack_dc" * (pointer_declarator "****pppppdStack_dc" * (pointer_declarator "***pppppdStack_dc" * (pointer_declarator "**pppppdStack_dc" * (pointer_declarator "*pppppdStack_dc" * identifier))))) ;) (declaration "double *****pppppdStack_d8;" primitive_type (pointer_declarator "*****pppppdStack_d8" * (pointer_declarator "****pppppdStack_d8" * (pointer_declarator "***pppppdStack_d8" * (pointer_declarator "**pppppdStack_d8" * (pointer_declarator "*pppppdStack_d8" * identifier))))) ;) (declaration "double *****pppppdStack_d4;" primitive_type (pointer_declarator "*****pppppdStack_d4" * (pointer_declarator "****pppppdStack_d4" * (pointer_declarator "***pppppdStack_d4" * (pointer_declarator "**pppppdStack_d4" * (pointer_declarator "*pppppdStack_d4" * identifier))))) ;) (declaration "undefined *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "double *****pppppdStack_cc;" primitive_type (pointer_declarator "*****pppppdStack_cc" * (pointer_declarator "****pppppdStack_cc" * (pointer_declarator "***pppppdStack_cc" * (pointer_declarator "**pppppdStack_cc" * (pointer_declarator "*pppppdStack_cc" * identifier))))) ;) (declaration "double *****pppppdStack_c8;" primitive_type (pointer_declarator "*****pppppdStack_c8" * (pointer_declarator "****pppppdStack_c8" * (pointer_declarator "***pppppdStack_c8" * (pointer_declarator "**pppppdStack_c8" * (pointer_declarator "*pppppdStack_c8" * identifier))))) ;) (declaration "code *pcStack_c4;" type_identifier (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "undefined *puStack_b0;" type_identifier (pointer_declarator "*puStack_b0" * identifier) ;) (declaration "double *****pppppdStack_a4;" primitive_type (pointer_declarator "*****pppppdStack_a4" * (pointer_declarator "****pppppdStack_a4" * (pointer_declarator "***pppppdStack_a4" * (pointer_declarator "**pppppdStack_a4" * (pointer_declarator "*pppppdStack_a4" * identifier))))) ;) (declaration "double ****ppppdStack_a0;" primitive_type (pointer_declarator "****ppppdStack_a0" * (pointer_declarator "***ppppdStack_a0" * (pointer_declarator "**ppppdStack_a0" * (pointer_declarator "*ppppdStack_a0" * identifier)))) ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "double *****pppppdStack_98;" primitive_type (pointer_declarator "*****pppppdStack_98" * (pointer_declarator "****pppppdStack_98" * (pointer_declarator "***pppppdStack_98" * (pointer_declarator "**pppppdStack_98" * (pointer_declarator "*pppppdStack_98" * identifier))))) ;) (declaration "double *****pppppdStack_94;" primitive_type (pointer_declarator "*****pppppdStack_94" * (pointer_declarator "****pppppdStack_94" * (pointer_declarator "***pppppdStack_94" * (pointer_declarator "**pppppdStack_94" * (pointer_declarator "*pppppdStack_94" * identifier))))) ;) (declaration "double *****pppppdStack_90;" primitive_type (pointer_declarator "*****pppppdStack_90" * (pointer_declarator "****pppppdStack_90" * (pointer_declarator "***pppppdStack_90" * (pointer_declarator "**pppppdStack_90" * (pointer_declarator "*pppppdStack_90" * identifier))))) ;) (declaration "undefined *puStack_8c;" type_identifier (pointer_declarator "*puStack_8c" * identifier) ;) (declaration "double *****pppppdStack_88;" primitive_type (pointer_declarator "*****pppppdStack_88" * (pointer_declarator "****pppppdStack_88" * (pointer_declarator "***pppppdStack_88" * (pointer_declarator "**pppppdStack_88" * (pointer_declarator "*pppppdStack_88" * identifier))))) ;) (declaration "double *****pppppdStack_84;" primitive_type (pointer_declarator "*****pppppdStack_84" * (pointer_declarator "****pppppdStack_84" * (pointer_declarator "***pppppdStack_84" * (pointer_declarator "**pppppdStack_84" * (pointer_declarator "*pppppdStack_84" * identifier))))) ;) (declaration "int iStack_80;" primitive_type identifier ;) (declaration "double *****pppppdStack_7c;" primitive_type (pointer_declarator "*****pppppdStack_7c" * (pointer_declarator "****pppppdStack_7c" * (pointer_declarator "***pppppdStack_7c" * (pointer_declarator "**pppppdStack_7c" * (pointer_declarator "*pppppdStack_7c" * identifier))))) ;) (declaration "double *****pppppdStack_78;" primitive_type (pointer_declarator "*****pppppdStack_78" * (pointer_declarator "****pppppdStack_78" * (pointer_declarator "***pppppdStack_78" * (pointer_declarator "**pppppdStack_78" * (pointer_declarator "*pppppdStack_78" * identifier))))) ;) (declaration "code *pcStack_74;" type_identifier (pointer_declarator "*pcStack_74" * identifier) ;) (declaration "double *****local_3c;" primitive_type (pointer_declarator "*****local_3c" * (pointer_declarator "****local_3c" * (pointer_declarator "***local_3c" * (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier))))) ;) (declaration "double *****local_38;" primitive_type (pointer_declarator "*****local_38" * (pointer_declarator "****local_38" * (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier))))) ;) (declaration "double *****local_34;" primitive_type (pointer_declarator "*****local_34" * (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier))))) ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "double *****local_2c;" primitive_type (pointer_declarator "*****local_2c" * (pointer_declarator "****local_2c" * (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier))))) ;) (expression_statement "puVar35 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar35 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "local_3c = (double *****)0x0;" (assignment_expression "local_3c = (double *****)0x0" identifier = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_38 = (double *****)0x0;" (assignment_expression "local_38 = (double *****)0x0" identifier = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_34 = (double *****)0x0;" (assignment_expression "local_34 = (double *****)0x0" identifier = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_2c = *(double ******)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(double ******)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(double ******)PTR___stack_chk_guard_00190e24" * (cast_expression "(double ******)PTR___stack_chk_guard_00190e24" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier))) ;) (expression_statement "ppppppdVar17 = param_4;" (assignment_expression "ppppppdVar17 = param_4" identifier = identifier) ;) (if_statement "if (param_2 == (double ******)0x0) {\n    ppppppdVar16 = param_3;\n    if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }" if (parenthesized_expression "(param_2 == (double ******)0x0)" ( (binary_expression "param_2 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    ppppppdVar16 = param_3;\n    if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }\n  }" { (expression_statement "ppppppdVar16 = param_3;" (assignment_expression "ppppppdVar16 = param_3" identifier = identifier) ;) (if_statement "if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }" if (parenthesized_expression "(param_3 == (double ******)0x0)" ( (binary_expression "param_3 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }" { (expression_statement "ppppppdVar30 = (double ******)0x0;" (assignment_expression "ppppppdVar30 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (goto_statement "goto LAB_000b57b8;" goto statement_identifier ;) })) }) (else_clause "else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }" else (compound_statement "{\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }" { (expression_statement "pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290)" identifier = (cast_expression "(code *)(PTR_LAB_00190c2c + 0x5290)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190c2c + 0x5290)" ( (binary_expression "PTR_LAB_00190c2c + 0x5290" identifier + number_literal) )))) ;) (expression_statement "unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);" (assignment_expression "unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224)" identifier = (cast_expression "(double ******)(PTR_LAB_00190c2c + 0x5224)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(PTR_LAB_00190c2c + 0x5224)" ( (binary_expression "PTR_LAB_00190c2c + 0x5224" identifier + number_literal) )))) ;) (expression_statement "unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;" (assignment_expression "unaff_s3 = PTR_LAB_00190c2c + 0x4ef4" identifier = (binary_expression "PTR_LAB_00190c2c + 0x4ef4" identifier + number_literal)) ;) (expression_statement "ppppppdVar15 = param_3;" (assignment_expression "ppppppdVar15 = param_3" identifier = identifier) ;) (expression_statement "ppppppdVar29 = param_2;" (assignment_expression "ppppppdVar29 = param_2" identifier = identifier) ;) (do_statement "do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);" do (compound_statement "{\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    }" { (if_statement "if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }" if (parenthesized_expression "(ppppppdVar29[6] == (double *****)0x0)" ( (binary_expression "ppppppdVar29[6] == (double *****)0x0" (subscript_expression "ppppppdVar29[6]" identifier [ number_literal ]) == (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }" { (labeled_statement "LAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;" statement_identifier : (expression_statement "ppppppdVar29 = (double ******)*ppppppdVar29;" (assignment_expression "ppppppdVar29 = (double ******)*ppppppdVar29" identifier = (cast_expression "(double ******)*ppppppdVar29" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppdVar29" * identifier))) ;)) (expression_statement "ppppppdVar16 = ppppppdVar15;" (assignment_expression "ppppppdVar16 = ppppppdVar15" identifier = identifier) ;) (expression_statement "ppppppdVar30 = (double ******)local_38;" (assignment_expression "ppppppdVar30 = (double ******)local_38" identifier = (cast_expression "(double ******)local_38" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar15 = (double ******)local_34;" (assignment_expression "ppppppdVar15 = (double ******)local_34" identifier = (cast_expression "(double ******)local_34" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }) (else_clause "else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }" else (compound_statement "{\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }" { (expression_statement "unaff_s0 = &local_3c;" (assignment_expression "unaff_s0 = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "unaff_s1 = &local_38;" (assignment_expression "unaff_s1 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "param_2 = (double ******)*param_1;" (assignment_expression "param_2 = (double ******)*param_1" identifier = (cast_expression "(double ******)*param_1" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*param_1" * identifier))) ;) (expression_statement "ppppppdVar15 = ppppppdVar29;" (assignment_expression "ppppppdVar15 = ppppppdVar29" identifier = identifier) ;) (expression_statement "ppppppdVar17 = unaff_s0;" (assignment_expression "ppppppdVar17 = unaff_s0" identifier = identifier) ;) (expression_statement "(*pcVar4)(unaff_s1);" (call_expression "(*pcVar4)(unaff_s1)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (expression_statement "puVar26 = PTR_DAT_00190948;" (assignment_expression "puVar26 = PTR_DAT_00190948" identifier = identifier) ;) (expression_statement "pppppdVar10 = ppppppdVar29[7];" (assignment_expression "pppppdVar10 = ppppppdVar29[7]" identifier = (subscript_expression "ppppppdVar29[7]" identifier [ number_literal ])) ;) (if_statement "if ((int)pppppdVar10 < 1) goto LAB_000b5618;" if (parenthesized_expression "((int)pppppdVar10 < 1)" ( (binary_expression "(int)pppppdVar10 < 1" (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_000b5618;" goto statement_identifier ;)) (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" identifier = number_literal) ;) (do_statement "do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);" do (compound_statement "{\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        }" { (expression_statement "unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];" (assignment_expression "unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6]" identifier = (cast_expression "(double ******)ppppppdVar29[8][unaff_s6]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppdVar29[8][unaff_s6]" (subscript_expression "ppppppdVar29[8]" identifier [ number_literal ]) [ identifier ]))) ;) (if_statement "if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }" if (parenthesized_expression "(unaff_s8 != (double ******)0x0)" ( (binary_expression "unaff_s8 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }" { (do_statement "do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);" do (compound_statement "{\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            }" { (expression_statement "FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);" (call_expression "FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0)" identifier (argument_list "(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0)" ( identifier , (pointer_expression "*(code *)((int)unaff_s8 + 3)" * (cast_expression "(code *)((int)unaff_s8 + 3)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + 3)" ( (binary_expression "(int)unaff_s8 + 3" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier ))) ;) (expression_statement "FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);" (call_expression "FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0)" identifier (argument_list "(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0)" ( identifier , (pointer_expression "*(code *)((int)unaff_s8 + 7)" * (cast_expression "(code *)((int)unaff_s8 + 7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 + 7)" ( (binary_expression "(int)unaff_s8 + 7" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier ))) ;) (expression_statement "ppppppdVar15 = (double ******)unaff_s8[2];" (assignment_expression "ppppppdVar15 = (double ******)unaff_s8[2]" identifier = (cast_expression "(double ******)unaff_s8[2]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "unaff_s8[2]" identifier [ number_literal ]))) ;) (expression_statement "param_2 = (double ******)unaff_s8[3];" (assignment_expression "param_2 = (double ******)unaff_s8[3]" identifier = (cast_expression "(double ******)unaff_s8[3]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "unaff_s8[3]" identifier [ number_literal ]))) ;) (expression_statement "ppppppdVar17 = unaff_s0;" (assignment_expression "ppppppdVar17 = unaff_s0" identifier = identifier) ;) (expression_statement "FUN_000b4ef4(unaff_s1);" (call_expression "FUN_000b4ef4(unaff_s1)" identifier (argument_list "(unaff_s1)" ( identifier ))) ;) (if_statement "if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }" if (parenthesized_expression "((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34))" ( (binary_expression "(((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)" (parenthesized_expression "(((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0))" ( (binary_expression "((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)" (parenthesized_expression "((double ******)local_3c == (double ******)0x0)" ( (binary_expression "(double ******)local_3c == (double ******)0x0" (cast_expression "(double ******)local_3c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) && (parenthesized_expression "(ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)" ( (comma_expression "ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0" (assignment_expression "ppppppdVar15 = (double ******)local_34" identifier = (cast_expression "(double ******)local_34" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) , (binary_expression "param_3 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) ))) )) && (parenthesized_expression "(param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)" ( (comma_expression "param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34" (assignment_expression "param_2 = (double ******)local_38" identifier = (cast_expression "(double ******)local_38" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) , (binary_expression "*(int *)(puVar26 + -0xba0) <= (int)local_34" (pointer_expression "*(int *)(puVar26 + -0xba0)" * (cast_expression "(int *)(puVar26 + -0xba0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0xba0)" ( (binary_expression "puVar26 + -0xba0" identifier + number_literal) )))) <= (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }" { (expression_statement "local_3c = (double *****)(*(code *)param_3)(param_4);" (assignment_expression "local_3c = (double *****)(*(code *)param_3)(param_4)" identifier = (cast_expression "(double *****)(*(code *)param_3)(param_4)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)param_3)(param_4)" (parenthesized_expression "(*(code *)param_3)" ( (pointer_expression "*(code *)param_3" * (cast_expression "(code *)param_3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4)" ( identifier ))))) ;) (expression_statement "local_34 = (double *****)0x0;" (assignment_expression "local_34 = (double *****)0x0" identifier = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) })) (expression_statement "unaff_s8 = (double ******)unaff_s8[4];" (assignment_expression "unaff_s8 = (double ******)unaff_s8[4]" identifier = (cast_expression "(double ******)unaff_s8[4]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "unaff_s8[4]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(unaff_s8 != (double ******)0x0)" ( (binary_expression "unaff_s8 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) ;) (expression_statement "pppppdVar10 = ppppppdVar29[7];" (assignment_expression "pppppdVar10 = ppppppdVar29[7]" identifier = (subscript_expression "ppppppdVar29[7]" identifier [ number_literal ])) ;) (expression_statement "unaff_s8 = (double ******)0x0;" (assignment_expression "unaff_s8 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) })) (expression_statement "unaff_s6 = unaff_s6 + 1;" (assignment_expression "unaff_s6 = unaff_s6 + 1" identifier = (binary_expression "unaff_s6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(unaff_s6 < (int)pppppdVar10)" ( (binary_expression "unaff_s6 < (int)pppppdVar10" identifier < (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "ppppppdVar29 = (double ******)*ppppppdVar29;" (assignment_expression "ppppppdVar29 = (double ******)*ppppppdVar29" identifier = (cast_expression "(double ******)*ppppppdVar29" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppdVar29" * identifier))) ;) (expression_statement "ppppppdVar16 = ppppppdVar15;" (assignment_expression "ppppppdVar16 = ppppppdVar15" identifier = identifier) ;) (expression_statement "ppppppdVar30 = (double ******)local_38;" (assignment_expression "ppppppdVar30 = (double ******)local_38" identifier = (cast_expression "(double ******)local_38" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar15 = (double ******)local_34;" (assignment_expression "ppppppdVar15 = (double ******)local_34" identifier = (cast_expression "(double ******)local_34" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "unaff_s7 = (double ******)puVar26;" (assignment_expression "unaff_s7 = (double ******)puVar26" identifier = (cast_expression "(double ******)puVar26" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }))) (expression_statement "local_38 = (double *****)ppppppdVar30;" (assignment_expression "local_38 = (double *****)ppppppdVar30" identifier = (cast_expression "(double *****)ppppppdVar30" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "local_34 = (double *****)ppppppdVar15;" (assignment_expression "local_34 = (double *****)ppppppdVar15" identifier = (cast_expression "(double *****)ppppppdVar15" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;" if (parenthesized_expression "((double ******)local_3c != (double ******)0x0)" ( (binary_expression "(double ******)local_3c != (double ******)0x0" (cast_expression "(double ******)local_3c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b5730;" goto statement_identifier ;)) }) while (parenthesized_expression "(ppppppdVar29 != (double ******)0x0)" ( (binary_expression "ppppppdVar29 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) ;) (if_statement "if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }" if (parenthesized_expression "(param_3 == (double ******)0x0)" ( (binary_expression "param_3 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }" { (labeled_statement "LAB_000b57b8:\n      local_38 = (double *****)0x0;" statement_identifier : (expression_statement "local_38 = (double *****)0x0;" (assignment_expression "local_38 = (double *****)0x0" identifier = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;)) (expression_statement "*param_6 = ppppppdVar30;" (assignment_expression "*param_6 = ppppppdVar30" (pointer_expression "*param_6" * identifier) = identifier) ;) (expression_statement "*param_5 = local_34;" (assignment_expression "*param_5 = local_34" (pointer_expression "*param_5" * identifier) = identifier) ;) (expression_statement "ppppppdVar16 = (double ******)local_34;" (assignment_expression "ppppppdVar16 = (double ******)local_34" identifier = (cast_expression "(double ******)local_34" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }) (else_clause "else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }" else (compound_statement "{\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }" { (expression_statement "ppppppdVar16 = ppppppdVar15;" (assignment_expression "ppppppdVar16 = ppppppdVar15" identifier = identifier) ;) (if_statement "if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }" if (parenthesized_expression "(0 < (int)ppppppdVar15)" ( (binary_expression "0 < (int)ppppppdVar15" number_literal < (cast_expression "(int)ppppppdVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }" { (expression_statement "local_3c = (double *****)(*(code *)param_3)(param_4);" (assignment_expression "local_3c = (double *****)(*(code *)param_3)(param_4)" identifier = (cast_expression "(double *****)(*(code *)param_3)(param_4)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)param_3)(param_4)" (parenthesized_expression "(*(code *)param_3)" ( (pointer_expression "*(code *)param_3" * (cast_expression "(code *)param_3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4)" ( identifier ))))) ;) (expression_statement "param_2 = ppppppdVar30;" (assignment_expression "param_2 = ppppppdVar30" identifier = identifier) ;) (expression_statement "ppppppdVar16 = ppppppdVar15;" (assignment_expression "ppppppdVar16 = ppppppdVar15" identifier = identifier) ;) })) }))) }))) (labeled_statement "LAB_000b5730:\n  ppppppdVar30 = (double ******)local_38;" statement_identifier : (expression_statement "ppppppdVar30 = (double ******)local_38;" (assignment_expression "ppppppdVar30 = (double ******)local_38" identifier = (cast_expression "(double ******)local_38" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;)) (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)(local_38);" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)(local_38)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" * (cast_expression "(code *)PTR_sqlite3_free_0019096c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_38)" ( identifier ))) ;) (if_statement "if ((double ******)local_2c == *(double *******)puVar35) {\n    return (double ******)local_3c;\n  }" if (parenthesized_expression "((double ******)local_2c == *(double *******)puVar35)" ( (binary_expression "(double ******)local_2c == *(double *******)puVar35" (cast_expression "(double ******)local_2c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (pointer_expression "*(double *******)puVar35" * (cast_expression "(double *******)puVar35" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) )) (compound_statement "{\n    return (double ******)local_3c;\n  }" { (return_statement "return (double ******)local_3c;" return (cast_expression "(double ******)local_3c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) ;) })) (expression_statement "pcVar4 = FUN_000b57e0;" (assignment_expression "pcVar4 = FUN_000b57e0" identifier = identifier) ;) (expression_statement "ppppppdVar15 = (double ******)local_2c;" (assignment_expression "ppppppdVar15 = (double ******)local_2c" identifier = (cast_expression "(double ******)local_2c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "puVar35 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar35 = 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_b0 = puVar35 + 0xe3140;" (assignment_expression "puStack_b0 = puVar35 + 0xe3140" identifier = (binary_expression "puVar35 + 0xe3140" identifier + number_literal)) ;) (expression_statement "piVar31 = *(int **)(puVar35 + 0xdb644);" (assignment_expression "piVar31 = *(int **)(puVar35 + 0xdb644)" identifier = (pointer_expression "*(int **)(puVar35 + 0xdb644)" * (cast_expression "(int **)(puVar35 + 0xdb644)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + 0xdb644)" ( (binary_expression "puVar35 + 0xdb644" identifier + number_literal) ))))) ;) (expression_statement "pppppdStack_a4 = (double *****)0x0;" (assignment_expression "pppppdStack_a4 = (double *****)0x0" identifier = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iStack_9c = *piVar31;" (assignment_expression "iStack_9c = *piVar31" identifier = (pointer_expression "*piVar31" * identifier)) ;) (expression_statement "ppppppdVar29 = (double ******)0x0;" (assignment_expression "ppppppdVar29 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppdVar14 = param_2;" (assignment_expression "ppppppdVar14 = param_2" identifier = identifier) ;) (expression_statement "ppppppdVar21 = unaff_s0;" (assignment_expression "ppppppdVar21 = unaff_s0" identifier = identifier) ;) (expression_statement "ppppppdVar24 = unaff_s2;" (assignment_expression "ppppppdVar24 = unaff_s2" identifier = identifier) ;) (expression_statement "pppppdStack_98 = (double *****)unaff_s0;" (assignment_expression "pppppdStack_98 = (double *****)unaff_s0" identifier = (cast_expression "(double *****)unaff_s0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_94 = (double *****)unaff_s1;" (assignment_expression "pppppdStack_94 = (double *****)unaff_s1" identifier = (cast_expression "(double *****)unaff_s1" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_90 = (double *****)unaff_s2;" (assignment_expression "pppppdStack_90 = (double *****)unaff_s2" identifier = (cast_expression "(double *****)unaff_s2" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "puStack_8c = unaff_s3;" (assignment_expression "puStack_8c = unaff_s3" identifier = identifier) ;) (expression_statement "pppppdStack_88 = (double *****)param_3;" (assignment_expression "pppppdStack_88 = (double *****)param_3" identifier = (cast_expression "(double *****)param_3" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_84 = (double *****)ppppppdVar30;" (assignment_expression "pppppdStack_84 = (double *****)ppppppdVar30" identifier = (cast_expression "(double *****)ppppppdVar30" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iStack_80 = unaff_s6;" (assignment_expression "iStack_80 = unaff_s6" identifier = identifier) ;) (expression_statement "pppppdStack_7c = (double *****)unaff_s7;" (assignment_expression "pppppdStack_7c = (double *****)unaff_s7" identifier = (cast_expression "(double *****)unaff_s7" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_78 = (double *****)unaff_s8;" (assignment_expression "pppppdStack_78 = (double *****)unaff_s8" identifier = (cast_expression "(double *****)unaff_s8" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_74 = pcVar4;" (assignment_expression "pcStack_74 = pcVar4" identifier = identifier) ;) (if_statement "if (ppppppdVar15[8] != (double *****)0x0) {\n    ppppppdVar21 = ppppppdVar15;\n    if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }\n  }" if (parenthesized_expression "(ppppppdVar15[8] != (double *****)0x0)" ( (binary_expression "ppppppdVar15[8] != (double *****)0x0" (subscript_expression "ppppppdVar15[8]" identifier [ number_literal ]) != (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n    ppppppdVar21 = ppppppdVar15;\n    if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }\n  }" { (expression_statement "ppppppdVar21 = ppppppdVar15;" (assignment_expression "ppppppdVar21 = ppppppdVar15" identifier = identifier) ;) (if_statement "if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }" if (parenthesized_expression "(ppppppdVar15[10] == (double *****)0x0)" ( (binary_expression "ppppppdVar15[10] == (double *****)0x0" (subscript_expression "ppppppdVar15[10]" identifier [ number_literal ]) == (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }" { (expression_statement "ppppppdVar29 = (double ******)0x0;" (assignment_expression "ppppppdVar29 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppdVar24 = param_2;" (assignment_expression "ppppppdVar24 = param_2" identifier = identifier) ;) (if_statement "if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }" if (parenthesized_expression "((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2]))" ( (binary_expression "(int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])" (cast_expression "(int)ppppppdVar15[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar15[4]" identifier [ number_literal ])) <= (cast_expression "(int)((int)param_2 + (int)ppppppdVar15[2])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)param_2 + (int)ppppppdVar15[2])" ( (binary_expression "(int)param_2 + (int)ppppppdVar15[2]" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppdVar15[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar15[2]" identifier [ number_literal ]))) )))) )) (compound_statement "{\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }" { (expression_statement "param_3 = ppppppdVar15 + 5;" (assignment_expression "param_3 = ppppppdVar15 + 5" identifier = (binary_expression "ppppppdVar15 + 5" identifier + number_literal)) ;) (expression_statement "puVar26 = *(undefined **)(puVar35 + 0xdb168);" (assignment_expression "puVar26 = *(undefined **)(puVar35 + 0xdb168)" identifier = (pointer_expression "*(undefined **)(puVar35 + 0xdb168)" * (cast_expression "(undefined **)(puVar35 + 0xdb168)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + 0xdb168)" ( (binary_expression "puVar35 + 0xdb168" identifier + number_literal) ))))) ;) (expression_statement "ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);" (assignment_expression "ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08)" identifier = (cast_expression "(double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(puVar35 + 0xdb44c) + 0x4d08)" ( (binary_expression "*(int *)(puVar35 + 0xdb44c) + 0x4d08" (pointer_expression "*(int *)(puVar35 + 0xdb44c)" * (cast_expression "(int *)(puVar35 + 0xdb44c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + 0xdb44c)" ( (binary_expression "puVar35 + 0xdb44c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);" (assignment_expression "ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4)" identifier = (cast_expression "(double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(puVar35 + 0xdb3c4) + 0x27a4)" ( (binary_expression "*(int *)(puVar35 + 0xdb3c4) + 0x27a4" (pointer_expression "*(int *)(puVar35 + 0xdb3c4)" * (cast_expression "(int *)(puVar35 + 0xdb3c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + 0xdb3c4)" ( (binary_expression "puVar35 + 0xdb3c4" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );" do (compound_statement "{\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        }" { (expression_statement "ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);" (assignment_expression "ppppdStack_a0 = *(double *****)(puVar26 + -0xba0)" identifier = (pointer_expression "*(double *****)(puVar26 + -0xba0)" * (cast_expression "(double *****)(puVar26 + -0xba0)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar26 + -0xba0)" ( (binary_expression "puVar26 + -0xba0" identifier + number_literal) ))))) ;) (if_statement "if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }" if (parenthesized_expression "(*ppppppdVar15 == (double *****)0x0)" ( (binary_expression "*ppppppdVar15 == (double *****)0x0" (pointer_expression "*ppppppdVar15" * identifier) == (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }" { (expression_statement "(*(code *)ppppppdVar30)(ppppppdVar15);" (call_expression "(*(code *)ppppppdVar30)(ppppppdVar15)" (parenthesized_expression "(*(code *)ppppppdVar30)" ( (pointer_expression "*(code *)ppppppdVar30" * (cast_expression "(code *)ppppppdVar30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppppppdVar15)" ( identifier ))) ;) })) (expression_statement "ppppppdVar16 = &pppppdStack_a4;" (assignment_expression "ppppppdVar16 = &pppppdStack_a4" identifier = (pointer_expression "&pppppdStack_a4" & identifier)) ;) (expression_statement "iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);" (assignment_expression "iVar5 = FUN_000b4d08(param_3,ppppdStack_a0)" identifier = (call_expression "FUN_000b4d08(param_3,ppppdStack_a0)" identifier (argument_list "(param_3,ppppdStack_a0)" ( identifier , identifier )))) ;) (expression_statement "unaff_s1 = ppppppdVar22;" (assignment_expression "unaff_s1 = ppppppdVar22" identifier = identifier) ;) (expression_statement "unaff_s3 = puVar26;" (assignment_expression "unaff_s3 = puVar26" identifier = identifier) ;) (expression_statement "unaff_s7 = &pppppdStack_a4;" (assignment_expression "unaff_s7 = &pppppdStack_a4" identifier = (pointer_expression "&pppppdStack_a4" & identifier)) ;) (expression_statement "unaff_s8 = (double ******)&ppppdStack_a0;" (assignment_expression "unaff_s8 = (double ******)&ppppdStack_a0" identifier = (cast_expression "(double ******)&ppppdStack_a0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&ppppdStack_a0" & identifier))) ;) (if_statement "if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }" { (expression_statement "ppppppdVar16 = (double ******)&ppppdStack_a0;" (assignment_expression "ppppppdVar16 = (double ******)&ppppdStack_a0" identifier = (cast_expression "(double ******)&ppppdStack_a0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&ppppdStack_a0" & identifier))) ;) (expression_statement "pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);" (assignment_expression "pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6])" identifier = (cast_expression "(double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6])" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6])" (parenthesized_expression "(*(code *)ppppppdVar15[8])" ( (pointer_expression "*(code *)ppppppdVar15[8]" * (cast_expression "(code *)ppppppdVar15[8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppppppdVar15[8]" identifier [ number_literal ]))) )) (argument_list "(ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6])" ( (subscript_expression "ppppppdVar15[9]" identifier [ number_literal ]) , (binary_expression "(int)ppppppdVar15[5] + (int)ppppppdVar15[6]" (cast_expression "(int)ppppppdVar15[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar15[5]" identifier [ number_literal ])) + (cast_expression "(int)ppppppdVar15[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar15[6]" identifier [ number_literal ]))) ))))) ;) (if_statement "if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }" if (parenthesized_expression "((double *****)ppppdStack_a0 == (double *****)0x0)" ( (binary_expression "(double *****)ppppdStack_a0 == (double *****)0x0" (cast_expression "(double *****)ppppdStack_a0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }" { (expression_statement "ppppppdVar15[4] = ppppppdVar15[6];" (assignment_expression "ppppppdVar15[4] = ppppppdVar15[6]" (subscript_expression "ppppppdVar15[4]" identifier [ number_literal ]) = (subscript_expression "ppppppdVar15[6]" identifier [ number_literal ])) ;) (expression_statement "ppppppdVar15[10] = (double *****)0x1;" (assignment_expression "ppppppdVar15[10] = (double *****)0x1" (subscript_expression "ppppppdVar15[10]" identifier [ number_literal ]) = (cast_expression "(double *****)0x1" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppdVar15[3] = ppppppdVar15[5];" (assignment_expression "ppppppdVar15[3] = ppppppdVar15[5]" (subscript_expression "ppppppdVar15[3]" identifier [ number_literal ]) = (subscript_expression "ppppppdVar15[5]" identifier [ number_literal ])) ;) (expression_statement "ppppppdVar29 = (double ******)pppppdStack_a4;" (assignment_expression "ppppppdVar29 = (double ******)pppppdStack_a4" identifier = (cast_expression "(double ******)pppppdStack_a4" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar14 = (double ******)0x1;" (assignment_expression "ppppppdVar14 = (double ******)0x1" identifier = (cast_expression "(double ******)0x1" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (break_statement "break;" break ;) })) (expression_statement "pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);" (assignment_expression "pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6])" identifier = (cast_expression "(double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6])" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppdStack_a0 + (int)ppppppdVar15[6])" ( (binary_expression "(int)ppppdStack_a0 + (int)ppppppdVar15[6]" (cast_expression "(int)ppppdStack_a0" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppdVar15[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar15[6]" identifier [ number_literal ]))) )))) ;) (expression_statement "ppppppdVar14 = (double ******)ppppppdVar15[10];" (assignment_expression "ppppppdVar14 = (double ******)ppppppdVar15[10]" identifier = (cast_expression "(double ******)ppppppdVar15[10]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppdVar15[10]" identifier [ number_literal ]))) ;) (expression_statement "ppppppdVar15[6] = pppppdVar10;" (assignment_expression "ppppppdVar15[6] = pppppdVar10" (subscript_expression "ppppppdVar15[6]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }" else (compound_statement "{\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }" { (expression_statement "pppppdVar10 = ppppppdVar15[6];" (assignment_expression "pppppdVar10 = ppppppdVar15[6]" identifier = (subscript_expression "ppppppdVar15[6]" identifier [ number_literal ])) ;) (expression_statement "ppppppdVar14 = (double ******)ppppppdVar15[10];" (assignment_expression "ppppppdVar14 = (double ******)ppppppdVar15[10]" identifier = (cast_expression "(double ******)ppppppdVar15[10]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppdVar15[10]" identifier [ number_literal ]))) ;) }))) (expression_statement "ppppppdVar15[4] = pppppdVar10;" (assignment_expression "ppppppdVar15[4] = pppppdVar10" (subscript_expression "ppppppdVar15[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppdVar15[3] = ppppppdVar15[5];" (assignment_expression "ppppppdVar15[3] = ppppppdVar15[5]" (subscript_expression "ppppppdVar15[3]" identifier [ number_literal ]) = (subscript_expression "ppppppdVar15[5]" identifier [ number_literal ])) ;) (expression_statement "ppppppdVar29 = (double ******)pppppdStack_a4;" (assignment_expression "ppppppdVar29 = (double ******)pppppdStack_a4" identifier = (cast_expression "(double ******)pppppdStack_a4" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;" if (parenthesized_expression "(((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0))" ( (binary_expression "((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)" (parenthesized_expression "((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10))" ( (binary_expression "(ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)" (parenthesized_expression "(ppppppdVar14 != (double ******)0x0)" ( (binary_expression "ppppppdVar14 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) || (parenthesized_expression "((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)" ( (binary_expression "(int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10" (cast_expression "(int)((int)param_2 + (int)ppppppdVar15[2])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)param_2 + (int)ppppppdVar15[2])" ( (binary_expression "(int)param_2 + (int)ppppppdVar15[2]" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppdVar15[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar15[2]" identifier [ number_literal ]))) ))) < (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) || (parenthesized_expression "((double ******)pppppdStack_a4 != (double ******)0x0)" ( (binary_expression "(double ******)pppppdStack_a4 != (double ******)0x0" (cast_expression "(double ******)pppppdStack_a4" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) }) (else_clause "else {\n      ppppppdVar29 = (double ******)0x0;\n    }" else (compound_statement "{\n      ppppppdVar29 = (double ******)0x0;\n    }" { (expression_statement "ppppppdVar29 = (double ******)0x0;" (assignment_expression "ppppppdVar29 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) }))) })) (if_statement "if (iStack_9c == *piVar31) {\n    return ppppppdVar29;\n  }" if (parenthesized_expression "(iStack_9c == *piVar31)" ( (binary_expression "iStack_9c == *piVar31" identifier == (pointer_expression "*piVar31" * identifier)) )) (compound_statement "{\n    return ppppppdVar29;\n  }" { (return_statement "return ppppppdVar29;" return identifier ;) })) (expression_statement "pcVar4 = *(code **)(puStack_b0 + -0x7b28);" (assignment_expression "pcVar4 = *(code **)(puStack_b0 + -0x7b28)" identifier = (pointer_expression "*(code **)(puStack_b0 + -0x7b28)" * (cast_expression "(code **)(puStack_b0 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_b0 + -0x7b28)" ( (binary_expression "puStack_b0 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar36 = FUN_000b5998;" (assignment_expression "pcVar36 = FUN_000b5998" identifier = identifier) ;) (expression_statement "iVar5 = iStack_9c;" (assignment_expression "iVar5 = iStack_9c" identifier = identifier) ;) (expression_statement "pppppdStack_a4 = (double *****)ppppppdVar29;" (assignment_expression "pppppdStack_a4 = (double *****)ppppppdVar29" identifier = (cast_expression "(double *****)ppppppdVar29" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_f0 = pcVar4 + 0xe2f88;" (assignment_expression "pcStack_f0 = pcVar4 + 0xe2f88" identifier = (binary_expression "pcVar4 + 0xe2f88" identifier + number_literal)) ;) (expression_statement "ppppppdVar29 = (double ******)&DAT_00000009;" (assignment_expression "ppppppdVar29 = (double ******)&DAT_00000009" identifier = (cast_expression "(double ******)&DAT_00000009" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000009" & identifier))) ;) (expression_statement "piVar23 = *(int **)(pcVar4 + 0xdb48c);" (assignment_expression "piVar23 = *(int **)(pcVar4 + 0xdb48c)" identifier = (pointer_expression "*(int **)(pcVar4 + 0xdb48c)" * (cast_expression "(int **)(pcVar4 + 0xdb48c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xdb48c)" ( (binary_expression "pcVar4 + 0xdb48c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(pcVar4 + 0xdb294);" (assignment_expression "iVar28 = *(int *)(pcVar4 + 0xdb294)" identifier = (pointer_expression "*(int *)(pcVar4 + 0xdb294)" * (cast_expression "(int *)(pcVar4 + 0xdb294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xdb294)" ( (binary_expression "pcVar4 + 0xdb294" identifier + number_literal) ))))) ;) (expression_statement "uStack_e8 = 0;" (assignment_expression "uStack_e8 = 0" identifier = number_literal) ;) (expression_statement "iStack_e4 = *piVar23;" (assignment_expression "iStack_e4 = *piVar23" identifier = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "pppppdStack_dc = (double *****)ppppppdVar21;" (assignment_expression "pppppdStack_dc = (double *****)ppppppdVar21" identifier = (cast_expression "(double *****)ppppppdVar21" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_d8 = (double *****)unaff_s1;" (assignment_expression "pppppdStack_d8 = (double *****)unaff_s1" identifier = (cast_expression "(double *****)unaff_s1" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_d4 = (double *****)ppppppdVar24;" (assignment_expression "pppppdStack_d4 = (double *****)ppppppdVar24" identifier = (cast_expression "(double *****)ppppppdVar24" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "puStack_d0 = unaff_s3;" (assignment_expression "puStack_d0 = unaff_s3" identifier = identifier) ;) (expression_statement "pppppdStack_cc = (double *****)param_3;" (assignment_expression "pppppdStack_cc = (double *****)param_3" identifier = (cast_expression "(double *****)param_3" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_c8 = (double *****)ppppppdVar30;" (assignment_expression "pppppdStack_c8 = (double *****)ppppppdVar30" identifier = (cast_expression "(double *****)ppppppdVar30" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_c4 = pcVar36;" (assignment_expression "pcStack_c4 = pcVar36" identifier = identifier) ;) (expression_statement "ppppppdVar30 = (double ******)FUN_000b57e0();" (assignment_expression "ppppppdVar30 = (double ******)FUN_000b57e0()" identifier = (cast_expression "(double ******)FUN_000b57e0()" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (ppppppdVar30 == (double ******)0x0) {\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);\n    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);\n    iVar20 = iVar20 + uStack_e8;\n    if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }\n  }\n  else {\n    pppppdVar10 = (double *****)0x1;\n  }" if (parenthesized_expression "(ppppppdVar30 == (double ******)0x0)" ( (binary_expression "ppppppdVar30 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);\n    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);\n    iVar20 = iVar20 + uStack_e8;\n    if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }\n  }" { (expression_statement "pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));" (assignment_expression "pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" identifier = (cast_expression "(byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" ( (binary_expression "*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )))) ;) (expression_statement "bVar1 = *pbVar11;" (assignment_expression "bVar1 = *pbVar11" identifier = (pointer_expression "*pbVar11" * identifier)) ;) (if_statement "if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\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      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }" { (expression_statement "iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);" (assignment_expression "iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8)" identifier = (call_expression "(*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))" ( (pointer_expression "*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388)" * (cast_expression "(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7d78) + 0x3388)" ( (binary_expression "*(int *)(pcStack_f0 + -0x7d78) + 0x3388" (pointer_expression "*(int *)(pcStack_f0 + -0x7d78)" * (cast_expression "(int *)(pcStack_f0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7d78)" ( (binary_expression "pcStack_f0 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pbVar11,&uStack_e8)" ( identifier , (pointer_expression "&uStack_e8" & identifier) )))) ;) (if_statement "if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }" if (parenthesized_expression "(0x10000 < uStack_e8)" ( (binary_expression "0x10000 < uStack_e8" number_literal < identifier) )) (compound_statement "{\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }" { (expression_statement "ppppppdVar17 = (double ******)&DAT_00030133;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_00030133" identifier = (cast_expression "(double ******)&DAT_00030133" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00030133" & identifier))) ;) (expression_statement "iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;" (assignment_expression "iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c" identifier = (binary_expression "*(int *)(pcStack_f0 + -0x7fc8) + 0x625c" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc8)" ( (binary_expression "pcStack_f0 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);" (assignment_expression "ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64)" identifier = (cast_expression "(double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64)" ( (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);" (assignment_expression "ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378)" identifier = (cast_expression "(double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378)" ( (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + -0x6378" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_f0 + -0x7fc4)" ( (binary_expression "pcStack_f0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppdVar10 = (double *****)(iVar20 + 1);" (assignment_expression "pppppdVar10 = (double *****)(iVar20 + 1)" identifier = (cast_expression "(double *****)(iVar20 + 1)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar20 + 1)" ( (binary_expression "iVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(pcStack_f0 + -0x7d40))(0xb);" (call_expression "(**(code **)(pcStack_f0 + -0x7d40))(0xb)" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7d40))" ( (pointer_expression "**(code **)(pcStack_f0 + -0x7d40)" * (pointer_expression "*(code **)(pcStack_f0 + -0x7d40)" * (cast_expression "(code **)(pcStack_f0 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7d40)" ( (binary_expression "pcStack_f0 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "ppppppdVar30 = (double ******)&DAT_0000000b;" (assignment_expression "ppppppdVar30 = (double ******)&DAT_0000000b" identifier = (cast_expression "(double ******)&DAT_0000000b" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (goto_statement "goto LAB_000b5ad4;" goto statement_identifier ;) })) }) (else_clause "else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }" else (compound_statement "{\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }" { (expression_statement "iVar20 = 1;" (assignment_expression "iVar20 = 1" identifier = number_literal) ;) (expression_statement "uStack_e8 = (uint)bVar1;" (assignment_expression "uStack_e8 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) (expression_statement "ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);" (assignment_expression "ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100)" identifier = (cast_expression "(double ******)(iVar20 + uStack_e8 + 100)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar20 + uStack_e8 + 100)" ( (binary_expression "iVar20 + uStack_e8 + 100" (binary_expression "iVar20 + uStack_e8" identifier + identifier) + number_literal) )))) ;) (expression_statement "ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);" (assignment_expression "ppppppdVar30 = (double ******)FUN_000b57e0(iVar5)" identifier = (cast_expression "(double ******)FUN_000b57e0(iVar5)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))))) ;) (expression_statement "iVar20 = iVar20 + uStack_e8;" (assignment_expression "iVar20 = iVar20 + uStack_e8" identifier = (binary_expression "iVar20 + uStack_e8" identifier + identifier)) ;) (if_statement "if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }" if (parenthesized_expression "(ppppppdVar30 == (double ******)0x0)" ( (binary_expression "ppppppdVar30 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }" { (do_statement "do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);" do (compound_statement "{\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      }" { (expression_statement "ppppppdVar29 = *(double *******)(iVar5 + 8);" (assignment_expression "ppppppdVar29 = *(double *******)(iVar5 + 8)" identifier = (pointer_expression "*(double *******)(iVar5 + 8)" * (cast_expression "(double *******)(iVar5 + 8)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) ;) (expression_statement "ppppppdVar16 = *(double *******)(iVar5 + 0x10);" (assignment_expression "ppppppdVar16 = *(double *******)(iVar5 + 0x10)" identifier = (pointer_expression "*(double *******)(iVar5 + 0x10)" * (cast_expression "(double *******)(iVar5 + 0x10)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }" if (parenthesized_expression "(iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16)" ( (binary_expression "iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16" (binary_expression "iVar20 + (int)ppppppdVar29" identifier + (cast_expression "(int)ppppppdVar29" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)ppppppdVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }" { (expression_statement "ppppppdVar17 = *(double *******)(iVar5 + 0xc);" (assignment_expression "ppppppdVar17 = *(double *******)(iVar5 + 0xc)" identifier = (pointer_expression "*(double *******)(iVar5 + 0xc)" * (cast_expression "(double *******)(iVar5 + 0xc)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar25 = iVar20;" (assignment_expression "iVar25 = iVar20" identifier = identifier) ;) (if_statement "if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }" if (parenthesized_expression "(*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0)" ( (binary_expression "*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0" (pointer_expression "*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29))" * (cast_expression "(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29))" ( (binary_expression "(int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)" (cast_expression "(int)ppppppdVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(iVar20 + (int)ppppppdVar29)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar20 + (int)ppppppdVar29)" ( (binary_expression "iVar20 + (int)ppppppdVar29" identifier + (cast_expression "(int)ppppppdVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }" { (expression_statement "pppppdVar10 = (double *****)(iVar20 + 1);" (assignment_expression "pppppdVar10 = (double *****)(iVar20 + 1)" identifier = (cast_expression "(double *****)(iVar20 + 1)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar20 + 1)" ( (binary_expression "iVar20 + 1" identifier + number_literal) )))) ;) (goto_statement "goto LAB_000b5ad4;" goto statement_identifier ;) })) (while_statement "while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }" { (expression_statement "iVar20 = iVar25 + 1;" (assignment_expression "iVar20 = iVar25 + 1" identifier = (binary_expression "iVar25 + 1" identifier + number_literal)) ;) (if_statement "if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;" if (parenthesized_expression "((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20)" ( (binary_expression "(int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20" (cast_expression "(int)ppppppdVar16" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "(int)ppppppdVar29 + iVar20" (cast_expression "(int)ppppppdVar29" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) )) (break_statement "break;" break ;)) (expression_statement "pppppdVar10 = (double *****)(iVar25 + 2);" (assignment_expression "pppppdVar10 = (double *****)(iVar25 + 2)" identifier = (cast_expression "(double *****)(iVar25 + 2)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar25 + 2)" ( (binary_expression "iVar25 + 2" identifier + number_literal) )))) ;) (expression_statement "iVar25 = iVar20;" (assignment_expression "iVar25 = iVar20" identifier = identifier) ;) (if_statement "if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;" if (parenthesized_expression "(*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)" ( (binary_expression "*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0" (pointer_expression "*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20))" * (cast_expression "(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20))" ( (binary_expression "(int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)" (cast_expression "(int)ppppppdVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)((int)ppppppdVar29 + iVar20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)ppppppdVar29 + iVar20)" ( (binary_expression "(int)ppppppdVar29 + iVar20" (cast_expression "(int)ppppppdVar29" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_000b5ad4;" goto statement_identifier ;)) })) })) (expression_statement "ppppppdVar29 = (double ******)(iVar20 + 100);" (assignment_expression "ppppppdVar29 = (double ******)(iVar20 + 100)" identifier = (cast_expression "(double ******)(iVar20 + 100)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar20 + 100)" ( (binary_expression "iVar20 + 100" identifier + number_literal) )))) ;) (expression_statement "ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);" (assignment_expression "ppppppdVar15 = (double ******)FUN_000b57e0(iVar5)" identifier = (cast_expression "(double ******)FUN_000b57e0(iVar5)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))))) ;) }) while (parenthesized_expression "(ppppppdVar15 == (double ******)0x0)" ( (binary_expression "ppppppdVar15 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) ;) (expression_statement "pppppdVar10 = (double *****)(iVar20 + 1);" (assignment_expression "pppppdVar10 = (double *****)(iVar20 + 1)" identifier = (cast_expression "(double *****)(iVar20 + 1)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar20 + 1)" ( (binary_expression "iVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "ppppppdVar30 = ppppppdVar15;" (assignment_expression "ppppppdVar30 = ppppppdVar15" identifier = identifier) ;) }) (else_clause "else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }" else (compound_statement "{\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }" { (expression_statement "pppppdVar10 = (double *****)(iVar20 + 1);" (assignment_expression "pppppdVar10 = (double *****)(iVar20 + 1)" identifier = (cast_expression "(double *****)(iVar20 + 1)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar20 + 1)" ( (binary_expression "iVar20 + 1" identifier + number_literal) )))) ;) }))) }) (else_clause "else {\n    pppppdVar10 = (double *****)0x1;\n  }" else (compound_statement "{\n    pppppdVar10 = (double *****)0x1;\n  }" { (expression_statement "pppppdVar10 = (double *****)0x1;" (assignment_expression "pppppdVar10 = (double *****)0x1" identifier = (cast_expression "(double *****)0x1" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }))) (labeled_statement "LAB_000b5ad4:\n  *ppppppdVar14 = pppppdVar10;" statement_identifier : (expression_statement "*ppppppdVar14 = pppppdVar10;" (assignment_expression "*ppppppdVar14 = pppppdVar10" (pointer_expression "*ppppppdVar14" * identifier) = identifier) ;)) (if_statement "if (iStack_e4 == *piVar23) {\n    return ppppppdVar30;\n  }" if (parenthesized_expression "(iStack_e4 == *piVar23)" ( (binary_expression "iStack_e4 == *piVar23" identifier == (pointer_expression "*piVar23" * identifier)) )) (compound_statement "{\n    return ppppppdVar30;\n  }" { (return_statement "return ppppppdVar30;" return identifier ;) })) (expression_statement "pcVar4 = *(code **)(pcStack_f0 + -0x7b28);" (assignment_expression "pcVar4 = *(code **)(pcStack_f0 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_f0 + -0x7b28)" * (cast_expression "(code **)(pcStack_f0 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_f0 + -0x7b28)" ( (binary_expression "pcStack_f0 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar36 = FUN_000b5b8c;" (assignment_expression "pcVar36 = FUN_000b5b8c" identifier = identifier) ;) (expression_statement "iVar20 = iStack_e4;" (assignment_expression "iVar20 = iStack_e4" identifier = identifier) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_148 = pcVar4 + 0xe2d94;" (assignment_expression "pcStack_148 = pcVar4 + 0xe2d94" identifier = (binary_expression "pcVar4 + 0xe2d94" identifier + number_literal)) ;) (expression_statement "ppppppdVar33 = (double ******)&ppppdStack_138;" (assignment_expression "ppppppdVar33 = (double ******)&ppppdStack_138" identifier = (cast_expression "(double ******)&ppppdStack_138" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&ppppdStack_138" & identifier))) ;) (expression_statement "ppppppdVar24 = (double ******)0x0;" (assignment_expression "ppppppdVar24 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppdVar21 = (double ******)0x0;" (assignment_expression "ppppppdVar21 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "puVar32 = *(undefined4 **)(pcVar4 + 0xdb298);" (assignment_expression "puVar32 = *(undefined4 **)(pcVar4 + 0xdb298)" identifier = (pointer_expression "*(undefined4 **)(pcVar4 + 0xdb298)" * (cast_expression "(undefined4 **)(pcVar4 + 0xdb298)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xdb298)" ( (binary_expression "pcVar4 + 0xdb298" identifier + number_literal) ))))) ;) (expression_statement "pppppdStack_134 = (double *****)*puVar32;" (assignment_expression "pppppdStack_134 = (double *****)*puVar32" identifier = (cast_expression "(double *****)*puVar32" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*puVar32" * identifier))) ;) (expression_statement "ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);" (assignment_expression "ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0)" identifier = (cast_expression "(double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0)" ( (binary_expression "*(int *)(pcVar4 + 0xdb0a0) + 0x57e0" (pointer_expression "*(int *)(pcVar4 + 0xdb0a0)" * (cast_expression "(int *)(pcVar4 + 0xdb0a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xdb0a0)" ( (binary_expression "pcVar4 + 0xdb0a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);" (assignment_expression "pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xdb01c) + 0x3388)" ( (binary_expression "*(int *)(pcVar4 + 0xdb01c) + 0x3388" (pointer_expression "*(int *)(pcVar4 + 0xdb01c)" * (cast_expression "(int *)(pcVar4 + 0xdb01c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xdb01c)" ( (binary_expression "pcVar4 + 0xdb01c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppppdVar6 = (double ******)0x0;" (assignment_expression "ppppppdVar6 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppdVar15 = ppppppdVar29;" (assignment_expression "ppppppdVar15 = ppppppdVar29" identifier = identifier) ;) (expression_statement "pppppdStack_13c = (double *****)ppppppdVar16;" (assignment_expression "pppppdStack_13c = (double *****)ppppppdVar16" identifier = (cast_expression "(double *****)ppppppdVar16" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppdStack_130 = (double ****)pppppdVar10;" (assignment_expression "ppppdStack_130 = (double ****)pppppdVar10" identifier = (cast_expression "(double ****)pppppdVar10" ( (type_descriptor "double ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "pppppdStack_12c = (double *****)ppppppdVar30;" (assignment_expression "pppppdStack_12c = (double *****)ppppppdVar30" identifier = (cast_expression "(double *****)ppppppdVar30" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "piStack_128 = piVar23;" (assignment_expression "piStack_128 = piVar23" identifier = identifier) ;) (expression_statement "pppppdStack_124 = (double *****)ppppppdVar14;" (assignment_expression "pppppdStack_124 = (double *****)ppppppdVar14" identifier = (cast_expression "(double *****)ppppppdVar14" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iStack_120 = iVar28 + 0x57e0;" (assignment_expression "iStack_120 = iVar28 + 0x57e0" identifier = (binary_expression "iVar28 + 0x57e0" identifier + number_literal)) ;) (expression_statement "iStack_11c = iVar5;" (assignment_expression "iStack_11c = iVar5" identifier = identifier) ;) (expression_statement "piStack_118 = piVar31;" (assignment_expression "piStack_118 = piVar31" identifier = identifier) ;) (expression_statement "pppppdStack_114 = (double *****)unaff_s7;" (assignment_expression "pppppdStack_114 = (double *****)unaff_s7" identifier = (cast_expression "(double *****)unaff_s7" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_110 = (double *****)unaff_s8;" (assignment_expression "pppppdStack_110 = (double *****)unaff_s8" identifier = (cast_expression "(double *****)unaff_s8" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_10c = pcVar36;" (assignment_expression "pcStack_10c = pcVar36" identifier = identifier) ;) (if_statement "if (0 < (int)ppppppdVar29) {\n    do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));\n  }" if (parenthesized_expression "(0 < (int)ppppppdVar29)" ( (binary_expression "0 < (int)ppppppdVar29" number_literal < (cast_expression "(int)ppppppdVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));\n  }" { (do_statement "do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));" do (compound_statement "{\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    }" { (expression_statement "ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);" (assignment_expression "ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10)" identifier = (cast_expression "(double ******)((int)ppppppdVar21 + 10)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar21 + 10)" ( (binary_expression "(int)ppppppdVar21 + 10" (cast_expression "(int)ppppppdVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (while_statement "while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }" { (expression_statement "ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);" (assignment_expression "ppppppdVar6 = (double ******)FUN_000b57e0(iVar20)" identifier = (cast_expression "(double ******)FUN_000b57e0(iVar20)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(iVar20)" identifier (argument_list "(iVar20)" ( identifier ))))) ;) (if_statement "if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;" if (parenthesized_expression "(ppppppdVar6 != (double ******)0x0)" ( (binary_expression "ppppppdVar6 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b5c24;" goto statement_identifier ;)) (expression_statement "unaff_s8 = (double ******)((int)ppppppdVar21 + 1);" (assignment_expression "unaff_s8 = (double ******)((int)ppppppdVar21 + 1)" identifier = (cast_expression "(double ******)((int)ppppppdVar21 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar21 + 1)" ( (binary_expression "(int)ppppppdVar21 + 1" (cast_expression "(int)ppppppdVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppppppdVar17 = *(double *******)(iVar20 + 8);" (assignment_expression "ppppppdVar17 = *(double *******)(iVar20 + 8)" identifier = (pointer_expression "*(double *******)(iVar20 + 8)" * (cast_expression "(double *******)(iVar20 + 8)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar20 + 8)" ( (binary_expression "iVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];" (assignment_expression "uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21]" identifier = (subscript_expression "(uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21]" (call_expression "(uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))" ( (cast_expression "(code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" ( (binary_expression "(int)ppppppdVar17 + *(int *)(iVar20 + 0xc)" (cast_expression "(int)ppppppdVar17" ( (type_descriptor "int" primitive_type) ) 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) ))))) ))) ))) [ (cast_expression "(int)ppppppdVar21" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);" (assignment_expression "ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1)" identifier = (cast_expression "(double ******)((int)ppppppdVar24 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar24 + 1)" ( (binary_expression "(int)ppppppdVar24 + 1" (cast_expression "(int)ppppppdVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (uVar8 - 3 < 2) break;" if (parenthesized_expression "(uVar8 - 3 < 2)" ( (binary_expression "uVar8 - 3 < 2" (binary_expression "uVar8 - 3" identifier - number_literal) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);" (assignment_expression "ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9)" identifier = (cast_expression "(double ******)((int)ppppppdVar21 + 9)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar21 + 9)" ( (binary_expression "(int)ppppppdVar21 + 9" (cast_expression "(int)ppppppdVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }" if (parenthesized_expression "(1 < uVar8 - 1)" ( (binary_expression "1 < uVar8 - 1" number_literal < (binary_expression "uVar8 - 1" identifier - number_literal)) )) (compound_statement "{\n          ppppppdVar21 = unaff_s8;\n        }" { (expression_statement "ppppppdVar21 = unaff_s8;" (assignment_expression "ppppppdVar21 = unaff_s8" identifier = identifier) ;) })) (expression_statement "ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);" (assignment_expression "ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10)" identifier = (cast_expression "(double ******)((int)ppppppdVar21 + 10)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar21 + 10)" ( (binary_expression "(int)ppppppdVar21 + 10" (cast_expression "(int)ppppppdVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;" if (parenthesized_expression "(ppppppdVar29 == ppppppdVar24)" ( (binary_expression "ppppppdVar29 == ppppppdVar24" identifier == identifier) )) (goto_statement "goto LAB_000b5c24;" goto statement_identifier ;)) })) (expression_statement "ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);" (assignment_expression "ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8)" identifier = (cast_expression "(double ******)((int)ppppppdVar17 + (int)unaff_s8)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar17 + (int)unaff_s8)" ( (binary_expression "(int)ppppppdVar17 + (int)unaff_s8" (cast_expression "(int)ppppppdVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));" (assignment_expression "pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" identifier = (cast_expression "(code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" ( (binary_expression "(int)ppppppdVar17 + *(int *)(iVar20 + 0xc)" (cast_expression "(int)ppppppdVar17" ( (type_descriptor "int" primitive_type) ) 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 "cVar2 = *pcVar36;" (assignment_expression "cVar2 = *pcVar36" identifier = (pointer_expression "*pcVar36" * identifier)) ;) (if_statement "if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }" if (parenthesized_expression "((char)cVar2 < '\0')" ( (binary_expression "(char)cVar2 < '\0'" (cast_expression "(char)cVar2" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }" { (expression_statement "iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);" (assignment_expression "iVar5 = (*pcVar4)(pcVar36,ppppppdVar33)" identifier = (call_expression "(*pcVar4)(pcVar36,ppppppdVar33)" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(pcVar36,ppppppdVar33)" ( identifier , identifier )))) ;) }) (else_clause "else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }" else (compound_statement "{\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "ppppdStack_138 = (double ****)(uint)(byte)cVar2;" (assignment_expression "ppppdStack_138 = (double ****)(uint)(byte)cVar2" identifier = (cast_expression "(double ****)(uint)(byte)cVar2" ( (type_descriptor "double ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (cast_expression "(uint)(byte)cVar2" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)cVar2" ( (type_descriptor "byte" type_identifier) ) identifier)))) ;) }))) (expression_statement "unaff_s8 = (double ******)((int)unaff_s8 + iVar5);" (assignment_expression "unaff_s8 = (double ******)((int)unaff_s8 + iVar5)" identifier = (cast_expression "(double ******)((int)unaff_s8 + iVar5)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)unaff_s8 + iVar5)" ( (binary_expression "(int)unaff_s8 + iVar5" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);" (assignment_expression "ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138)" identifier = (cast_expression "(double ******)((int)unaff_s8 + (int)ppppdStack_138)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)unaff_s8 + (int)ppppdStack_138)" ( (binary_expression "(int)unaff_s8 + (int)ppppdStack_138" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppdStack_138" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppdVar15 = ppppppdVar21;" (assignment_expression "ppppppdVar15 = ppppppdVar21" identifier = identifier) ;) (expression_statement "ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);" (assignment_expression "ppppppdVar6 = (double ******)FUN_000b57e0(iVar20)" identifier = (cast_expression "(double ******)FUN_000b57e0(iVar20)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(iVar20)" identifier (argument_list "(iVar20)" ( identifier ))))) ;) }) while (parenthesized_expression "((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29))" ( (binary_expression "(ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29)" (parenthesized_expression "(ppppppdVar6 == (double ******)0x0)" ( (binary_expression "ppppppdVar6 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) && (parenthesized_expression "(ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29)" ( (comma_expression "ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29" (assignment_expression "ppppppdVar6 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) , (binary_expression "(int)ppppppdVar24 < (int)ppppppdVar29" (cast_expression "(int)ppppppdVar24" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppppppdVar29" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) ;) })) (labeled_statement "LAB_000b5c24:\n  *pppppdStack_13c = (double ****)ppppppdVar21;" statement_identifier : (expression_statement "*pppppdStack_13c = (double ****)ppppppdVar21;" (assignment_expression "*pppppdStack_13c = (double ****)ppppppdVar21" (pointer_expression "*pppppdStack_13c" * identifier) = (cast_expression "(double ****)ppppppdVar21" ( (type_descriptor "double ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;)) (if_statement "if ((double ******)pppppdStack_134 == (double ******)*puVar32) {\n    return ppppppdVar6;\n  }" if (parenthesized_expression "((double ******)pppppdStack_134 == (double ******)*puVar32)" ( (binary_expression "(double ******)pppppdStack_134 == (double ******)*puVar32" (cast_expression "(double ******)pppppdStack_134" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(double ******)*puVar32" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*puVar32" * identifier))) )) (compound_statement "{\n    return ppppppdVar6;\n  }" { (return_statement "return ppppppdVar6;" return identifier ;) })) (expression_statement "pcVar36 = *(code **)(pcStack_148 + -0x7b28);" (assignment_expression "pcVar36 = *(code **)(pcStack_148 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_148 + -0x7b28)" * (cast_expression "(code **)(pcStack_148 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_148 + -0x7b28)" ( (binary_expression "pcStack_148 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar37 = FUN_000b5d20;" (assignment_expression "pcVar37 = FUN_000b5d20" identifier = identifier) ;) (expression_statement "ppppppdVar6 = (double ******)pppppdStack_134;" (assignment_expression "ppppppdVar6 = (double ******)pppppdStack_134" identifier = (cast_expression "(double ******)pppppdStack_134" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "(*pcVar36)();" (call_expression "(*pcVar36)()" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1c0 = pcVar36 + 0xe2c00;" (assignment_expression "pcStack_1c0 = pcVar36 + 0xe2c00" identifier = (binary_expression "pcVar36 + 0xe2c00" identifier + number_literal)) ;) (expression_statement "piVar31 = *(int **)(pcVar36 + 0xdb104);" (assignment_expression "piVar31 = *(int **)(pcVar36 + 0xdb104)" identifier = (pointer_expression "*(int **)(pcVar36 + 0xdb104)" * (cast_expression "(int **)(pcVar36 + 0xdb104)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdb104)" ( (binary_expression "pcVar36 + 0xdb104" identifier + number_literal) ))))) ;) (expression_statement "iStack_18c = *piVar31;" (assignment_expression "iStack_18c = *piVar31" identifier = (pointer_expression "*piVar31" * identifier)) ;) (expression_statement "ppppppdVar14 = ppppppdVar15;" (assignment_expression "ppppppdVar14 = ppppppdVar15" identifier = identifier) ;) (expression_statement "ppppppdVar30 = ppppppdVar16;" (assignment_expression "ppppppdVar30 = ppppppdVar16" identifier = identifier) ;) (expression_statement "pppppdStack_1b4 = (double *****)ppppppdVar17;" (assignment_expression "pppppdStack_1b4 = (double *****)ppppppdVar17" identifier = (cast_expression "(double *****)ppppppdVar17" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_188 = (double *****)ppppppdVar21;" (assignment_expression "pppppdStack_188 = (double *****)ppppppdVar21" identifier = (cast_expression "(double *****)ppppppdVar21" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iStack_184 = iVar20;" (assignment_expression "iStack_184 = iVar20" identifier = identifier) ;) (expression_statement "pppppdStack_180 = (double *****)ppppppdVar24;" (assignment_expression "pppppdStack_180 = (double *****)ppppppdVar24" identifier = (cast_expression "(double *****)ppppppdVar24" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_17c = (double *****)ppppppdVar22;" (assignment_expression "pppppdStack_17c = (double *****)ppppppdVar22" identifier = (cast_expression "(double *****)ppppppdVar22" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_178 = (double *****)ppppppdVar29;" (assignment_expression "pppppdStack_178 = (double *****)ppppppdVar29" identifier = (cast_expression "(double *****)ppppppdVar29" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_174 = pcVar4;" (assignment_expression "pcStack_174 = pcVar4" identifier = identifier) ;) (expression_statement "puStack_170 = puVar32;" (assignment_expression "puStack_170 = puVar32" identifier = identifier) ;) (expression_statement "pppppdStack_16c = (double *****)ppppppdVar33;" (assignment_expression "pppppdStack_16c = (double *****)ppppppdVar33" identifier = (cast_expression "(double *****)ppppppdVar33" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_168 = (double *****)unaff_s8;" (assignment_expression "pppppdStack_168 = (double *****)unaff_s8" identifier = (cast_expression "(double *****)unaff_s8" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_164 = pcVar37;" (assignment_expression "pcStack_164 = pcVar37" identifier = identifier) ;) (if_statement "if (0 < (int)ppppppdVar15) {\n    ppppppdVar21 = (double ******)0x0;\n    pcVar4 = *(code **)(pcVar36 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);\n    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;\n    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);\nLAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;\n    ppppppdVar33 = ppppppdVar21;\n    pcVar36 = pcStack_1c0;\nLAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }\n    ppppppdVar14 = (double ******)&DAT_00000009;\n    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n    pcVar36 = pcStack_1c0;\n    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n    pppppdVar10 = ppppppdVar6[2];\n    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    ppppppdVar6[2] = (double *****)ppppppdVar14;\n    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);\n    if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }\n    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n    ppppppdVar21 = ppppppdVar16;\n    ppppppdVar24 = ppppppdVar15;\n    pcVar36 = pcStack_1c0;\n    unaff_s8 = ppppppdVar6;\n    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" if (parenthesized_expression "(0 < (int)ppppppdVar15)" ( (binary_expression "0 < (int)ppppppdVar15" number_literal < (cast_expression "(int)ppppppdVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    ppppppdVar21 = (double ******)0x0;\n    pcVar4 = *(code **)(pcVar36 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);\n    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;\n    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);\nLAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;\n    ppppppdVar33 = ppppppdVar21;\n    pcVar36 = pcStack_1c0;\nLAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }\n    ppppppdVar14 = (double ******)&DAT_00000009;\n    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n    pcVar36 = pcStack_1c0;\n    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n    pppppdVar10 = ppppppdVar6[2];\n    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    ppppppdVar6[2] = (double *****)ppppppdVar14;\n    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);\n    if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }\n    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n    ppppppdVar21 = ppppppdVar16;\n    ppppppdVar24 = ppppppdVar15;\n    pcVar36 = pcStack_1c0;\n    unaff_s8 = ppppppdVar6;\n    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" { (expression_statement "ppppppdVar21 = (double ******)0x0;" (assignment_expression "ppppppdVar21 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pcVar4 = *(code **)(pcVar36 + 0xdae88);" (assignment_expression "pcVar4 = *(code **)(pcVar36 + 0xdae88)" identifier = (pointer_expression "*(code **)(pcVar36 + 0xdae88)" * (cast_expression "(code **)(pcVar36 + 0xdae88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdae88)" ( (binary_expression "pcVar36 + 0xdae88" identifier + number_literal) ))))) ;) (expression_statement "pcStack_1b0 = pcVar4 + 0x924;" (assignment_expression "pcStack_1b0 = pcVar4 + 0x924" identifier = (binary_expression "pcVar4 + 0x924" identifier + number_literal)) ;) (expression_statement "pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);" (assignment_expression "pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48)" identifier = (cast_expression "(code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar36 + 0xdae88) + -0x2b48)" ( (binary_expression "*(int *)(pcVar36 + 0xdae88) + -0x2b48" (pointer_expression "*(int *)(pcVar36 + 0xdae88)" * (cast_expression "(int *)(pcVar36 + 0xdae88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xdae88)" ( (binary_expression "pcVar36 + 0xdae88" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;" (assignment_expression "iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0" identifier = (binary_expression "*(int *)(pcVar36 + 0xdaf0c) + 0x57e0" (pointer_expression "*(int *)(pcVar36 + 0xdaf0c)" * (cast_expression "(int *)(pcVar36 + 0xdaf0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xdaf0c)" ( (binary_expression "pcVar36 + 0xdaf0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);" (assignment_expression "iStack_1a8 = *(int *)(pcVar36 + 0xdaea0)" identifier = (pointer_expression "*(int *)(pcVar36 + 0xdaea0)" * (cast_expression "(int *)(pcVar36 + 0xdaea0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xdaea0)" ( (binary_expression "pcVar36 + 0xdaea0" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;" statement_identifier : (expression_statement "ppppppdVar22 = (double ******)0x1;" (assignment_expression "ppppppdVar22 = (double ******)0x1" identifier = (cast_expression "(double ******)0x1" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (expression_statement "ppppppdVar33 = ppppppdVar21;" (assignment_expression "ppppppdVar33 = ppppppdVar21" identifier = identifier) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (labeled_statement "LAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }" statement_identifier : (while_statement "while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }" while (parenthesized_expression "((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0)))" ( (parenthesized_expression "(ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))" ( (binary_expression "ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0)" (binary_expression "ppppppdVar16 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) && (parenthesized_expression "(*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0)" ( (binary_expression "*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0" (pointer_expression "*(code *)((int)ppppppdVar16 + (int)ppppppdVar33)" * (cast_expression "(code *)((int)ppppppdVar16 + (int)ppppppdVar33)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar16 + (int)ppppppdVar33)" ( (binary_expression "(int)ppppppdVar16 + (int)ppppppdVar33" (cast_expression "(int)ppppppdVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) )) (compound_statement "{\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }" { (expression_statement "ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);" (assignment_expression "ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1)" identifier = (cast_expression "(double ******)((int)ppppppdVar33 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar33 + 1)" ( (binary_expression "(int)ppppppdVar33 + 1" (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppppppdVar7 = (double ******)0x0;" (assignment_expression "ppppppdVar7 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;" if (parenthesized_expression "((int)ppppppdVar15 <= (int)ppppppdVar33)" ( (binary_expression "(int)ppppppdVar15 <= (int)ppppppdVar33" (cast_expression "(int)ppppppdVar15" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) }))) (expression_statement "ppppppdVar14 = (double ******)&DAT_00000009;" (assignment_expression "ppppppdVar14 = (double ******)&DAT_00000009" identifier = (cast_expression "(double ******)&DAT_00000009" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000009" & identifier))) ;) (expression_statement "ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);" (assignment_expression "ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6)" identifier = (cast_expression "(double ******)FUN_000b57e0(ppppppdVar6)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(ppppppdVar6)" identifier (argument_list "(ppppppdVar6)" ( identifier ))))) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (if_statement "if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;" if (parenthesized_expression "(ppppppdVar7 != (double ******)0x0)" ( (binary_expression "ppppppdVar7 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) (expression_statement "pppppdVar10 = ppppppdVar6[2];" (assignment_expression "pppppdVar10 = ppppppdVar6[2]" identifier = (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ])) ;) (expression_statement "ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);" (assignment_expression "ppppppdVar14 = (double ******)((int)pppppdVar10 + 1)" identifier = (cast_expression "(double ******)((int)pppppdVar10 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppdVar10 + 1)" ( (binary_expression "(int)pppppdVar10 + 1" (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }" if (parenthesized_expression "((int)ppppppdVar6[4] <= (int)pppppdVar10)" ( (binary_expression "(int)ppppppdVar6[4] <= (int)pppppdVar10" (cast_expression "(int)ppppppdVar6[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[4]" identifier [ number_literal ])) <= (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }" { (expression_statement "ppppppdVar17 = (double ******)&DAT_000300ea;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_000300ea" identifier = (cast_expression "(double ******)&DAT_000300ea" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_000300ea" & identifier))) ;) (labeled_statement "LAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;" statement_identifier : (expression_statement "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;" (assignment_expression "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c" identifier = (binary_expression "*(int *)(pcStack_1c0 + -0x7fc8) + 0x625c" (pointer_expression "*(int *)(pcStack_1c0 + -0x7fc8)" * (cast_expression "(int *)(pcStack_1c0 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7fc8)" ( (binary_expression "pcStack_1c0 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);" (assignment_expression "ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64)" identifier = (cast_expression "(double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64" (pointer_expression "*(int *)(pcStack_1c0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_1c0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7fc4)" ( (binary_expression "pcStack_1c0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);" (assignment_expression "ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378)" identifier = (cast_expression "(double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378" (pointer_expression "*(int *)(pcStack_1c0 + -0x7fc4)" * (cast_expression "(int *)(pcStack_1c0 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7fc4)" ( (binary_expression "pcStack_1c0 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcStack_1c0 + -0x7d40))(0xb);" (call_expression "(**(code **)(pcStack_1c0 + -0x7d40))(0xb)" (parenthesized_expression "(**(code **)(pcStack_1c0 + -0x7d40))" ( (pointer_expression "**(code **)(pcStack_1c0 + -0x7d40)" * (pointer_expression "*(code **)(pcStack_1c0 + -0x7d40)" * (cast_expression "(code **)(pcStack_1c0 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c0 + -0x7d40)" ( (binary_expression "pcStack_1c0 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "ppppppdVar7 = (double ******)&DAT_0000000b;" (assignment_expression "ppppppdVar7 = (double ******)&DAT_0000000b" identifier = (cast_expression "(double ******)&DAT_0000000b" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "ppppppdVar6[2] = (double *****)ppppppdVar14;" (assignment_expression "ppppppdVar6[2] = (double *****)ppppppdVar14" (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]) = (cast_expression "(double *****)ppppppdVar14" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);" (assignment_expression "pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10)" identifier = (binary_expression "(code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10)" (cast_expression "(code *)(uint)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar6[3] + (int)pppppdVar10)" ( (binary_expression "(int)ppppppdVar6[3] + (int)pppppdVar10" (cast_expression "(int)ppppppdVar6[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[3]" identifier [ number_literal ])) + (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }" if (parenthesized_expression "(pcVar4 != (code *)0x0)" ( (binary_expression "pcVar4 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }" { (expression_statement "ppppppdVar17 = (double ******)&DAT_00000028;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_00000028" identifier = (cast_expression "(double ******)&DAT_00000028" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000028" & identifier))) ;) (expression_statement "ppppppdVar30 = (double ******)0x0;" (assignment_expression "ppppppdVar30 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);" (assignment_expression "ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33)" identifier = (cast_expression "(double ******)(pppppdStack_1b4 + (int)ppppppdVar33)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(pppppdStack_1b4 + (int)ppppppdVar33)" ( (binary_expression "pppppdStack_1b4 + (int)ppppppdVar33" identifier + (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppdVar24 = (double ******)(*pcStack_1b0)(0);" (assignment_expression "ppppppdVar24 = (double ******)(*pcStack_1b0)(0)" identifier = (cast_expression "(double ******)(*pcStack_1b0)(0)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*pcStack_1b0)(0)" (parenthesized_expression "(*pcStack_1b0)" ( (pointer_expression "*pcStack_1b0" * identifier) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }" if (parenthesized_expression "(ppppppdVar24 == (double ******)0x0)" ( (binary_expression "ppppppdVar24 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }" { (expression_statement "ppppppdVar7 = (double ******)&DAT_00000007;" (assignment_expression "ppppppdVar7 = (double ******)&DAT_00000007" identifier = (cast_expression "(double ******)&DAT_00000007" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "*ppppppdVar29 = (double *****)0x0;" (assignment_expression "*ppppppdVar29 = (double *****)0x0" (pointer_expression "*ppppppdVar29" * identifier) = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (expression_statement "*(undefined2 *)(ppppppdVar24 + 2) = 1;" (assignment_expression "*(undefined2 *)(ppppppdVar24 + 2) = 1" (pointer_expression "*(undefined2 *)(ppppppdVar24 + 2)" * (cast_expression "(undefined2 *)(ppppppdVar24 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppdVar24 + 2)" ( (binary_expression "ppppppdVar24 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppdVar24[8] = (double *****)0x0;" (assignment_expression "ppppppdVar24[8] = (double *****)0x0" (subscript_expression "ppppppdVar24[8]" identifier [ number_literal ]) = (cast_expression "(double *****)0x0" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "*ppppppdVar29 = (double *****)ppppppdVar24;" (assignment_expression "*ppppppdVar29 = (double *****)ppppppdVar24" (pointer_expression "*ppppppdVar29" * identifier) = (cast_expression "(double *****)ppppppdVar24" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppppdVar30 = (double ******)ppppppdVar6[2];" (assignment_expression "ppppppdVar30 = (double ******)ppppppdVar6[2]" identifier = (cast_expression "(double ******)ppppppdVar6[2]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]))) ;) (expression_statement "pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);" (assignment_expression "pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30)" identifier = (cast_expression "(double *)((int)ppppppdVar6[3] + (int)ppppppdVar30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar6[3] + (int)ppppppdVar30)" ( (binary_expression "(int)ppppppdVar6[3] + (int)ppppppdVar30" (cast_expression "(int)ppppppdVar6[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[3]" identifier [ number_literal ])) + (cast_expression "(int)ppppppdVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }" if (parenthesized_expression "(pcVar4 + -3 < (code *)0x2)" ( (binary_expression "pcVar4 + -3 < (code *)0x2" (binary_expression "pcVar4 + -3" identifier + number_literal) < (cast_expression "(code *)0x2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }" { (if_statement "if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }" if (parenthesized_expression "((char)*(code *)pdVar12 < '\0')" ( (binary_expression "(char)*(code *)pdVar12 < '\0'" (cast_expression "(char)*(code *)pdVar12" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)pdVar12" * (cast_expression "(code *)pdVar12" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }" { (expression_statement "iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);" (assignment_expression "iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198)" identifier = (call_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))" ( (pointer_expression "*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388)" * (cast_expression "(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7d78) + 0x3388" (pointer_expression "*(int *)(pcStack_1c0 + -0x7d78)" * (cast_expression "(int *)(pcStack_1c0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7d78)" ( (binary_expression "pcStack_1c0 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pdVar12,&pppppdStack_198)" ( identifier , (pointer_expression "&pppppdStack_198" & identifier) )))) ;) (expression_statement "ppppppdVar30 = (double ******)ppppppdVar6[2];" (assignment_expression "ppppppdVar30 = (double ******)ppppppdVar6[2]" identifier = (cast_expression "(double ******)ppppppdVar6[2]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }" else (compound_statement "{\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;" (assignment_expression "pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12" identifier = (binary_expression "(double *****)(uint)(byte)*(code *)pdVar12" (cast_expression "(double *****)(uint)(byte)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * (cast_expression "(code *)pdVar12" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (expression_statement "ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);" (assignment_expression "ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30)" (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]) = (cast_expression "(double *****)(iVar5 + (int)ppppppdVar30)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar5 + (int)ppppppdVar30)" ( (binary_expression "iVar5 + (int)ppppppdVar30" identifier + (cast_expression "(int)ppppppdVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppdVar14 = (double ******)pppppdStack_198;" (assignment_expression "ppppppdVar14 = (double ******)pppppdStack_198" identifier = (cast_expression "(double ******)pppppdStack_198" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);" (assignment_expression "ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6)" identifier = (cast_expression "(double ******)FUN_000b57e0(ppppppdVar6)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(ppppppdVar6)" identifier (argument_list "(ppppppdVar6)" ( identifier ))))) ;) (expression_statement "pppppdVar10 = pppppdStack_198;" (assignment_expression "pppppdVar10 = pppppdStack_198" identifier = identifier) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (if_statement "if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;" if (parenthesized_expression "(ppppppdVar7 != (double ******)0x0)" ( (binary_expression "ppppppdVar7 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;)) (expression_statement "ppppppdVar17 = (double ******)&DAT_00030000;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_00030000" identifier = (cast_expression "(double ******)&DAT_00030000" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00030000" & identifier))) ;) (if_statement "if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }" if (parenthesized_expression "(-1 < (int)pppppdStack_198)" ( (binary_expression "-1 < (int)pppppdStack_198" number_literal < (cast_expression "(int)pppppdStack_198" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }" { (if_statement "if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }" if (parenthesized_expression "((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2])" ( (binary_expression "(int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]" (cast_expression "(int)pppppdStack_198" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "(int)ppppppdVar6[4] - (int)ppppppdVar6[2]" (cast_expression "(int)ppppppdVar6[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[4]" identifier [ number_literal ])) - (cast_expression "(int)ppppppdVar6[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ])))) )) (compound_statement "{\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }" { (expression_statement "pppppdStack_1a0 = *ppppppdVar29;" (assignment_expression "pppppdStack_1a0 = *ppppppdVar29" identifier = (pointer_expression "*ppppppdVar29" * identifier)) ;) (expression_statement "ppppppdVar29 = (double ******)ppppppdVar6[3];" (assignment_expression "ppppppdVar29 = (double ******)ppppppdVar6[3]" identifier = (cast_expression "(double ******)ppppppdVar6[3]" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppdVar6[3]" identifier [ number_literal ]))) ;) (expression_statement "pppppdStack_1a4 = ppppppdVar6[2];" (assignment_expression "pppppdStack_1a4 = ppppppdVar6[2]" identifier = (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ])) ;) (expression_statement "ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();" (assignment_expression "ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))()" identifier = (cast_expression "(double ******)(**(code **)(pcStack_1c0 + -0x7d98))()" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(pcStack_1c0 + -0x7d98))()" (parenthesized_expression "(**(code **)(pcStack_1c0 + -0x7d98))" ( (pointer_expression "**(code **)(pcStack_1c0 + -0x7d98)" * (pointer_expression "*(code **)(pcStack_1c0 + -0x7d98)" * (cast_expression "(code **)(pcStack_1c0 + -0x7d98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c0 + -0x7d98)" ( (binary_expression "pcStack_1c0 + -0x7d98" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "ppppppdVar30 = (double ******)pppppdStack_1a4;" (assignment_expression "ppppppdVar30 = (double ******)pppppdStack_1a4" identifier = (cast_expression "(double ******)pppppdStack_1a4" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar22 = (double ******)pppppdVar10;" (assignment_expression "ppppppdVar22 = (double ******)pppppdVar10" identifier = (cast_expression "(double ******)pppppdVar10" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }" if (parenthesized_expression "(ppppppdVar21 == (double ******)0x0)" ( (binary_expression "ppppppdVar21 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }" { (expression_statement "ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);" (assignment_expression "ppppppdVar14 = (double ******)((int)pppppdVar10 + 1)" identifier = (cast_expression "(double ******)((int)pppppdVar10 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppdVar10 + 1)" ( (binary_expression "(int)pppppdVar10 + 1" (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppdStack_19c = (double *****)ppppppdVar21;" (assignment_expression "pppppdStack_19c = (double *****)ppppppdVar21" identifier = (cast_expression "(double *****)ppppppdVar21" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );" (assignment_expression "iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    )" identifier = (call_expression "(*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    )" (parenthesized_expression "(*pcStack_1ac)" ( (pointer_expression "*pcStack_1ac" * identifier) )) (argument_list "((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    )" ( (binary_expression "(uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)" (call_expression "(uint)(ppppppdVar14 < pppppdVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ppppppdVar14 < pppppdVar10)" ( (binary_expression "ppppppdVar14 < pppppdVar10" identifier < identifier) ))) + (parenthesized_expression "((int)pppppdVar10 >> 0x1f)" ( (binary_expression "(int)pppppdVar10 >> 0x1f" (cast_expression "(int)pppppdVar10" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (if_statement "if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }" { (expression_statement "ppppppdVar30 = (double ******)pppppdVar10;" (assignment_expression "ppppppdVar30 = (double ******)pppppdVar10" identifier = (cast_expression "(double ******)pppppdVar10" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));" (assignment_expression "uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4))" identifier = (call_expression "(**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4))" (parenthesized_expression "(**(code **)(pcStack_1c0 + -0x7af4))" ( (pointer_expression "**(code **)(pcStack_1c0 + -0x7af4)" * (pointer_expression "*(code **)(pcStack_1c0 + -0x7af4)" * (cast_expression "(code **)(pcStack_1c0 + -0x7af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c0 + -0x7af4)" ( (binary_expression "pcStack_1c0 + -0x7af4" identifier + number_literal) ))))) )) (argument_list "(iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4))" ( identifier , (cast_expression "(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppdVar29 + (int)pppppdStack_1a4)" ( (binary_expression "(int)ppppppdVar29 + (int)pppppdStack_1a4" (cast_expression "(int)ppppppdVar29" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppdStack_1a4" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (if_statement "if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }" if (parenthesized_expression "((double ******)pppppdStack_1a0 == (double ******)0x0)" ( (binary_expression "(double ******)pppppdStack_1a0 == (double ******)0x0" (cast_expression "(double ******)pppppdStack_1a0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }" { (expression_statement "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);" (assignment_expression "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]) = (cast_expression "(double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppdVar6[2] + (int)pppppdStack_198)" ( (binary_expression "(int)ppppppdVar6[2] + (int)pppppdStack_198" (cast_expression "(int)ppppppdVar6[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ])) + (cast_expression "(int)pppppdStack_198" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (expression_statement "ppppppdVar7 = (double ******)pppppdStack_19c;" (assignment_expression "ppppppdVar7 = (double ******)pppppdStack_19c" identifier = (cast_expression "(double ******)pppppdStack_19c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar14 = (double ******)pppppdStack_198;" (assignment_expression "ppppppdVar14 = (double ******)pppppdStack_198" identifier = (cast_expression "(double ******)pppppdStack_198" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }) (else_clause "else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }" else (compound_statement "{\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }" { (expression_statement "pppppdStack_1a4 = pppppdStack_19c;" (assignment_expression "pppppdStack_1a4 = pppppdStack_19c" identifier = identifier) ;) (expression_statement "ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);" (assignment_expression "ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3)" identifier = (cast_expression "(double ******)(uint)(pcVar4 == (code *)0x3)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(uint)(pcVar4 == (code *)0x3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar4 == (code *)0x3)" ( (binary_expression "pcVar4 == (code *)0x3" identifier == (cast_expression "(code *)0x3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (expression_statement "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);" (assignment_expression "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4)" identifier = (pointer_expression "*(int *)(pcStack_1c0 + -0x7fb4)" * (cast_expression "(int *)(pcStack_1c0 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7fb4)" ( (binary_expression "pcStack_1c0 + -0x7fb4" identifier + number_literal) ))))) ;) (expression_statement "ppppppdVar30 = (double ******)pppppdVar10;" (assignment_expression "ppppppdVar30 = (double ******)pppppdVar10" identifier = (cast_expression "(double ******)pppppdVar10" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "(*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);" (call_expression "(*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18)" (parenthesized_expression "(*(code *)(iStack_1a8 + -0x2aec))" ( (pointer_expression "*(code *)(iStack_1a8 + -0x2aec)" * (cast_expression "(code *)(iStack_1a8 + -0x2aec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_1a8 + -0x2aec)" ( (binary_expression "iStack_1a8 + -0x2aec" identifier + number_literal) )))) )) (argument_list "(pppppdStack_1a0,uVar18)" ( identifier , identifier ))) ;) (expression_statement "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);" (assignment_expression "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]) = (cast_expression "(double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppdVar6[2] + (int)pppppdStack_198)" ( (binary_expression "(int)ppppppdVar6[2] + (int)pppppdStack_198" (cast_expression "(int)ppppppdVar6[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ])) + (cast_expression "(int)pppppdStack_198" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (expression_statement "ppppppdVar7 = (double ******)pppppdStack_1a4;" (assignment_expression "ppppppdVar7 = (double ******)pppppdStack_1a4" identifier = (cast_expression "(double ******)pppppdStack_1a4" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar14 = (double ******)pppppdStack_198;" (assignment_expression "ppppppdVar14 = (double ******)pppppdStack_198" identifier = (cast_expression "(double ******)pppppdStack_198" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }))) (expression_statement "ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);" (assignment_expression "ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1)" identifier = (cast_expression "(double ******)((int)ppppppdVar33 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar33 + 1)" ( (binary_expression "(int)ppppppdVar33 + 1" (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcStack_1c0 = pcVar36;" (assignment_expression "pcStack_1c0 = pcVar36" identifier = identifier) ;) (expression_statement "pppppdStack_198 = (double *****)ppppppdVar14;" (assignment_expression "pppppdStack_198 = (double *****)ppppppdVar14" identifier = (cast_expression "(double *****)ppppppdVar14" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;" if (parenthesized_expression "((int)ppppppdVar21 < (int)ppppppdVar15)" ( (binary_expression "(int)ppppppdVar21 < (int)ppppppdVar15" (cast_expression "(int)ppppppdVar21" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppppppdVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b5dac;" goto statement_identifier ;)) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) })) (expression_statement "ppppppdVar7 = (double ******)&DAT_00000007;" (assignment_expression "ppppppdVar7 = (double ******)&DAT_00000007" identifier = (cast_expression "(double ******)&DAT_00000007" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);" (assignment_expression "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]) = (cast_expression "(double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppdVar6[2] + (int)pppppdStack_198)" ( (binary_expression "(int)ppppppdVar6[2] + (int)pppppdStack_198" (cast_expression "(int)ppppppdVar6[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ])) + (cast_expression "(int)pppppdStack_198" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) })) (expression_statement "ppppppdVar17 = (double ******)&DAT_000300fd;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_000300fd" identifier = (cast_expression "(double ******)&DAT_000300fd" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_000300fd" & identifier))) ;) (expression_statement "ppppppdVar22 = (double ******)pppppdStack_198;" (assignment_expression "ppppppdVar22 = (double ******)pppppdStack_198" identifier = (cast_expression "(double ******)pppppdStack_198" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (goto_statement "goto LAB_000b5e90;" goto statement_identifier ;) })) (expression_statement "ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);" (assignment_expression "ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1)" identifier = (cast_expression "(double ******)((int)ppppppdVar33 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar33 + 1)" ( (binary_expression "(int)ppppppdVar33 + 1" (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);" (assignment_expression "ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2)" identifier = (cast_expression "(double ******)(uint)(pcVar4 + -1 < (code *)0x2)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(uint)(pcVar4 + -1 < (code *)0x2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar4 + -1 < (code *)0x2)" ( (binary_expression "pcVar4 + -1 < (code *)0x2" (binary_expression "pcVar4 + -1" identifier + number_literal) < (cast_expression "(code *)0x2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (if_statement "if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;" if (parenthesized_expression "(ppppppdVar14 != (double ******)0x0)" ( (binary_expression "ppppppdVar14 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto code_r0x000b6070;" goto statement_identifier ;)) })) (expression_statement "ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);" (assignment_expression "ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1)" identifier = (cast_expression "(double ******)((int)ppppppdVar33 + 1)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppdVar33 + 1)" ( (binary_expression "(int)ppppppdVar33 + 1" (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppppppdVar21 = ppppppdVar16;" (assignment_expression "ppppppdVar21 = ppppppdVar16" identifier = identifier) ;) (expression_statement "ppppppdVar24 = ppppppdVar15;" (assignment_expression "ppppppdVar24 = ppppppdVar15" identifier = identifier) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (expression_statement "unaff_s8 = ppppppdVar6;" (assignment_expression "unaff_s8 = ppppppdVar6" identifier = identifier) ;) (if_statement "if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;" if (parenthesized_expression "((int)ppppppdVar15 <= (int)ppppppdVar33)" ( (binary_expression "(int)ppppppdVar15 <= (int)ppppppdVar33" (cast_expression "(int)ppppppdVar15" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)ppppppdVar33" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000b5e64;" goto statement_identifier ;)) (goto_statement "goto LAB_000b5db4;" goto statement_identifier ;) })) (labeled_statement "LAB_000b5e64:\n  ppppppdVar7 = (double ******)0x0;" statement_identifier : (expression_statement "ppppppdVar7 = (double ******)0x0;" (assignment_expression "ppppppdVar7 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (expression_statement "ppppppdVar16 = ppppppdVar21;" (assignment_expression "ppppppdVar16 = ppppppdVar21" identifier = identifier) ;) (expression_statement "ppppppdVar15 = ppppppdVar24;" (assignment_expression "ppppppdVar15 = ppppppdVar24" identifier = identifier) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (expression_statement "ppppppdVar6 = unaff_s8;" (assignment_expression "ppppppdVar6 = unaff_s8" identifier = identifier) ;) (labeled_statement "LAB_000b5de4:\n  if (iStack_18c == *piVar31) {\n    return ppppppdVar7;\n  }" statement_identifier : (if_statement "if (iStack_18c == *piVar31) {\n    return ppppppdVar7;\n  }" if (parenthesized_expression "(iStack_18c == *piVar31)" ( (binary_expression "iStack_18c == *piVar31" identifier == (pointer_expression "*piVar31" * identifier)) )) (compound_statement "{\n    return ppppppdVar7;\n  }" { (return_statement "return ppppppdVar7;" return identifier ;) }))) (expression_statement "pcVar36 = *(code **)(pcVar36 + -0x7b28);" (assignment_expression "pcVar36 = *(code **)(pcVar36 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcVar36 + -0x7b28)" * (cast_expression "(code **)(pcVar36 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + -0x7b28)" ( (binary_expression "pcVar36 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar37 = FUN_000b6188;" (assignment_expression "pcVar37 = FUN_000b6188" identifier = identifier) ;) (expression_statement "iVar5 = iStack_18c;" (assignment_expression "iVar5 = iStack_18c" identifier = identifier) ;) (expression_statement "(*pcVar36)();" (call_expression "(*pcVar36)()" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar23 = *(int **)(pcVar36 + 0xdac9c);" (assignment_expression "piVar23 = *(int **)(pcVar36 + 0xdac9c)" identifier = (pointer_expression "*(int **)(pcVar36 + 0xdac9c)" * (cast_expression "(int **)(pcVar36 + 0xdac9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdac9c)" ( (binary_expression "pcVar36 + 0xdac9c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar5 + 0x5c);" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x5c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "iStack_204 = *piVar23;" (assignment_expression "iStack_204 = *piVar23" identifier = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "pppppdStack_200 = (double *****)ppppppdVar16;" (assignment_expression "pppppdStack_200 = (double *****)ppppppdVar16" identifier = (cast_expression "(double *****)ppppppdVar16" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iStack_1fc = iVar20;" (assignment_expression "iStack_1fc = iVar20" identifier = identifier) ;) (expression_statement "pppppdStack_1f8 = (double *****)ppppppdVar15;" (assignment_expression "pppppdStack_1f8 = (double *****)ppppppdVar15" identifier = (cast_expression "(double *****)ppppppdVar15" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_1f4 = (double *****)ppppppdVar22;" (assignment_expression "pppppdStack_1f4 = (double *****)ppppppdVar22" identifier = (cast_expression "(double *****)ppppppdVar22" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_1f0 = (double *****)ppppppdVar29;" (assignment_expression "pppppdStack_1f0 = (double *****)ppppppdVar29" identifier = (cast_expression "(double *****)ppppppdVar29" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_1ec = pcVar4;" (assignment_expression "pcStack_1ec = pcVar4" identifier = identifier) ;) (expression_statement "piStack_1e8 = piVar31;" (assignment_expression "piStack_1e8 = piVar31" identifier = identifier) ;) (expression_statement "pppppdStack_1e4 = (double *****)ppppppdVar33;" (assignment_expression "pppppdStack_1e4 = (double *****)ppppppdVar33" identifier = (cast_expression "(double *****)ppppppdVar33" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_1e0 = (double *****)ppppppdVar6;" (assignment_expression "pppppdStack_1e0 = (double *****)ppppppdVar6" identifier = (cast_expression "(double *****)ppppppdVar6" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcStack_1dc = pcVar37;" (assignment_expression "pcStack_1dc = pcVar37" identifier = identifier) ;) (if_statement "if (iVar28 != 0) {\n    iVar20 = *(int *)(iVar5 + 0x4c);\n    iVar25 = 0;\n    if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }\n    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);\n  }" if (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar20 = *(int *)(iVar5 + 0x4c);\n    iVar25 = 0;\n    if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }\n    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);\n  }" { (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }" if (parenthesized_expression "(0 < iVar20)" ( (binary_expression "0 < iVar20" number_literal < identifier) )) (compound_statement "{\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }" { (expression_statement "iVar27 = *(int *)(pcVar36 + 0xdaa20);" (assignment_expression "iVar27 = *(int *)(pcVar36 + 0xdaa20)" identifier = (pointer_expression "*(int *)(pcVar36 + 0xdaa20)" * (cast_expression "(int *)(pcVar36 + 0xdaa20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xdaa20)" ( (binary_expression "pcVar36 + 0xdaa20" identifier + number_literal) ))))) ;) (do_statement "do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);" do (compound_statement "{\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      }" { (expression_statement "iVar20 = iVar25 * 4;" (assignment_expression "iVar20 = iVar25 * 4" identifier = (binary_expression "iVar25 * 4" identifier * number_literal)) ;) (expression_statement "iVar25 = iVar25 + 1;" (assignment_expression "iVar25 = iVar25 + 1" identifier = (binary_expression "iVar25 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));" (call_expression "(*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20))" (parenthesized_expression "(*(code *)(iVar27 + -0x18d4))" ( (pointer_expression "*(code *)(iVar27 + -0x18d4)" * (cast_expression "(code *)(iVar27 + -0x18d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + -0x18d4)" ( (binary_expression "iVar27 + -0x18d4" identifier + number_literal) )))) )) (argument_list "(*(undefined4 *)(iVar28 + iVar20))" ( (pointer_expression "*(undefined4 *)(iVar28 + iVar20)" * (cast_expression "(undefined4 *)(iVar28 + iVar20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + iVar20)" ( (binary_expression "iVar28 + iVar20" identifier + identifier) )))) ))) ;) (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar5 + 0x5c);" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x5c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar25 < iVar20 << 1)" ( (binary_expression "iVar25 < iVar20 << 1" identifier < (binary_expression "iVar20 << 1" identifier << number_literal)) )) ;) })) (expression_statement "(**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);" (call_expression "(**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdabd0))" ( (pointer_expression "**(code **)(pcVar36 + 0xdabd0)" * (pointer_expression "*(code **)(pcVar36 + 0xdabd0)" * (cast_expression "(code **)(pcVar36 + 0xdabd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdabd0)" ( (binary_expression "pcVar36 + 0xdabd0" identifier + number_literal) ))))) )) (argument_list "(iVar28,0,iVar20 << 3)" ( identifier , number_literal , (binary_expression "iVar20 << 3" identifier << number_literal) ))) ;) })) (expression_statement "ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2)" identifier = (cast_expression "(double ******)FUN_000b57e0(iVar5,2)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(iVar5,2)" identifier (argument_list "(iVar5,2)" ( identifier , number_literal ))))) ;) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" * (cast_expression "(double *******)(iVar5 + 0x40)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;" if (parenthesized_expression "(ppppppdVar16 != (double ******)0x0)" ( (binary_expression "ppppppdVar16 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)) {\nLAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;\n    goto LAB_000b6458;\n  }" if (parenthesized_expression "(*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8))" ( (binary_expression "*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0x10)" * (cast_expression "(int *)(iVar5 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) <= (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;\n    goto LAB_000b6458;\n  }" { (labeled_statement "LAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;" statement_identifier : (expression_statement "ppppppdVar16 = (double ******)0x65;" (assignment_expression "ppppppdVar16 = (double ******)0x65" identifier = (cast_expression "(double ******)0x65" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "(*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5);" (call_expression "(*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5)" (parenthesized_expression "(*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))" ( (pointer_expression "*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4)" * (cast_expression "(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4)" ( (binary_expression "*(int *)(pcVar36 + 0xdaa1c) + 0x27a4" (pointer_expression "*(int *)(pcVar36 + 0xdaa1c)" * (cast_expression "(int *)(pcVar36 + 0xdaa1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xdaa1c)" ( (binary_expression "pcVar36 + 0xdaa1c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar5)" ( identifier ))) ;) (expression_statement "iVar28 = *(int *)(iVar5 + 8);" (assignment_expression "iVar28 = *(int *)(iVar5 + 8)" identifier = (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar25 = *(int *)(pcVar36 + 0xdaa20);" (assignment_expression "iVar25 = *(int *)(pcVar36 + 0xdaa20)" identifier = (pointer_expression "*(int *)(pcVar36 + 0xdaa20)" * (cast_expression "(int *)(pcVar36 + 0xdaa20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xdaa20)" ( (binary_expression "pcVar36 + 0xdaa20" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar5 + 4) = iVar28;" (assignment_expression "*(int *)(iVar5 + 4) = iVar28" (pointer_expression "*(int *)(iVar5 + 4)" * (cast_expression "(int *)(iVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar5 + 8) = iVar28 + 1;" (assignment_expression "*(int *)(iVar5 + 8) = iVar28 + 1" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *(byte *)(iVar20 + iVar28);" (assignment_expression "bVar1 = *(byte *)(iVar20 + iVar28)" identifier = (pointer_expression "*(byte *)(iVar20 + iVar28)" * (cast_expression "(byte *)(iVar20 + iVar28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + iVar28)" ( (binary_expression "iVar20 + iVar28" identifier + identifier) ))))) ;) (while_statement "while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }\n    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);\n    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar5 + 0x30) = 0;\n    iStack_208 = iStack_208 - iVar28;\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;\n    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;\n    iVar28 = *(int *)(iVar5 + 0x4c) * 8;\n    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);\n    (**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);\n    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n    *(int *)(iVar5 + 0x58) = iVar28;\n    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;\n    ppppppdVar16 = (double ******)pppppdStack_20c;\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;\n    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n    iVar28 = *(int *)(iVar5 + 8);\n    *(int *)(iVar5 + 4) = iVar28;\n    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;\n    iVar20 = *(int *)(iVar5 + 0xc);\n    *(int *)(iVar5 + 8) = iVar28 + 1;\n    bVar1 = *(byte *)(iVar20 + iVar28);\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 (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }\n    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);\n    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar5 + 0x30) = 0;\n    iStack_208 = iStack_208 - iVar28;\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;\n    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;\n    iVar28 = *(int *)(iVar5 + 0x4c) * 8;\n    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);\n    (**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);\n    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n    *(int *)(iVar5 + 0x58) = iVar28;\n    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;\n    ppppppdVar16 = (double ******)pppppdStack_20c;\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;\n    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n    iVar28 = *(int *)(iVar5 + 8);\n    *(int *)(iVar5 + 4) = iVar28;\n    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;\n    iVar20 = *(int *)(iVar5 + 0xc);\n    *(int *)(iVar5 + 8) = iVar28 + 1;\n    bVar1 = *(byte *)(iVar20 + iVar28);\n  }" { (if_statement "if (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }" if (parenthesized_expression "(ppppppdVar17 != (double ******)0x0)" ( (binary_expression "ppppppdVar17 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      *ppppppdVar17 = (double *****)0x1;\n    }" { (expression_statement "*ppppppdVar17 = (double *****)0x1;" (assignment_expression "*ppppppdVar17 = (double *****)0x1" (pointer_expression "*ppppppdVar17" * identifier) = (cast_expression "(double *****)0x1" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) })) (expression_statement "*(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);" (assignment_expression "*(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50)" (pointer_expression "*(uint *)(iVar5 + 0x38)" * (cast_expression "(uint *)(iVar5 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 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 "pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);" (assignment_expression "pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208)" identifier = (cast_expression "(double *****)FUN_000b5998(iVar5,&iStack_208)" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "FUN_000b5998(iVar5,&iStack_208)" identifier (argument_list "(iVar5,&iStack_208)" ( identifier , (pointer_expression "&iStack_208" & identifier) ))))) ;) (if_statement "if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }" if (parenthesized_expression "((double ******)pppppdStack_20c != (double ******)0x0)" ( (binary_expression "(double ******)pppppdStack_20c != (double ******)0x0" (cast_expression "(double ******)pppppdStack_20c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }" { (labeled_statement "LAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;" statement_identifier : (expression_statement "*(double ******)(iVar5 + 0x40) = pppppdStack_20c;" (assignment_expression "*(double ******)(iVar5 + 0x40) = pppppdStack_20c" (pointer_expression "*(double ******)(iVar5 + 0x40)" * (cast_expression "(double ******)(iVar5 + 0x40)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);" (assignment_expression "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c)" (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) )))) = (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*(int *)(iVar5 + 0x58) = iVar28;" (assignment_expression "*(int *)(iVar5 + 0x58) = iVar28" (pointer_expression "*(int *)(iVar5 + 0x58)" * (cast_expression "(int *)(iVar5 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x58)" ( (binary_expression "iVar5 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);" (assignment_expression "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c)" (pointer_expression "*(int *)(iVar5 + 0x48)" * (cast_expression "(int *)(iVar5 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x48)" ( (binary_expression "iVar5 + 0x48" identifier + number_literal) )))) = (binary_expression "iVar28 + *(int *)(iVar5 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))))) ;) (expression_statement "ppppppdVar16 = (double ******)pppppdStack_20c;" (assignment_expression "ppppppdVar16 = (double ******)pppppdStack_20c" identifier = (cast_expression "(double ******)pppppdStack_20c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));" (assignment_expression "pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" identifier = (cast_expression "(byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" ( (binary_expression "*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 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      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 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      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }" { (expression_statement "iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);" (assignment_expression "iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c)" identifier = (call_expression "(*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c)" (parenthesized_expression "(*(code *)(iVar25 + 0x3388))" ( (pointer_expression "*(code *)(iVar25 + 0x3388)" * (cast_expression "(code *)(iVar25 + 0x3388)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x3388)" ( (binary_expression "iVar25 + 0x3388" identifier + number_literal) )))) )) (argument_list "(pbVar11,iVar5 + 0x4c)" ( identifier , (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))) ;) (expression_statement "uVar8 = *(uint *)(iVar5 + 0x4c);" (assignment_expression "uVar8 = *(uint *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(uint *)(iVar5 + 0x4c)" * (cast_expression "(uint *)(iVar5 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }" else (compound_statement "{\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }" { (expression_statement "iVar28 = 1;" (assignment_expression "iVar28 = 1" identifier = number_literal) ;) (expression_statement "*(uint *)(iVar5 + 0x4c) = uVar8;" (assignment_expression "*(uint *)(iVar5 + 0x4c) = uVar8" (pointer_expression "*(uint *)(iVar5 + 0x4c)" * (cast_expression "(uint *)(iVar5 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))) = identifier) ;) }))) (if_statement "if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 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 **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }" { (expression_statement "(**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdaa58))" ( (pointer_expression "**(code **)(pcVar36 + 0xdaa58)" * (pointer_expression "*(code **)(pcVar36 + 0xdaa58)" * (cast_expression "(code **)(pcVar36 + 0xdaa58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdaa58)" ( (binary_expression "pcVar36 + 0xdaa58" identifier + number_literal) ))))) )) (argument_list "(0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c)" ( number_literal , (binary_expression "*(int *)(pcVar36 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(pcVar36 + 0xda7d4)" * (cast_expression "(int *)(pcVar36 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xda7d4)" ( (binary_expression "pcVar36 + 0xda7d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(pcVar36 + 0xda7d4)" * (cast_expression "(int *)(pcVar36 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xda7d4)" ( (binary_expression "pcVar36 + 0xda7d4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar36 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(pcVar36 + 0xda7d0)" * (cast_expression "(int *)(pcVar36 + 0xda7d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xda7d0)" ( (binary_expression "pcVar36 + 0xda7d0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "ppppppdVar16 = (double ******)&DAT_0000000b;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_0000000b" identifier = (cast_expression "(double ******)&DAT_0000000b" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (expression_statement "*(undefined4 *)(iVar5 + 0x40) = 0xb;" (assignment_expression "*(undefined4 *)(iVar5 + 0x40) = 0xb" (pointer_expression "*(undefined4 *)(iVar5 + 0x40)" * (cast_expression "(undefined4 *)(iVar5 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);" (assignment_expression "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c)" (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) )))) = (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*(int *)(iVar5 + 0x58) = iVar28;" (assignment_expression "*(int *)(iVar5 + 0x58) = iVar28" (pointer_expression "*(int *)(iVar5 + 0x58)" * (cast_expression "(int *)(iVar5 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x58)" ( (binary_expression "iVar5 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);" (assignment_expression "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c)" (pointer_expression "*(int *)(iVar5 + 0x48)" * (cast_expression "(int *)(iVar5 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x48)" ( (binary_expression "iVar5 + 0x48" identifier + number_literal) )))) = (binary_expression "iVar28 + *(int *)(iVar5 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))))) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(iVar5 + 0x30) = 0;" (assignment_expression "*(undefined4 *)(iVar5 + 0x30) = 0" (pointer_expression "*(undefined4 *)(iVar5 + 0x30)" * (cast_expression "(undefined4 *)(iVar5 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iStack_208 = iStack_208 - iVar28;" (assignment_expression "iStack_208 = iStack_208 - iVar28" identifier = (binary_expression "iStack_208 - iVar28" identifier - identifier)) ;) (expression_statement "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;" (assignment_expression "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar5 + 8) + iVar28" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) + identifier)) ;) (expression_statement "FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);" (call_expression "FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c)" identifier (argument_list "(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) , (binary_expression "uVar8 * 8 + iStack_208" (binary_expression "uVar8 * 8" identifier * number_literal) + identifier) , (pointer_expression "&pppppdStack_20c" & identifier) ))) ;) (if_statement "if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;" if (parenthesized_expression "((double ******)pppppdStack_20c != (double ******)0x0)" ( (binary_expression "(double ******)pppppdStack_20c != (double ******)0x0" (cast_expression "(double ******)pppppdStack_20c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b6434;" goto statement_identifier ;)) (expression_statement "iVar28 = *(int *)(iVar5 + 0x4c) * 8;" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "(**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);" (call_expression "(**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdabd0))" ( (pointer_expression "**(code **)(pcVar36 + 0xdabd0)" * (pointer_expression "*(code **)(pcVar36 + 0xdabd0)" * (cast_expression "(code **)(pcVar36 + 0xdabd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdabd0)" ( (binary_expression "pcVar36 + 0xdabd0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar5 + 0x2c),0,iVar28)" ( (pointer_expression "*(undefined4 *)(iVar5 + 0x2c)" * (cast_expression "(undefined4 *)(iVar5 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) , number_literal , identifier ))) ;) (expression_statement "(**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);" (call_expression "(**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdaca4))" ( (pointer_expression "**(code **)(pcVar36 + 0xdaca4)" * (pointer_expression "*(code **)(pcVar36 + 0xdaca4)" * (cast_expression "(code **)(pcVar36 + 0xdaca4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdaca4)" ( (binary_expression "pcVar36 + 0xdaca4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208)" ( (binary_expression "*(int *)(iVar5 + 0x2c) + iVar28" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) + identifier) , (binary_expression "*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) , identifier ))) ;) (expression_statement "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" identifier = (binary_expression "*(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);" (assignment_expression "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c)" (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) )))) = (pointer_expression "*(int *)(iVar5 + 0x2c)" * (cast_expression "(int *)(iVar5 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar5 + 0x58) = iVar28;" (assignment_expression "*(int *)(iVar5 + 0x58) = iVar28" (pointer_expression "*(int *)(iVar5 + 0x58)" * (cast_expression "(int *)(iVar5 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x58)" ( (binary_expression "iVar5 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(double ******)(iVar5 + 0x40) = pppppdStack_20c;" (assignment_expression "*(double ******)(iVar5 + 0x40) = pppppdStack_20c" (pointer_expression "*(double ******)(iVar5 + 0x40)" * (cast_expression "(double ******)(iVar5 + 0x40)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);" (assignment_expression "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c)" (pointer_expression "*(int *)(iVar5 + 0x48)" * (cast_expression "(int *)(iVar5 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x48)" ( (binary_expression "iVar5 + 0x48" identifier + number_literal) )))) = (binary_expression "iVar28 + *(int *)(iVar5 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;" (assignment_expression "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar5 + 8) + iStack_208" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) + identifier)) ;) (expression_statement "ppppppdVar16 = (double ******)pppppdStack_20c;" (assignment_expression "ppppppdVar16 = (double ******)pppppdStack_20c" identifier = (cast_expression "(double ******)pppppdStack_20c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;" if (parenthesized_expression "((double ******)pppppdStack_20c != (double ******)0x0)" ( (binary_expression "(double ******)pppppdStack_20c != (double ******)0x0" (cast_expression "(double ******)pppppdStack_20c" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2)" identifier = (cast_expression "(double ******)FUN_000b57e0(iVar5,2)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b57e0(iVar5,2)" identifier (argument_list "(iVar5,2)" ( identifier , number_literal ))))) ;) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" * (cast_expression "(double *******)(iVar5 + 0x40)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;" if (parenthesized_expression "(ppppppdVar16 != (double ******)0x0)" ( (binary_expression "ppppppdVar16 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "iVar28 = *(int *)(iVar5 + 8);" (assignment_expression "iVar28 = *(int *)(iVar5 + 8)" identifier = (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar5 + 4) = iVar28;" (assignment_expression "*(int *)(iVar5 + 4) = iVar28" (pointer_expression "*(int *)(iVar5 + 4)" * (cast_expression "(int *)(iVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;" if (parenthesized_expression "(*(int *)(iVar5 + 0x10) <= iVar28)" ( (binary_expression "*(int *)(iVar5 + 0x10) <= iVar28" (pointer_expression "*(int *)(iVar5 + 0x10)" * (cast_expression "(int *)(iVar5 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_000b6494;" goto statement_identifier ;)) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar5 + 8) = iVar28 + 1;" (assignment_expression "*(int *)(iVar5 + 8) = iVar28 + 1" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *(byte *)(iVar20 + iVar28);" (assignment_expression "bVar1 = *(byte *)(iVar20 + iVar28)" identifier = (pointer_expression "*(byte *)(iVar20 + iVar28)" * (cast_expression "(byte *)(iVar20 + iVar28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + iVar28)" ( (binary_expression "iVar20 + iVar28" identifier + identifier) ))))) ;) })) (if_statement "if ((*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" if (parenthesized_expression "((*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0))))" ( (binary_expression "(*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))" (parenthesized_expression "(*(int *)(iVar5 + 0x48) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x48) == 0" (pointer_expression "*(int *)(iVar5 + 0x48)" * (cast_expression "(int *)(iVar5 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x48)" ( (binary_expression "iVar5 + 0x48" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))" ( (parenthesized_expression "(iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0))" ( (comma_expression "iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x38)" identifier = (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) ))))) , (binary_expression "iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)" (binary_expression "iVar28 != 0" identifier != number_literal) && (parenthesized_expression "(*(int *)(iVar5 + 0x3c) != 0)" ( (binary_expression "*(int *)(iVar5 + 0x3c) != 0" (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 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    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" else (compound_statement "{\n    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" { (expression_statement "iVar25 = *(int *)(iVar5 + 8);" (assignment_expression "iVar25 = *(int *)(iVar5 + 8)" identifier = (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar5 + 0x50) = uVar8;" (assignment_expression "*(uint *)(iVar5 + 0x50) = uVar8" (pointer_expression "*(uint *)(iVar5 + 0x50)" * (cast_expression "(uint *)(iVar5 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar5 + 8) = iVar25 + 1;" (assignment_expression "*(int *)(iVar5 + 8) = iVar25 + 1" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) = (binary_expression "iVar25 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);" (assignment_expression "*(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25)" (pointer_expression "*(uint *)(iVar5 + 0x54)" * (cast_expression "(uint *)(iVar5 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x54)" ( (binary_expression "iVar5 + 0x54" identifier + number_literal) )))) = (binary_expression "(uint)*(byte *)(iVar20 + iVar25)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar20 + iVar25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + iVar25)" ( (binary_expression "iVar20 + iVar25" identifier + identifier) ))))) ;) (if_statement "if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\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      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }" { (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) (if_statement "if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }" if (parenthesized_expression "(ppppppdVar14 != (double ******)0x0)" ( (binary_expression "ppppppdVar14 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }" { (if_statement "if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }" if (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == 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 (iVar20 < 1) goto LAB_000b6830;" if (parenthesized_expression "(iVar20 < 1)" ( (binary_expression "iVar20 < 1" identifier < number_literal) )) (goto_statement "goto LAB_000b6830;" goto statement_identifier ;)) (expression_statement "pcVar9 = *(char **)(iVar5 + 0x58);" (assignment_expression "pcVar9 = *(char **)(iVar5 + 0x58)" identifier = (pointer_expression "*(char **)(iVar5 + 0x58)" * (cast_expression "(char **)(iVar5 + 0x58)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x58)" ( (binary_expression "iVar5 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "pcVar13 = pcVar9 + iVar20;" (assignment_expression "pcVar13 = pcVar9 + iVar20" identifier = (binary_expression "pcVar9 + iVar20" identifier + identifier)) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (do_statement "do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );" do (compound_statement "{\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          }" { (if_statement "if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }" if (parenthesized_expression "(*pcVar9 != '\0')" ( (binary_expression "*pcVar9 != '\0'" (pointer_expression "*pcVar9" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar20 = iVar20 + 1;\n            }" { (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 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 (pcVar13 == pcVar9) goto LAB_000b65d4;" if (parenthesized_expression "(pcVar13 == pcVar9)" ( (binary_expression "pcVar13 == 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 "iVar20 = iVar20 << 1;" (assignment_expression "iVar20 = iVar20 << 1" identifier = (binary_expression "iVar20 << 1" identifier << number_literal)) ;) (goto_statement "goto LAB_000b65d4;" goto statement_identifier ;) })) (expression_statement "iVar19 = *(int *)(iVar5 + 0x5c);" (assignment_expression "iVar19 = *(int *)(iVar5 + 0x5c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = iVar19 + iVar20 * 4;" (assignment_expression "iVar27 = iVar19 + iVar20 * 4" identifier = (binary_expression "iVar19 + iVar20 * 4" identifier + (binary_expression "iVar20 * 4" identifier * number_literal))) ;) (expression_statement "iVar25 = iVar19;" (assignment_expression "iVar25 = iVar19" identifier = identifier) ;) (if_statement "if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }" if (parenthesized_expression "(*(int *)(iVar5 + 0x3c) != 0)" ( (binary_expression "*(int *)(iVar5 + 0x3c) != 0" (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }" { (expression_statement "iVar25 = iVar27;" (assignment_expression "iVar25 = iVar27" identifier = identifier) ;) (expression_statement "iVar27 = iVar19;" (assignment_expression "iVar27 = iVar19" identifier = identifier) ;) })) (if_statement "if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }" if (parenthesized_expression "(uVar8 == 0x12)" ( (binary_expression "uVar8 == 0x12" identifier == number_literal) )) (compound_statement "{\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }" { (labeled_statement "LAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);" statement_identifier : (expression_statement "ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27)" identifier = (cast_expression "(double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b5d20(iVar5,iVar20,0,iVar27)" identifier (argument_list "(iVar5,iVar20,0,iVar27)" ( identifier , identifier , number_literal , identifier ))))) ;)) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" * (cast_expression "(double *******)(iVar5 + 0x40)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;" if (parenthesized_expression "(ppppppdVar16 != (double ******)0x0)" ( (binary_expression "ppppppdVar16 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" if (parenthesized_expression "(*(int *)(iVar5 + 0x38) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x38) == 0" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }" { (if_statement "if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;" if (parenthesized_expression "(*(int *)(iVar5 + 0x3c) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x3c) == 0" (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000b6734;" goto statement_identifier ;)) (expression_statement "iVar28 = *(int *)(iVar5 + 0x50);" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x50)" identifier = (pointer_expression "*(int *)(iVar5 + 0x50)" * (cast_expression "(int *)(iVar5 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (iVar28 != 0x17) goto LAB_000b6788;" if (parenthesized_expression "(iVar28 != 0x17)" ( (binary_expression "iVar28 != 0x17" identifier != number_literal) )) (goto_statement "goto LAB_000b6788;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" else (compound_statement "{\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" { (expression_statement "iVar28 = *(int *)(iVar5 + 0x50);" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x50)" identifier = (pointer_expression "*(int *)(iVar5 + 0x50)" * (cast_expression "(int *)(iVar5 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }" if (parenthesized_expression "(iVar28 != 0x17)" ( (binary_expression "iVar28 != 0x17" identifier != number_literal) )) (compound_statement "{\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }" { (expression_statement "iVar20 = *(int *)(iVar5 + 0x3c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b6780;" goto statement_identifier ;) })) }))) (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }" if (parenthesized_expression "(0 < iVar20)" ( (binary_expression "0 < iVar20" number_literal < identifier) )) (compound_statement "{\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }" { (do_statement "do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);" do (compound_statement "{\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          }" { (if_statement "if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }" if (parenthesized_expression "(*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0')" ( (binary_expression "*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0'" (pointer_expression "*(char *)(*(int *)(iVar5 + 0x58) + iVar28)" * (cast_expression "(char *)(*(int *)(iVar5 + 0x58) + iVar28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x58) + iVar28)" ( (binary_expression "*(int *)(iVar5 + 0x58) + iVar28" (pointer_expression "*(int *)(iVar5 + 0x58)" * (cast_expression "(int *)(iVar5 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x58)" ( (binary_expression "iVar5 + 0x58" identifier + number_literal) )))) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }" { (expression_statement "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);" (assignment_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4)" (pointer_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" ( (binary_expression "*(int *)(iVar5 + 0x5c) + iVar28 * 4" (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) )))) + (binary_expression "iVar28 * 4" identifier * number_literal)) )))) = (pointer_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4)" ( (binary_expression "*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4" (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) )))) + (binary_expression "(iVar20 + iVar28) * 4" (parenthesized_expression "(iVar20 + iVar28)" ( (binary_expression "iVar20 + iVar28" identifier + identifier) )) * number_literal)) ))))) ;) (if_statement "if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }" if (parenthesized_expression "(*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0)" ( (binary_expression "*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0" (pointer_expression "*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" * (cast_expression "(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" ( (binary_expression "*(int *)(iVar5 + 0x5c) + iVar28 * 4" (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) )))) + (binary_expression "iVar28 * 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 *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4)" ( (binary_expression "*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4" (pointer_expression "*(int *)(iVar5 + 0x5c)" * (cast_expression "(int *)(iVar5 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x5c)" ( (binary_expression "iVar5 + 0x5c" identifier + number_literal) )))) + (binary_expression "(iVar28 + *(int *)(iVar5 + 0x4c)) * 4" (parenthesized_expression "(iVar28 + *(int *)(iVar5 + 0x4c))" ( (binary_expression "iVar28 + *(int *)(iVar5 + 0x4c)" identifier + (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) )) * number_literal)) )))) = number_literal) ;) (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) })) (expression_statement "iVar28 = iVar28 + 1;" (assignment_expression "iVar28 = iVar28 + 1" identifier = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar28 < iVar20)" ( (binary_expression "iVar28 < iVar20" identifier < identifier) )) ;) })) }) (else_clause "else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }" else (compound_statement "{\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }" { (if_statement "if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }" if (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) (compound_statement "{\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 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 "ppppppdVar14 = *(double *******)(iVar5 + 0x58);" (assignment_expression "ppppppdVar14 = *(double *******)(iVar5 + 0x58)" identifier = (pointer_expression "*(double *******)(iVar5 + 0x58)" * (cast_expression "(double *******)(iVar5 + 0x58)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0x58)" ( (binary_expression "iVar5 + 0x58" identifier + number_literal) ))))) ;) })) (expression_statement "ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25)" identifier = (cast_expression "(double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25)" identifier (argument_list "(iVar5,iVar20,ppppppdVar14,iVar25)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" * (cast_expression "(double *******)(iVar5 + 0x40)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;" if (parenthesized_expression "(ppppppdVar16 != (double ******)0x0)" ( (binary_expression "ppppppdVar16 != (double ******)0x0" identifier != (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }" if (parenthesized_expression "(*(int *)(iVar5 + 0x50) != 9)" ( (binary_expression "*(int *)(iVar5 + 0x50) != 9" (pointer_expression "*(int *)(iVar5 + 0x50)" * (cast_expression "(int *)(iVar5 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }" { (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x4c)" * (cast_expression "(int *)(iVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x4c)" ( (binary_expression "iVar5 + 0x4c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b6678;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }" if (parenthesized_expression "(*(int *)(iVar5 + 0x38) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x38) == 0" (pointer_expression "*(int *)(iVar5 + 0x38)" * (cast_expression "(int *)(iVar5 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }" { (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" identifier = (cast_expression "(double ******)&DAT_00000064" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000064" & identifier))) ;) (if_statement "if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;" if (parenthesized_expression "(*(int *)(iVar5 + 0x3c) == 0)" ( (binary_expression "*(int *)(iVar5 + 0x3c) == 0" (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) (expression_statement "iVar28 = 9;" (assignment_expression "iVar28 = 9" identifier = number_literal) ;) }) (else_clause "else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }" else (compound_statement "{\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }" { (expression_statement "iVar20 = *(int *)(iVar5 + 0x3c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x3c)" identifier = (pointer_expression "*(int *)(iVar5 + 0x3c)" * (cast_expression "(int *)(iVar5 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = 9;" (assignment_expression "iVar28 = 9" identifier = number_literal) ;) (labeled_statement "LAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;" statement_identifier : (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" identifier = (cast_expression "(double ******)&DAT_00000064" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000064" & identifier))) ;)) (if_statement "if (iVar20 == 0) goto LAB_000b6458;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" statement_identifier : (if_statement "if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" if (parenthesized_expression "(iVar28 == 0x12)" ( (binary_expression "iVar28 == 0x12" identifier == number_literal) )) (compound_statement "{\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" { (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" identifier = (cast_expression "(double ******)&DAT_00000064" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000064" & identifier))) ;) (expression_statement "*(undefined4 *)(iVar5 + 0x50) = 9;" (assignment_expression "*(undefined4 *)(iVar5 + 0x50) = 9" (pointer_expression "*(undefined4 *)(iVar5 + 0x50)" * (cast_expression "(undefined4 *)(iVar5 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) }))) (if_statement "if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }" if (parenthesized_expression "(iVar28 == 9)" ( (binary_expression "iVar28 == 9" identifier == number_literal) )) (compound_statement "{\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }" { (expression_statement "*(undefined4 *)(iVar5 + 0x50) = 0x12;" (assignment_expression "*(undefined4 *)(iVar5 + 0x50) = 0x12" (pointer_expression "*(undefined4 *)(iVar5 + 0x50)" * (cast_expression "(undefined4 *)(iVar5 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x50)" ( (binary_expression "iVar5 + 0x50" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" identifier = (cast_expression "(double ******)&DAT_00000064" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000064" & identifier))) ;) (goto_statement "goto LAB_000b6458;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;" statement_identifier : (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" identifier = (cast_expression "(double ******)&DAT_00000064" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000064" & identifier))) ;)) (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 **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c);" statement_identifier : (expression_statement "(**(code **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdaa58))" ( (pointer_expression "**(code **)(pcVar36 + 0xdaa58)" * (pointer_expression "*(code **)(pcVar36 + 0xdaa58)" * (cast_expression "(code **)(pcVar36 + 0xdaa58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdaa58)" ( (binary_expression "pcVar36 + 0xdaa58" identifier + number_literal) ))))) )) (argument_list "(0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c)" ( number_literal , (binary_expression "*(int *)(pcVar36 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(pcVar36 + 0xda7d4)" * (cast_expression "(int *)(pcVar36 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xda7d4)" ( (binary_expression "pcVar36 + 0xda7d4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(pcVar36 + 0xda7d4)" * (cast_expression "(int *)(pcVar36 + 0xda7d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xda7d4)" ( (binary_expression "pcVar36 + 0xda7d4" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar36 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(pcVar36 + 0xda7d0)" * (cast_expression "(int *)(pcVar36 + 0xda7d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0xda7d0)" ( (binary_expression "pcVar36 + 0xda7d0" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "ppppppdVar16 = (double ******)&DAT_0000000b;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_0000000b" identifier = (cast_expression "(double ******)&DAT_0000000b" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (expression_statement "*(undefined4 *)(iVar5 + 0x40) = 0xb;" (assignment_expression "*(undefined4 *)(iVar5 + 0x40) = 0xb" (pointer_expression "*(undefined4 *)(iVar5 + 0x40)" * (cast_expression "(undefined4 *)(iVar5 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_000b6458:\n  while (iStack_204 != *piVar23) {\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }" statement_identifier : (while_statement "while (iStack_204 != *piVar23) {\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }" while (parenthesized_expression "(iStack_204 != *piVar23)" ( (binary_expression "iStack_204 != *piVar23" identifier != (pointer_expression "*piVar23" * identifier)) )) (compound_statement "{\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }" { (expression_statement "(**(code **)(pcVar36 + 0xdac70))();" (call_expression "(**(code **)(pcVar36 + 0xdac70))()" (parenthesized_expression "(**(code **)(pcVar36 + 0xdac70))" ( (pointer_expression "**(code **)(pcVar36 + 0xdac70)" * (pointer_expression "*(code **)(pcVar36 + 0xdac70)" * (cast_expression "(code **)(pcVar36 + 0xdac70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0xdac70)" ( (binary_expression "pcVar36 + 0xdac70" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000b6830:\n    iVar20 = 0;" statement_identifier : (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);" statement_identifier : (expression_statement "ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30)" identifier = (cast_expression "(double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000b5b8c(iVar5,iVar20,ppppppdVar30)" identifier (argument_list "(iVar5,iVar20,ppppppdVar30)" ( identifier , identifier , identifier ))))) ;)) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" * (cast_expression "(double *******)(iVar5 + 0x40)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar5 + 0x40)" ( (binary_expression "iVar5 + 0x40" identifier + number_literal) )))) = identifier) ;) (if_statement "if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }" if (parenthesized_expression "(ppppppdVar16 == (double ******)0x0)" ( (binary_expression "ppppppdVar16 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }" { (expression_statement "*ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));" (assignment_expression "*ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" (pointer_expression "*ppppppdVar14" * identifier) = (cast_expression "(double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" ( (binary_expression "*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) ))))) )))) ;) (expression_statement "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;" (assignment_expression "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar5 + 8) + (int)*ppppppdVar30" (pointer_expression "*(int *)(iVar5 + 8)" * (cast_expression "(int *)(iVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) + (cast_expression "(int)*ppppppdVar30" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppppppdVar30" * identifier)))) ;) (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" identifier = (cast_expression "(double ******)&DAT_00000064" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000064" & identifier))) ;) })) }))) (return_statement "return ppppppdVar16;" return identifier ;) (labeled_statement "code_r0x000b6070:\n  ppppppdVar30 = *(double *******)pdVar12;" statement_identifier : (expression_statement "ppppppdVar30 = *(double *******)pdVar12;" (assignment_expression "ppppppdVar30 = *(double *******)pdVar12" identifier = (pointer_expression "*(double *******)pdVar12" * (cast_expression "(double *******)pdVar12" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ;)) (expression_statement "ppppppdVar17 = *(double *******)((int)pdVar12 + 4);" (assignment_expression "ppppppdVar17 = *(double *******)((int)pdVar12 + 4)" identifier = (pointer_expression "*(double *******)((int)pdVar12 + 4)" * (cast_expression "(double *******)((int)pdVar12 + 4)" ( (type_descriptor "double *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (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 "dVar38 = *pdVar12;" (assignment_expression "dVar38 = *pdVar12" identifier = (pointer_expression "*pdVar12" * identifier)) ;) (expression_statement "uVar3 = *(ushort *)(ppppppdVar24 + 2);" (assignment_expression "uVar3 = *(ushort *)(ppppppdVar24 + 2)" identifier = (pointer_expression "*(ushort *)(ppppppdVar24 + 2)" * (cast_expression "(ushort *)(ppppppdVar24 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppdVar24 + 2)" ( (binary_expression "ppppppdVar24 + 2" identifier + number_literal) ))))) ;) (expression_statement "ppppppdVar14 = (double ******)(uVar3 & 0x2400);" (assignment_expression "ppppppdVar14 = (double ******)(uVar3 & 0x2400)" identifier = (cast_expression "(double ******)(uVar3 & 0x2400)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(uVar3 & 0x2400)" ( (binary_expression "uVar3 & 0x2400" identifier & number_literal) )))) ;) (expression_statement "ppppppdVar21 = ppppppdVar34;" (assignment_expression "ppppppdVar21 = ppppppdVar34" identifier = identifier) ;) (if_statement "if (pcVar4 == (code *)0x1) {\n    if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }\n  }\n  else {\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }" if (parenthesized_expression "(pcVar4 == (code *)0x1)" ( (binary_expression "pcVar4 == (code *)0x1" identifier == (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }\n  }" { (if_statement "if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }" if (parenthesized_expression "((uVar3 & 0x2400) == 0)" ( (binary_expression "(uVar3 & 0x2400) == 0" (parenthesized_expression "(uVar3 & 0x2400)" ( (binary_expression "uVar3 & 0x2400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }" { (expression_statement "ppppppdVar24[1] = (double *****)ppppppdVar17;" (assignment_expression "ppppppdVar24[1] = (double *****)ppppppdVar17" (subscript_expression "ppppppdVar24[1]" identifier [ number_literal ]) = (cast_expression "(double *****)ppppppdVar17" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "*ppppppdVar24 = (double *****)ppppppdVar30;" (assignment_expression "*ppppppdVar24 = (double *****)ppppppdVar30" (pointer_expression "*ppppppdVar24" * identifier) = (cast_expression "(double *****)ppppppdVar30" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "*(undefined2 *)(ppppppdVar24 + 2) = 4;" (assignment_expression "*(undefined2 *)(ppppppdVar24 + 2) = 4" (pointer_expression "*(undefined2 *)(ppppppdVar24 + 2)" * (cast_expression "(undefined2 *)(ppppppdVar24 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppdVar24 + 2)" ( (binary_expression "ppppppdVar24 + 2" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }" else (compound_statement "{\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }" { (expression_statement "pppppdStack_1a4 = (double *****)ppppppdVar34;" (assignment_expression "pppppdStack_1a4 = (double *****)ppppppdVar34" identifier = (cast_expression "(double *****)ppppppdVar34" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);" (call_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))" ( (pointer_expression "*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc)" * (cast_expression "(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc" (pointer_expression "*(int *)(pcStack_1c0 + -0x7d78)" * (cast_expression "(int *)(pcStack_1c0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7d78)" ( (binary_expression "pcStack_1c0 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppdVar24)" ( identifier ))) ;) (expression_statement "ppppppdVar21 = (double ******)pppppdStack_1a4;" (assignment_expression "ppppppdVar21 = (double ******)pppppdStack_1a4" identifier = (cast_expression "(double ******)pppppdStack_1a4" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }))) }) (else_clause "else {\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }" else (compound_statement "{\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }" { (expression_statement "pppppdStack_198 = (double *****)ppppppdVar30;" (assignment_expression "pppppdStack_198 = (double *****)ppppppdVar30" identifier = (cast_expression "(double *****)ppppppdVar30" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_194 = (double *****)ppppppdVar17;" (assignment_expression "pppppdStack_194 = (double *****)ppppppdVar17" identifier = (cast_expression "(double *****)ppppppdVar17" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }" if (parenthesized_expression "((uVar3 & 0x2400) == 0)" ( (binary_expression "(uVar3 & 0x2400) == 0" (parenthesized_expression "(uVar3 & 0x2400)" ( (binary_expression "uVar3 & 0x2400" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }" { (expression_statement "*(undefined2 *)(ppppppdVar24 + 2) = 1;" (assignment_expression "*(undefined2 *)(ppppppdVar24 + 2) = 1" (pointer_expression "*(undefined2 *)(ppppppdVar24 + 2)" * (cast_expression "(undefined2 *)(ppppppdVar24 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppdVar24 + 2)" ( (binary_expression "ppppppdVar24 + 2" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }" else (compound_statement "{\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }" { (expression_statement "pppppdStack_1a4 = (double *****)ppppppdVar24;" (assignment_expression "pppppdStack_1a4 = (double *****)ppppppdVar24" identifier = (cast_expression "(double *****)ppppppdVar24" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppdStack_1a0 = (double *****)ppppppdVar34;" (assignment_expression "pppppdStack_1a0 = (double *****)ppppppdVar34" identifier = (cast_expression "(double *****)ppppppdVar34" ( (type_descriptor "double *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);" (call_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))" ( (pointer_expression "*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170)" * (cast_expression "(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170)" ( (binary_expression "*(int *)(pcStack_1c0 + -0x7d78) + -0x2170" (pointer_expression "*(int *)(pcStack_1c0 + -0x7d78)" * (cast_expression "(int *)(pcStack_1c0 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_1c0 + -0x7d78)" ( (binary_expression "pcStack_1c0 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppdVar24)" ( identifier ))) ;) (expression_statement "ppppppdVar24 = (double ******)pppppdStack_1a4;" (assignment_expression "ppppppdVar24 = (double ******)pppppdStack_1a4" identifier = (cast_expression "(double ******)pppppdStack_1a4" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppdVar21 = (double ******)pppppdStack_1a0;" (assignment_expression "ppppppdVar21 = (double ******)pppppdStack_1a0" identifier = (cast_expression "(double ******)pppppdStack_1a0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) }))) (if_statement "if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }" if (parenthesized_expression "(!NAN(dVar38))" ( (unary_expression "!NAN(dVar38)" ! (call_expression "NAN(dVar38)" identifier (argument_list "(dVar38)" ( identifier )))) )) (compound_statement "{\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }" { (expression_statement "*(double *)ppppppdVar24 = dVar38;" (assignment_expression "*(double *)ppppppdVar24 = dVar38" (pointer_expression "*(double *)ppppppdVar24" * (cast_expression "(double *)ppppppdVar24" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(undefined2 *)(ppppppdVar24 + 2) = 8;" (assignment_expression "*(undefined2 *)(ppppppdVar24 + 2) = 8" (pointer_expression "*(undefined2 *)(ppppppdVar24 + 2)" * (cast_expression "(undefined2 *)(ppppppdVar24 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppdVar24 + 2)" ( (binary_expression "ppppppdVar24 + 2" identifier + number_literal) )))) = number_literal) ;) })) }))) (expression_statement "ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15);" (assignment_expression "ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15)" identifier = (cast_expression "(double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15)" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(uint)((int)ppppppdVar34 < (int)ppppppdVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppdVar34 < (int)ppppppdVar15)" ( (binary_expression "(int)ppppppdVar34 < (int)ppppppdVar15" (cast_expression "(int)ppppppdVar34" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppppppdVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "ppppppdVar6[2] = ppppppdVar6[2] + 2;" (assignment_expression "ppppppdVar6[2] = ppppppdVar6[2] + 2" (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]) = (binary_expression "ppppppdVar6[2] + 2" (subscript_expression "ppppppdVar6[2]" identifier [ number_literal ]) + number_literal)) ;) (if_statement "if (ppppppdVar29 == (double ******)0x0) {\n    ppppppdVar7 = (double ******)0x0;\n    ppppppdVar33 = ppppppdVar34;\n    pcVar36 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }" if (parenthesized_expression "(ppppppdVar29 == (double ******)0x0)" ( (binary_expression "ppppppdVar29 == (double ******)0x0" identifier == (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    ppppppdVar7 = (double ******)0x0;\n    ppppppdVar33 = ppppppdVar34;\n    pcVar36 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }" { (expression_statement "ppppppdVar7 = (double ******)0x0;" (assignment_expression "ppppppdVar7 = (double ******)0x0" identifier = (cast_expression "(double ******)0x0" ( (type_descriptor "double ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppdVar33 = ppppppdVar34;" (assignment_expression "ppppppdVar33 = ppppppdVar34" identifier = identifier) ;) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" identifier = identifier) ;) (goto_statement "goto LAB_000b5de4;" goto statement_identifier ;) })) (goto_statement "goto LAB_000b5dac;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ IDENT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) }) (else_clause else (compound_statement { (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ))) )) (break_statement break ;)) }) while (parenthesized_expression ( BOOL )) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (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)) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (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 ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )))) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) )))) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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)) ;) (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 * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) == (cast_expression ( (type_descriptor TYPE) ) LIT)) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (labeled_statement 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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (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 (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT )))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (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)) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) 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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) })) (expression_statement (assignment_expression (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & 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 (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 (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;)) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;)) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (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) )))) + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) })) }))) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (unary_expression ! (call_expression IDENT (argument_list ( IDENT )))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (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) ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })))
(function_definition "double ******\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)\n\n{\n  byte bVar1;\n  code cVar2;\n  ushort uVar3;\n  code *pcVar4;\n  int iVar5;\n  double ******ppppppdVar6;\n  double ******ppppppdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *****pppppdVar10;\n  byte *pbVar11;\n  double *pdVar12;\n  char *pcVar13;\n  double ******ppppppdVar14;\n  double ******ppppppdVar15;\n  double ******ppppppdVar16;\n  double ******ppppppdVar17;\n  undefined4 uVar18;\n  int iVar19;\n  double ******unaff_s0;\n  int iVar20;\n  double ******ppppppdVar21;\n  double ******unaff_s1;\n  double ******ppppppdVar22;\n  double ******unaff_s2;\n  int *piVar23;\n  double ******ppppppdVar24;\n  int iVar25;\n  undefined *unaff_s3;\n  undefined *puVar26;\n  int iVar27;\n  int iVar28;\n  double ******ppppppdVar29;\n  double ******ppppppdVar30;\n  int unaff_s6;\n  int *piVar31;\n  undefined4 *puVar32;\n  double ******unaff_s7;\n  double ******ppppppdVar33;\n  double ******ppppppdVar34;\n  undefined *puVar35;\n  double ******unaff_s8;\n  code *pcVar36;\n  code *pcVar37;\n  double dVar38;\n  double *****pppppdStack_20c;\n  int iStack_208;\n  int iStack_204;\n  double *****pppppdStack_200;\n  int iStack_1fc;\n  double *****pppppdStack_1f8;\n  double *****pppppdStack_1f4;\n  double *****pppppdStack_1f0;\n  code *pcStack_1ec;\n  int *piStack_1e8;\n  double *****pppppdStack_1e4;\n  double *****pppppdStack_1e0;\n  code *pcStack_1dc;\n  int iStack_1c8;\n  code *pcStack_1c0;\n  double *****pppppdStack_1b4;\n  code *pcStack_1b0;\n  code *pcStack_1ac;\n  int iStack_1a8;\n  double *****pppppdStack_1a4;\n  double *****pppppdStack_1a0;\n  double *****pppppdStack_19c;\n  double *****pppppdStack_198;\n  double *****pppppdStack_194;\n  int iStack_18c;\n  double *****pppppdStack_188;\n  int iStack_184;\n  double *****pppppdStack_180;\n  double *****pppppdStack_17c;\n  double *****pppppdStack_178;\n  code *pcStack_174;\n  undefined4 *puStack_170;\n  double *****pppppdStack_16c;\n  double *****pppppdStack_168;\n  code *pcStack_164;\n  code *pcStack_148;\n  double *****pppppdStack_13c;\n  double ****ppppdStack_138;\n  double *****pppppdStack_134;\n  double ****ppppdStack_130;\n  double *****pppppdStack_12c;\n  int *piStack_128;\n  double *****pppppdStack_124;\n  int iStack_120;\n  int iStack_11c;\n  int *piStack_118;\n  double *****pppppdStack_114;\n  double *****pppppdStack_110;\n  code *pcStack_10c;\n  int iStack_f8;\n  code *pcStack_f0;\n  uint uStack_e8;\n  int iStack_e4;\n  double *****pppppdStack_dc;\n  double *****pppppdStack_d8;\n  double *****pppppdStack_d4;\n  undefined *puStack_d0;\n  double *****pppppdStack_cc;\n  double *****pppppdStack_c8;\n  code *pcStack_c4;\n  undefined *puStack_b0;\n  double *****pppppdStack_a4;\n  double ****ppppdStack_a0;\n  int iStack_9c;\n  double *****pppppdStack_98;\n  double *****pppppdStack_94;\n  double *****pppppdStack_90;\n  undefined *puStack_8c;\n  double *****pppppdStack_88;\n  double *****pppppdStack_84;\n  int iStack_80;\n  double *****pppppdStack_7c;\n  double *****pppppdStack_78;\n  code *pcStack_74;\n  double *****local_3c;\n  double *****local_38;\n  double *****local_34;\n  undefined4 local_30;\n  double *****local_2c;\n  \n  puVar35 = PTR___stack_chk_guard_00190e24;\n  local_3c = (double *****)0x0;\n  local_38 = (double *****)0x0;\n  local_34 = (double *****)0x0;\n  local_30 = 0;\n  local_2c = *(double ******)PTR___stack_chk_guard_00190e24;\n  ppppppdVar17 = param_4;\n  if (param_2 == (double ******)0x0) {\n    ppppppdVar16 = param_3;\n    if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }\nLAB_000b5730:\n  ppppppdVar30 = (double ******)local_38;\n  (*(code *)PTR_sqlite3_free_0019096c)(local_38);\n  if ((double ******)local_2c == *(double *******)puVar35) {\n    return (double ******)local_3c;\n  }\n  pcVar4 = FUN_000b57e0;\n  ppppppdVar15 = (double ******)local_2c;\n  puVar35 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar35 + 0xe3140;\n  piVar31 = *(int **)(puVar35 + 0xdb644);\n  pppppdStack_a4 = (double *****)0x0;\n  iStack_9c = *piVar31;\n  ppppppdVar29 = (double ******)0x0;\n  ppppppdVar14 = param_2;\n  ppppppdVar21 = unaff_s0;\n  ppppppdVar24 = unaff_s2;\n  pppppdStack_98 = (double *****)unaff_s0;\n  pppppdStack_94 = (double *****)unaff_s1;\n  pppppdStack_90 = (double *****)unaff_s2;\n  puStack_8c = unaff_s3;\n  pppppdStack_88 = (double *****)param_3;\n  pppppdStack_84 = (double *****)ppppppdVar30;\n  iStack_80 = unaff_s6;\n  pppppdStack_7c = (double *****)unaff_s7;\n  pppppdStack_78 = (double *****)unaff_s8;\n  pcStack_74 = pcVar4;\n  if (ppppppdVar15[8] != (double *****)0x0) {\n    ppppppdVar21 = ppppppdVar15;\n    if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }\n  }\n  if (iStack_9c == *piVar31) {\n    return ppppppdVar29;\n  }\n  pcVar4 = *(code **)(puStack_b0 + -0x7b28);\n  pcVar36 = FUN_000b5998;\n  iVar5 = iStack_9c;\n  pppppdStack_a4 = (double *****)ppppppdVar29;\n  (*pcVar4)();\n  pcStack_f0 = pcVar4 + 0xe2f88;\n  ppppppdVar29 = (double ******)&DAT_00000009;\n  piVar23 = *(int **)(pcVar4 + 0xdb48c);\n  iVar28 = *(int *)(pcVar4 + 0xdb294);\n  uStack_e8 = 0;\n  iStack_e4 = *piVar23;\n  pppppdStack_dc = (double *****)ppppppdVar21;\n  pppppdStack_d8 = (double *****)unaff_s1;\n  pppppdStack_d4 = (double *****)ppppppdVar24;\n  puStack_d0 = unaff_s3;\n  pppppdStack_cc = (double *****)param_3;\n  pppppdStack_c8 = (double *****)ppppppdVar30;\n  pcStack_c4 = pcVar36;\n  ppppppdVar30 = (double ******)FUN_000b57e0();\n  if (ppppppdVar30 == (double ******)0x0) {\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);\n    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);\n    iVar20 = iVar20 + uStack_e8;\n    if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }\n  }\n  else {\n    pppppdVar10 = (double *****)0x1;\n  }\nLAB_000b5ad4:\n  *ppppppdVar14 = pppppdVar10;\n  if (iStack_e4 == *piVar23) {\n    return ppppppdVar30;\n  }\n  pcVar4 = *(code **)(pcStack_f0 + -0x7b28);\n  pcVar36 = FUN_000b5b8c;\n  iVar20 = iStack_e4;\n  (*pcVar4)();\n  pcStack_148 = pcVar4 + 0xe2d94;\n  ppppppdVar33 = (double ******)&ppppdStack_138;\n  ppppppdVar24 = (double ******)0x0;\n  ppppppdVar21 = (double ******)0x0;\n  puVar32 = *(undefined4 **)(pcVar4 + 0xdb298);\n  pppppdStack_134 = (double *****)*puVar32;\n  ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);\n  pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);\n  ppppppdVar6 = (double ******)0x0;\n  ppppppdVar15 = ppppppdVar29;\n  pppppdStack_13c = (double *****)ppppppdVar16;\n  ppppdStack_130 = (double ****)pppppdVar10;\n  pppppdStack_12c = (double *****)ppppppdVar30;\n  piStack_128 = piVar23;\n  pppppdStack_124 = (double *****)ppppppdVar14;\n  iStack_120 = iVar28 + 0x57e0;\n  iStack_11c = iVar5;\n  piStack_118 = piVar31;\n  pppppdStack_114 = (double *****)unaff_s7;\n  pppppdStack_110 = (double *****)unaff_s8;\n  pcStack_10c = pcVar36;\n  if (0 < (int)ppppppdVar29) {\n    do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));\n  }\nLAB_000b5c24:\n  *pppppdStack_13c = (double ****)ppppppdVar21;\n  if ((double ******)pppppdStack_134 == (double ******)*puVar32) {\n    return ppppppdVar6;\n  }\n  pcVar36 = *(code **)(pcStack_148 + -0x7b28);\n  pcVar37 = FUN_000b5d20;\n  ppppppdVar6 = (double ******)pppppdStack_134;\n  (*pcVar36)();\n  pcStack_1c0 = pcVar36 + 0xe2c00;\n  piVar31 = *(int **)(pcVar36 + 0xdb104);\n  iStack_18c = *piVar31;\n  ppppppdVar14 = ppppppdVar15;\n  ppppppdVar30 = ppppppdVar16;\n  pppppdStack_1b4 = (double *****)ppppppdVar17;\n  pppppdStack_188 = (double *****)ppppppdVar21;\n  iStack_184 = iVar20;\n  pppppdStack_180 = (double *****)ppppppdVar24;\n  pppppdStack_17c = (double *****)ppppppdVar22;\n  pppppdStack_178 = (double *****)ppppppdVar29;\n  pcStack_174 = pcVar4;\n  puStack_170 = puVar32;\n  pppppdStack_16c = (double *****)ppppppdVar33;\n  pppppdStack_168 = (double *****)unaff_s8;\n  pcStack_164 = pcVar37;\n  if (0 < (int)ppppppdVar15) {\n    ppppppdVar21 = (double ******)0x0;\n    pcVar4 = *(code **)(pcVar36 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);\n    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;\n    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);\nLAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;\n    ppppppdVar33 = ppppppdVar21;\n    pcVar36 = pcStack_1c0;\nLAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }\n    ppppppdVar14 = (double ******)&DAT_00000009;\n    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n    pcVar36 = pcStack_1c0;\n    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n    pppppdVar10 = ppppppdVar6[2];\n    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    ppppppdVar6[2] = (double *****)ppppppdVar14;\n    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);\n    if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }\n    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n    ppppppdVar21 = ppppppdVar16;\n    ppppppdVar24 = ppppppdVar15;\n    pcVar36 = pcStack_1c0;\n    unaff_s8 = ppppppdVar6;\n    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  ppppppdVar7 = (double ******)0x0;\n  ppppppdVar16 = ppppppdVar21;\n  ppppppdVar15 = ppppppdVar24;\n  pcVar36 = pcStack_1c0;\n  ppppppdVar6 = unaff_s8;\nLAB_000b5de4:\n  if (iStack_18c == *piVar31) {\n    return ppppppdVar7;\n  }\n  pcVar36 = *(code **)(pcVar36 + -0x7b28);\n  pcVar37 = FUN_000b6188;\n  iVar5 = iStack_18c;\n  (*pcVar36)();\n  piVar23 = *(int **)(pcVar36 + 0xdac9c);\n  iVar28 = *(int *)(iVar5 + 0x5c);\n  iStack_204 = *piVar23;\n  pppppdStack_200 = (double *****)ppppppdVar16;\n  iStack_1fc = iVar20;\n  pppppdStack_1f8 = (double *****)ppppppdVar15;\n  pppppdStack_1f4 = (double *****)ppppppdVar22;\n  pppppdStack_1f0 = (double *****)ppppppdVar29;\n  pcStack_1ec = pcVar4;\n  piStack_1e8 = piVar31;\n  pppppdStack_1e4 = (double *****)ppppppdVar33;\n  pppppdStack_1e0 = (double *****)ppppppdVar6;\n  pcStack_1dc = pcVar37;\n  if (iVar28 != 0) {\n    iVar20 = *(int *)(iVar5 + 0x4c);\n    iVar25 = 0;\n    if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }\n    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);\n  }\n  ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n  *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n  if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n  if (*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)) {\nLAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5);\n  iVar28 = *(int *)(iVar5 + 8);\n  iVar20 = *(int *)(iVar5 + 0xc);\n  iVar25 = *(int *)(pcVar36 + 0xdaa20);\n  *(int *)(iVar5 + 4) = iVar28;\n  *(int *)(iVar5 + 8) = iVar28 + 1;\n  bVar1 = *(byte *)(iVar20 + iVar28);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }\n    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);\n    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar5 + 0x30) = 0;\n    iStack_208 = iStack_208 - iVar28;\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;\n    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;\n    iVar28 = *(int *)(iVar5 + 0x4c) * 8;\n    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);\n    (**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);\n    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n    *(int *)(iVar5 + 0x58) = iVar28;\n    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;\n    ppppppdVar16 = (double ******)pppppdStack_20c;\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;\n    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n    iVar28 = *(int *)(iVar5 + 8);\n    *(int *)(iVar5 + 4) = iVar28;\n    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;\n    iVar20 = *(int *)(iVar5 + 0xc);\n    *(int *)(iVar5 + 8) = iVar28 + 1;\n    bVar1 = *(byte *)(iVar20 + iVar28);\n  }\n  if ((*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c);\n  ppppppdVar16 = (double ******)&DAT_0000000b;\n  *(undefined4 *)(iVar5 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_204 != *piVar23) {\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }\n  return ppppppdVar16;\ncode_r0x000b6070:\n  ppppppdVar30 = *(double *******)pdVar12;\n  ppppppdVar17 = *(double *******)((int)pdVar12 + 4);\n  dVar38 = *pdVar12;\n  uVar3 = *(ushort *)(ppppppdVar24 + 2);\n  ppppppdVar14 = (double ******)(uVar3 & 0x2400);\n  ppppppdVar21 = ppppppdVar34;\n  if (pcVar4 == (code *)0x1) {\n    if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }\n  }\n  else {\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }\n  ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15);\n  ppppppdVar6[2] = ppppppdVar6[2] + 2;\n  if (ppppppdVar29 == (double ******)0x0) {\n    ppppppdVar7 = (double ******)0x0;\n    ppppppdVar33 = ppppppdVar34;\n    pcVar36 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" (primitive_type "double") (pointer_declarator "******\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" (* "*") (pointer_declarator "*****\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" (* "*") (pointer_declarator "****\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" (* "*") (pointer_declarator "***\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" (* "*") (pointer_declarator "**\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" (* "*") (pointer_declarator "*\nFUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" (* "*") (function_declarator "FUN_000b5574(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" (identifier "FUN_000b5574") (parameter_list "(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,\n            undefined4 *param_5,undefined4 *param_6)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "double ******param_2" (primitive_type "double") (pointer_declarator "******param_2" (* "*") (pointer_declarator "*****param_2" (* "*") (pointer_declarator "****param_2" (* "*") (pointer_declarator "***param_2" (* "*") (pointer_declarator "**param_2" (* "*") (pointer_declarator "*param_2" (* "*") (identifier "param_2")))))))) (, ",") (parameter_declaration "double ******param_3" (primitive_type "double") (pointer_declarator "******param_3" (* "*") (pointer_declarator "*****param_3" (* "*") (pointer_declarator "****param_3" (* "*") (pointer_declarator "***param_3" (* "*") (pointer_declarator "**param_3" (* "*") (pointer_declarator "*param_3" (* "*") (identifier "param_3")))))))) (, ",") (parameter_declaration "double ******param_4" (primitive_type "double") (pointer_declarator "******param_4" (* "*") (pointer_declarator "*****param_4" (* "*") (pointer_declarator "****param_4" (* "*") (pointer_declarator "***param_4" (* "*") (pointer_declarator "**param_4" (* "*") (pointer_declarator "*param_4" (* "*") (identifier "param_4")))))))) (, ",") (parameter_declaration "undefined4 *param_5" (type_identifier "undefined4") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "undefined4 *param_6" (type_identifier "undefined4") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) () ")"))))))))) (compound_statement "{\n  byte bVar1;\n  code cVar2;\n  ushort uVar3;\n  code *pcVar4;\n  int iVar5;\n  double ******ppppppdVar6;\n  double ******ppppppdVar7;\n  uint uVar8;\n  char *pcVar9;\n  double *****pppppdVar10;\n  byte *pbVar11;\n  double *pdVar12;\n  char *pcVar13;\n  double ******ppppppdVar14;\n  double ******ppppppdVar15;\n  double ******ppppppdVar16;\n  double ******ppppppdVar17;\n  undefined4 uVar18;\n  int iVar19;\n  double ******unaff_s0;\n  int iVar20;\n  double ******ppppppdVar21;\n  double ******unaff_s1;\n  double ******ppppppdVar22;\n  double ******unaff_s2;\n  int *piVar23;\n  double ******ppppppdVar24;\n  int iVar25;\n  undefined *unaff_s3;\n  undefined *puVar26;\n  int iVar27;\n  int iVar28;\n  double ******ppppppdVar29;\n  double ******ppppppdVar30;\n  int unaff_s6;\n  int *piVar31;\n  undefined4 *puVar32;\n  double ******unaff_s7;\n  double ******ppppppdVar33;\n  double ******ppppppdVar34;\n  undefined *puVar35;\n  double ******unaff_s8;\n  code *pcVar36;\n  code *pcVar37;\n  double dVar38;\n  double *****pppppdStack_20c;\n  int iStack_208;\n  int iStack_204;\n  double *****pppppdStack_200;\n  int iStack_1fc;\n  double *****pppppdStack_1f8;\n  double *****pppppdStack_1f4;\n  double *****pppppdStack_1f0;\n  code *pcStack_1ec;\n  int *piStack_1e8;\n  double *****pppppdStack_1e4;\n  double *****pppppdStack_1e0;\n  code *pcStack_1dc;\n  int iStack_1c8;\n  code *pcStack_1c0;\n  double *****pppppdStack_1b4;\n  code *pcStack_1b0;\n  code *pcStack_1ac;\n  int iStack_1a8;\n  double *****pppppdStack_1a4;\n  double *****pppppdStack_1a0;\n  double *****pppppdStack_19c;\n  double *****pppppdStack_198;\n  double *****pppppdStack_194;\n  int iStack_18c;\n  double *****pppppdStack_188;\n  int iStack_184;\n  double *****pppppdStack_180;\n  double *****pppppdStack_17c;\n  double *****pppppdStack_178;\n  code *pcStack_174;\n  undefined4 *puStack_170;\n  double *****pppppdStack_16c;\n  double *****pppppdStack_168;\n  code *pcStack_164;\n  code *pcStack_148;\n  double *****pppppdStack_13c;\n  double ****ppppdStack_138;\n  double *****pppppdStack_134;\n  double ****ppppdStack_130;\n  double *****pppppdStack_12c;\n  int *piStack_128;\n  double *****pppppdStack_124;\n  int iStack_120;\n  int iStack_11c;\n  int *piStack_118;\n  double *****pppppdStack_114;\n  double *****pppppdStack_110;\n  code *pcStack_10c;\n  int iStack_f8;\n  code *pcStack_f0;\n  uint uStack_e8;\n  int iStack_e4;\n  double *****pppppdStack_dc;\n  double *****pppppdStack_d8;\n  double *****pppppdStack_d4;\n  undefined *puStack_d0;\n  double *****pppppdStack_cc;\n  double *****pppppdStack_c8;\n  code *pcStack_c4;\n  undefined *puStack_b0;\n  double *****pppppdStack_a4;\n  double ****ppppdStack_a0;\n  int iStack_9c;\n  double *****pppppdStack_98;\n  double *****pppppdStack_94;\n  double *****pppppdStack_90;\n  undefined *puStack_8c;\n  double *****pppppdStack_88;\n  double *****pppppdStack_84;\n  int iStack_80;\n  double *****pppppdStack_7c;\n  double *****pppppdStack_78;\n  code *pcStack_74;\n  double *****local_3c;\n  double *****local_38;\n  double *****local_34;\n  undefined4 local_30;\n  double *****local_2c;\n  \n  puVar35 = PTR___stack_chk_guard_00190e24;\n  local_3c = (double *****)0x0;\n  local_38 = (double *****)0x0;\n  local_34 = (double *****)0x0;\n  local_30 = 0;\n  local_2c = *(double ******)PTR___stack_chk_guard_00190e24;\n  ppppppdVar17 = param_4;\n  if (param_2 == (double ******)0x0) {\n    ppppppdVar16 = param_3;\n    if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }\nLAB_000b5730:\n  ppppppdVar30 = (double ******)local_38;\n  (*(code *)PTR_sqlite3_free_0019096c)(local_38);\n  if ((double ******)local_2c == *(double *******)puVar35) {\n    return (double ******)local_3c;\n  }\n  pcVar4 = FUN_000b57e0;\n  ppppppdVar15 = (double ******)local_2c;\n  puVar35 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_b0 = puVar35 + 0xe3140;\n  piVar31 = *(int **)(puVar35 + 0xdb644);\n  pppppdStack_a4 = (double *****)0x0;\n  iStack_9c = *piVar31;\n  ppppppdVar29 = (double ******)0x0;\n  ppppppdVar14 = param_2;\n  ppppppdVar21 = unaff_s0;\n  ppppppdVar24 = unaff_s2;\n  pppppdStack_98 = (double *****)unaff_s0;\n  pppppdStack_94 = (double *****)unaff_s1;\n  pppppdStack_90 = (double *****)unaff_s2;\n  puStack_8c = unaff_s3;\n  pppppdStack_88 = (double *****)param_3;\n  pppppdStack_84 = (double *****)ppppppdVar30;\n  iStack_80 = unaff_s6;\n  pppppdStack_7c = (double *****)unaff_s7;\n  pppppdStack_78 = (double *****)unaff_s8;\n  pcStack_74 = pcVar4;\n  if (ppppppdVar15[8] != (double *****)0x0) {\n    ppppppdVar21 = ppppppdVar15;\n    if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }\n  }\n  if (iStack_9c == *piVar31) {\n    return ppppppdVar29;\n  }\n  pcVar4 = *(code **)(puStack_b0 + -0x7b28);\n  pcVar36 = FUN_000b5998;\n  iVar5 = iStack_9c;\n  pppppdStack_a4 = (double *****)ppppppdVar29;\n  (*pcVar4)();\n  pcStack_f0 = pcVar4 + 0xe2f88;\n  ppppppdVar29 = (double ******)&DAT_00000009;\n  piVar23 = *(int **)(pcVar4 + 0xdb48c);\n  iVar28 = *(int *)(pcVar4 + 0xdb294);\n  uStack_e8 = 0;\n  iStack_e4 = *piVar23;\n  pppppdStack_dc = (double *****)ppppppdVar21;\n  pppppdStack_d8 = (double *****)unaff_s1;\n  pppppdStack_d4 = (double *****)ppppppdVar24;\n  puStack_d0 = unaff_s3;\n  pppppdStack_cc = (double *****)param_3;\n  pppppdStack_c8 = (double *****)ppppppdVar30;\n  pcStack_c4 = pcVar36;\n  ppppppdVar30 = (double ******)FUN_000b57e0();\n  if (ppppppdVar30 == (double ******)0x0) {\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);\n    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);\n    iVar20 = iVar20 + uStack_e8;\n    if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }\n  }\n  else {\n    pppppdVar10 = (double *****)0x1;\n  }\nLAB_000b5ad4:\n  *ppppppdVar14 = pppppdVar10;\n  if (iStack_e4 == *piVar23) {\n    return ppppppdVar30;\n  }\n  pcVar4 = *(code **)(pcStack_f0 + -0x7b28);\n  pcVar36 = FUN_000b5b8c;\n  iVar20 = iStack_e4;\n  (*pcVar4)();\n  pcStack_148 = pcVar4 + 0xe2d94;\n  ppppppdVar33 = (double ******)&ppppdStack_138;\n  ppppppdVar24 = (double ******)0x0;\n  ppppppdVar21 = (double ******)0x0;\n  puVar32 = *(undefined4 **)(pcVar4 + 0xdb298);\n  pppppdStack_134 = (double *****)*puVar32;\n  ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);\n  pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);\n  ppppppdVar6 = (double ******)0x0;\n  ppppppdVar15 = ppppppdVar29;\n  pppppdStack_13c = (double *****)ppppppdVar16;\n  ppppdStack_130 = (double ****)pppppdVar10;\n  pppppdStack_12c = (double *****)ppppppdVar30;\n  piStack_128 = piVar23;\n  pppppdStack_124 = (double *****)ppppppdVar14;\n  iStack_120 = iVar28 + 0x57e0;\n  iStack_11c = iVar5;\n  piStack_118 = piVar31;\n  pppppdStack_114 = (double *****)unaff_s7;\n  pppppdStack_110 = (double *****)unaff_s8;\n  pcStack_10c = pcVar36;\n  if (0 < (int)ppppppdVar29) {\n    do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));\n  }\nLAB_000b5c24:\n  *pppppdStack_13c = (double ****)ppppppdVar21;\n  if ((double ******)pppppdStack_134 == (double ******)*puVar32) {\n    return ppppppdVar6;\n  }\n  pcVar36 = *(code **)(pcStack_148 + -0x7b28);\n  pcVar37 = FUN_000b5d20;\n  ppppppdVar6 = (double ******)pppppdStack_134;\n  (*pcVar36)();\n  pcStack_1c0 = pcVar36 + 0xe2c00;\n  piVar31 = *(int **)(pcVar36 + 0xdb104);\n  iStack_18c = *piVar31;\n  ppppppdVar14 = ppppppdVar15;\n  ppppppdVar30 = ppppppdVar16;\n  pppppdStack_1b4 = (double *****)ppppppdVar17;\n  pppppdStack_188 = (double *****)ppppppdVar21;\n  iStack_184 = iVar20;\n  pppppdStack_180 = (double *****)ppppppdVar24;\n  pppppdStack_17c = (double *****)ppppppdVar22;\n  pppppdStack_178 = (double *****)ppppppdVar29;\n  pcStack_174 = pcVar4;\n  puStack_170 = puVar32;\n  pppppdStack_16c = (double *****)ppppppdVar33;\n  pppppdStack_168 = (double *****)unaff_s8;\n  pcStack_164 = pcVar37;\n  if (0 < (int)ppppppdVar15) {\n    ppppppdVar21 = (double ******)0x0;\n    pcVar4 = *(code **)(pcVar36 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);\n    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;\n    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);\nLAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;\n    ppppppdVar33 = ppppppdVar21;\n    pcVar36 = pcStack_1c0;\nLAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }\n    ppppppdVar14 = (double ******)&DAT_00000009;\n    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n    pcVar36 = pcStack_1c0;\n    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n    pppppdVar10 = ppppppdVar6[2];\n    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    ppppppdVar6[2] = (double *****)ppppppdVar14;\n    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);\n    if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }\n    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n    ppppppdVar21 = ppppppdVar16;\n    ppppppdVar24 = ppppppdVar15;\n    pcVar36 = pcStack_1c0;\n    unaff_s8 = ppppppdVar6;\n    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }\nLAB_000b5e64:\n  ppppppdVar7 = (double ******)0x0;\n  ppppppdVar16 = ppppppdVar21;\n  ppppppdVar15 = ppppppdVar24;\n  pcVar36 = pcStack_1c0;\n  ppppppdVar6 = unaff_s8;\nLAB_000b5de4:\n  if (iStack_18c == *piVar31) {\n    return ppppppdVar7;\n  }\n  pcVar36 = *(code **)(pcVar36 + -0x7b28);\n  pcVar37 = FUN_000b6188;\n  iVar5 = iStack_18c;\n  (*pcVar36)();\n  piVar23 = *(int **)(pcVar36 + 0xdac9c);\n  iVar28 = *(int *)(iVar5 + 0x5c);\n  iStack_204 = *piVar23;\n  pppppdStack_200 = (double *****)ppppppdVar16;\n  iStack_1fc = iVar20;\n  pppppdStack_1f8 = (double *****)ppppppdVar15;\n  pppppdStack_1f4 = (double *****)ppppppdVar22;\n  pppppdStack_1f0 = (double *****)ppppppdVar29;\n  pcStack_1ec = pcVar4;\n  piStack_1e8 = piVar31;\n  pppppdStack_1e4 = (double *****)ppppppdVar33;\n  pppppdStack_1e0 = (double *****)ppppppdVar6;\n  pcStack_1dc = pcVar37;\n  if (iVar28 != 0) {\n    iVar20 = *(int *)(iVar5 + 0x4c);\n    iVar25 = 0;\n    if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }\n    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);\n  }\n  ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n  *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n  if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n  if (*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)) {\nLAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;\n    goto LAB_000b6458;\n  }\n  (*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5);\n  iVar28 = *(int *)(iVar5 + 8);\n  iVar20 = *(int *)(iVar5 + 0xc);\n  iVar25 = *(int *)(pcVar36 + 0xdaa20);\n  *(int *)(iVar5 + 4) = iVar28;\n  *(int *)(iVar5 + 8) = iVar28 + 1;\n  bVar1 = *(byte *)(iVar20 + iVar28);\n  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }\n    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);\n    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar5 + 0x30) = 0;\n    iStack_208 = iStack_208 - iVar28;\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;\n    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;\n    iVar28 = *(int *)(iVar5 + 0x4c) * 8;\n    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);\n    (**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);\n    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n    *(int *)(iVar5 + 0x58) = iVar28;\n    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;\n    ppppppdVar16 = (double ******)pppppdStack_20c;\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;\n    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n    iVar28 = *(int *)(iVar5 + 8);\n    *(int *)(iVar5 + 4) = iVar28;\n    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;\n    iVar20 = *(int *)(iVar5 + 0xc);\n    *(int *)(iVar5 + 8) = iVar28 + 1;\n    bVar1 = *(byte *)(iVar20 + iVar28);\n  }\n  if ((*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }\nLAB_000b653c:\n  (**(code **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c);\n  ppppppdVar16 = (double ******)&DAT_0000000b;\n  *(undefined4 *)(iVar5 + 0x40) = 0xb;\nLAB_000b6458:\n  while (iStack_204 != *piVar23) {\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }\n  return ppppppdVar16;\ncode_r0x000b6070:\n  ppppppdVar30 = *(double *******)pdVar12;\n  ppppppdVar17 = *(double *******)((int)pdVar12 + 4);\n  dVar38 = *pdVar12;\n  uVar3 = *(ushort *)(ppppppdVar24 + 2);\n  ppppppdVar14 = (double ******)(uVar3 & 0x2400);\n  ppppppdVar21 = ppppppdVar34;\n  if (pcVar4 == (code *)0x1) {\n    if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }\n  }\n  else {\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }\n  ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15);\n  ppppppdVar6[2] = ppppppdVar6[2] + 2;\n  if (ppppppdVar29 == (double ******)0x0) {\n    ppppppdVar7 = (double ******)0x0;\n    ppppppdVar33 = ppppppdVar34;\n    pcVar36 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }\n  goto LAB_000b5dac;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "code cVar2;" (type_identifier "code") (identifier "cVar2") (; ";")) (declaration "ushort uVar3;" (type_identifier "ushort") (identifier "uVar3") (; ";")) (declaration "code *pcVar4;" (type_identifier "code") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "double ******ppppppdVar6;" (primitive_type "double") (pointer_declarator "******ppppppdVar6" (* "*") (pointer_declarator "*****ppppppdVar6" (* "*") (pointer_declarator "****ppppppdVar6" (* "*") (pointer_declarator "***ppppppdVar6" (* "*") (pointer_declarator "**ppppppdVar6" (* "*") (pointer_declarator "*ppppppdVar6" (* "*") (identifier "ppppppdVar6"))))))) (; ";")) (declaration "double ******ppppppdVar7;" (primitive_type "double") (pointer_declarator "******ppppppdVar7" (* "*") (pointer_declarator "*****ppppppdVar7" (* "*") (pointer_declarator "****ppppppdVar7" (* "*") (pointer_declarator "***ppppppdVar7" (* "*") (pointer_declarator "**ppppppdVar7" (* "*") (pointer_declarator "*ppppppdVar7" (* "*") (identifier "ppppppdVar7"))))))) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "double *****pppppdVar10;" (primitive_type "double") (pointer_declarator "*****pppppdVar10" (* "*") (pointer_declarator "****pppppdVar10" (* "*") (pointer_declarator "***pppppdVar10" (* "*") (pointer_declarator "**pppppdVar10" (* "*") (pointer_declarator "*pppppdVar10" (* "*") (identifier "pppppdVar10")))))) (; ";")) (declaration "byte *pbVar11;" (type_identifier "byte") (pointer_declarator "*pbVar11" (* "*") (identifier "pbVar11")) (; ";")) (declaration "double *pdVar12;" (primitive_type "double") (pointer_declarator "*pdVar12" (* "*") (identifier "pdVar12")) (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "double ******ppppppdVar14;" (primitive_type "double") (pointer_declarator "******ppppppdVar14" (* "*") (pointer_declarator "*****ppppppdVar14" (* "*") (pointer_declarator "****ppppppdVar14" (* "*") (pointer_declarator "***ppppppdVar14" (* "*") (pointer_declarator "**ppppppdVar14" (* "*") (pointer_declarator "*ppppppdVar14" (* "*") (identifier "ppppppdVar14"))))))) (; ";")) (declaration "double ******ppppppdVar15;" (primitive_type "double") (pointer_declarator "******ppppppdVar15" (* "*") (pointer_declarator "*****ppppppdVar15" (* "*") (pointer_declarator "****ppppppdVar15" (* "*") (pointer_declarator "***ppppppdVar15" (* "*") (pointer_declarator "**ppppppdVar15" (* "*") (pointer_declarator "*ppppppdVar15" (* "*") (identifier "ppppppdVar15"))))))) (; ";")) (declaration "double ******ppppppdVar16;" (primitive_type "double") (pointer_declarator "******ppppppdVar16" (* "*") (pointer_declarator "*****ppppppdVar16" (* "*") (pointer_declarator "****ppppppdVar16" (* "*") (pointer_declarator "***ppppppdVar16" (* "*") (pointer_declarator "**ppppppdVar16" (* "*") (pointer_declarator "*ppppppdVar16" (* "*") (identifier "ppppppdVar16"))))))) (; ";")) (declaration "double ******ppppppdVar17;" (primitive_type "double") (pointer_declarator "******ppppppdVar17" (* "*") (pointer_declarator "*****ppppppdVar17" (* "*") (pointer_declarator "****ppppppdVar17" (* "*") (pointer_declarator "***ppppppdVar17" (* "*") (pointer_declarator "**ppppppdVar17" (* "*") (pointer_declarator "*ppppppdVar17" (* "*") (identifier "ppppppdVar17"))))))) (; ";")) (declaration "undefined4 uVar18;" (type_identifier "undefined4") (identifier "uVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "double ******unaff_s0;" (primitive_type "double") (pointer_declarator "******unaff_s0" (* "*") (pointer_declarator "*****unaff_s0" (* "*") (pointer_declarator "****unaff_s0" (* "*") (pointer_declarator "***unaff_s0" (* "*") (pointer_declarator "**unaff_s0" (* "*") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0"))))))) (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "double ******ppppppdVar21;" (primitive_type "double") (pointer_declarator "******ppppppdVar21" (* "*") (pointer_declarator "*****ppppppdVar21" (* "*") (pointer_declarator "****ppppppdVar21" (* "*") (pointer_declarator "***ppppppdVar21" (* "*") (pointer_declarator "**ppppppdVar21" (* "*") (pointer_declarator "*ppppppdVar21" (* "*") (identifier "ppppppdVar21"))))))) (; ";")) (declaration "double ******unaff_s1;" (primitive_type "double") (pointer_declarator "******unaff_s1" (* "*") (pointer_declarator "*****unaff_s1" (* "*") (pointer_declarator "****unaff_s1" (* "*") (pointer_declarator "***unaff_s1" (* "*") (pointer_declarator "**unaff_s1" (* "*") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1"))))))) (; ";")) (declaration "double ******ppppppdVar22;" (primitive_type "double") (pointer_declarator "******ppppppdVar22" (* "*") (pointer_declarator "*****ppppppdVar22" (* "*") (pointer_declarator "****ppppppdVar22" (* "*") (pointer_declarator "***ppppppdVar22" (* "*") (pointer_declarator "**ppppppdVar22" (* "*") (pointer_declarator "*ppppppdVar22" (* "*") (identifier "ppppppdVar22"))))))) (; ";")) (declaration "double ******unaff_s2;" (primitive_type "double") (pointer_declarator "******unaff_s2" (* "*") (pointer_declarator "*****unaff_s2" (* "*") (pointer_declarator "****unaff_s2" (* "*") (pointer_declarator "***unaff_s2" (* "*") (pointer_declarator "**unaff_s2" (* "*") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2"))))))) (; ";")) (declaration "int *piVar23;" (primitive_type "int") (pointer_declarator "*piVar23" (* "*") (identifier "piVar23")) (; ";")) (declaration "double ******ppppppdVar24;" (primitive_type "double") (pointer_declarator "******ppppppdVar24" (* "*") (pointer_declarator "*****ppppppdVar24" (* "*") (pointer_declarator "****ppppppdVar24" (* "*") (pointer_declarator "***ppppppdVar24" (* "*") (pointer_declarator "**ppppppdVar24" (* "*") (pointer_declarator "*ppppppdVar24" (* "*") (identifier "ppppppdVar24"))))))) (; ";")) (declaration "int iVar25;" (primitive_type "int") (identifier "iVar25") (; ";")) (declaration "undefined *unaff_s3;" (type_identifier "undefined") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")) (; ";")) (declaration "undefined *puVar26;" (type_identifier "undefined") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "int iVar28;" (primitive_type "int") (identifier "iVar28") (; ";")) (declaration "double ******ppppppdVar29;" (primitive_type "double") (pointer_declarator "******ppppppdVar29" (* "*") (pointer_declarator "*****ppppppdVar29" (* "*") (pointer_declarator "****ppppppdVar29" (* "*") (pointer_declarator "***ppppppdVar29" (* "*") (pointer_declarator "**ppppppdVar29" (* "*") (pointer_declarator "*ppppppdVar29" (* "*") (identifier "ppppppdVar29"))))))) (; ";")) (declaration "double ******ppppppdVar30;" (primitive_type "double") (pointer_declarator "******ppppppdVar30" (* "*") (pointer_declarator "*****ppppppdVar30" (* "*") (pointer_declarator "****ppppppdVar30" (* "*") (pointer_declarator "***ppppppdVar30" (* "*") (pointer_declarator "**ppppppdVar30" (* "*") (pointer_declarator "*ppppppdVar30" (* "*") (identifier "ppppppdVar30"))))))) (; ";")) (declaration "int unaff_s6;" (primitive_type "int") (identifier "unaff_s6") (; ";")) (declaration "int *piVar31;" (primitive_type "int") (pointer_declarator "*piVar31" (* "*") (identifier "piVar31")) (; ";")) (declaration "undefined4 *puVar32;" (type_identifier "undefined4") (pointer_declarator "*puVar32" (* "*") (identifier "puVar32")) (; ";")) (declaration "double ******unaff_s7;" (primitive_type "double") (pointer_declarator "******unaff_s7" (* "*") (pointer_declarator "*****unaff_s7" (* "*") (pointer_declarator "****unaff_s7" (* "*") (pointer_declarator "***unaff_s7" (* "*") (pointer_declarator "**unaff_s7" (* "*") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7"))))))) (; ";")) (declaration "double ******ppppppdVar33;" (primitive_type "double") (pointer_declarator "******ppppppdVar33" (* "*") (pointer_declarator "*****ppppppdVar33" (* "*") (pointer_declarator "****ppppppdVar33" (* "*") (pointer_declarator "***ppppppdVar33" (* "*") (pointer_declarator "**ppppppdVar33" (* "*") (pointer_declarator "*ppppppdVar33" (* "*") (identifier "ppppppdVar33"))))))) (; ";")) (declaration "double ******ppppppdVar34;" (primitive_type "double") (pointer_declarator "******ppppppdVar34" (* "*") (pointer_declarator "*****ppppppdVar34" (* "*") (pointer_declarator "****ppppppdVar34" (* "*") (pointer_declarator "***ppppppdVar34" (* "*") (pointer_declarator "**ppppppdVar34" (* "*") (pointer_declarator "*ppppppdVar34" (* "*") (identifier "ppppppdVar34"))))))) (; ";")) (declaration "undefined *puVar35;" (type_identifier "undefined") (pointer_declarator "*puVar35" (* "*") (identifier "puVar35")) (; ";")) (declaration "double ******unaff_s8;" (primitive_type "double") (pointer_declarator "******unaff_s8" (* "*") (pointer_declarator "*****unaff_s8" (* "*") (pointer_declarator "****unaff_s8" (* "*") (pointer_declarator "***unaff_s8" (* "*") (pointer_declarator "**unaff_s8" (* "*") (pointer_declarator "*unaff_s8" (* "*") (identifier "unaff_s8"))))))) (; ";")) (declaration "code *pcVar36;" (type_identifier "code") (pointer_declarator "*pcVar36" (* "*") (identifier "pcVar36")) (; ";")) (declaration "code *pcVar37;" (type_identifier "code") (pointer_declarator "*pcVar37" (* "*") (identifier "pcVar37")) (; ";")) (declaration "double dVar38;" (primitive_type "double") (identifier "dVar38") (; ";")) (declaration "double *****pppppdStack_20c;" (primitive_type "double") (pointer_declarator "*****pppppdStack_20c" (* "*") (pointer_declarator "****pppppdStack_20c" (* "*") (pointer_declarator "***pppppdStack_20c" (* "*") (pointer_declarator "**pppppdStack_20c" (* "*") (pointer_declarator "*pppppdStack_20c" (* "*") (identifier "pppppdStack_20c")))))) (; ";")) (declaration "int iStack_208;" (primitive_type "int") (identifier "iStack_208") (; ";")) (declaration "int iStack_204;" (primitive_type "int") (identifier "iStack_204") (; ";")) (declaration "double *****pppppdStack_200;" (primitive_type "double") (pointer_declarator "*****pppppdStack_200" (* "*") (pointer_declarator "****pppppdStack_200" (* "*") (pointer_declarator "***pppppdStack_200" (* "*") (pointer_declarator "**pppppdStack_200" (* "*") (pointer_declarator "*pppppdStack_200" (* "*") (identifier "pppppdStack_200")))))) (; ";")) (declaration "int iStack_1fc;" (primitive_type "int") (identifier "iStack_1fc") (; ";")) (declaration "double *****pppppdStack_1f8;" (primitive_type "double") (pointer_declarator "*****pppppdStack_1f8" (* "*") (pointer_declarator "****pppppdStack_1f8" (* "*") (pointer_declarator "***pppppdStack_1f8" (* "*") (pointer_declarator "**pppppdStack_1f8" (* "*") (pointer_declarator "*pppppdStack_1f8" (* "*") (identifier "pppppdStack_1f8")))))) (; ";")) (declaration "double *****pppppdStack_1f4;" (primitive_type "double") (pointer_declarator "*****pppppdStack_1f4" (* "*") (pointer_declarator "****pppppdStack_1f4" (* "*") (pointer_declarator "***pppppdStack_1f4" (* "*") (pointer_declarator "**pppppdStack_1f4" (* "*") (pointer_declarator "*pppppdStack_1f4" (* "*") (identifier "pppppdStack_1f4")))))) (; ";")) (declaration "double *****pppppdStack_1f0;" (primitive_type "double") (pointer_declarator "*****pppppdStack_1f0" (* "*") (pointer_declarator "****pppppdStack_1f0" (* "*") (pointer_declarator "***pppppdStack_1f0" (* "*") (pointer_declarator "**pppppdStack_1f0" (* "*") (pointer_declarator "*pppppdStack_1f0" (* "*") (identifier "pppppdStack_1f0")))))) (; ";")) (declaration "code *pcStack_1ec;" (type_identifier "code") (pointer_declarator "*pcStack_1ec" (* "*") (identifier "pcStack_1ec")) (; ";")) (declaration "int *piStack_1e8;" (primitive_type "int") (pointer_declarator "*piStack_1e8" (* "*") (identifier "piStack_1e8")) (; ";")) (declaration "double *****pppppdStack_1e4;" (primitive_type "double") (pointer_declarator "*****pppppdStack_1e4" (* "*") (pointer_declarator "****pppppdStack_1e4" (* "*") (pointer_declarator "***pppppdStack_1e4" (* "*") (pointer_declarator "**pppppdStack_1e4" (* "*") (pointer_declarator "*pppppdStack_1e4" (* "*") (identifier "pppppdStack_1e4")))))) (; ";")) (declaration "double *****pppppdStack_1e0;" (primitive_type "double") (pointer_declarator "*****pppppdStack_1e0" (* "*") (pointer_declarator "****pppppdStack_1e0" (* "*") (pointer_declarator "***pppppdStack_1e0" (* "*") (pointer_declarator "**pppppdStack_1e0" (* "*") (pointer_declarator "*pppppdStack_1e0" (* "*") (identifier "pppppdStack_1e0")))))) (; ";")) (declaration "code *pcStack_1dc;" (type_identifier "code") (pointer_declarator "*pcStack_1dc" (* "*") (identifier "pcStack_1dc")) (; ";")) (declaration "int iStack_1c8;" (primitive_type "int") (identifier "iStack_1c8") (; ";")) (declaration "code *pcStack_1c0;" (type_identifier "code") (pointer_declarator "*pcStack_1c0" (* "*") (identifier "pcStack_1c0")) (; ";")) (declaration "double *****pppppdStack_1b4;" (primitive_type "double") (pointer_declarator "*****pppppdStack_1b4" (* "*") (pointer_declarator "****pppppdStack_1b4" (* "*") (pointer_declarator "***pppppdStack_1b4" (* "*") (pointer_declarator "**pppppdStack_1b4" (* "*") (pointer_declarator "*pppppdStack_1b4" (* "*") (identifier "pppppdStack_1b4")))))) (; ";")) (declaration "code *pcStack_1b0;" (type_identifier "code") (pointer_declarator "*pcStack_1b0" (* "*") (identifier "pcStack_1b0")) (; ";")) (declaration "code *pcStack_1ac;" (type_identifier "code") (pointer_declarator "*pcStack_1ac" (* "*") (identifier "pcStack_1ac")) (; ";")) (declaration "int iStack_1a8;" (primitive_type "int") (identifier "iStack_1a8") (; ";")) (declaration "double *****pppppdStack_1a4;" (primitive_type "double") (pointer_declarator "*****pppppdStack_1a4" (* "*") (pointer_declarator "****pppppdStack_1a4" (* "*") (pointer_declarator "***pppppdStack_1a4" (* "*") (pointer_declarator "**pppppdStack_1a4" (* "*") (pointer_declarator "*pppppdStack_1a4" (* "*") (identifier "pppppdStack_1a4")))))) (; ";")) (declaration "double *****pppppdStack_1a0;" (primitive_type "double") (pointer_declarator "*****pppppdStack_1a0" (* "*") (pointer_declarator "****pppppdStack_1a0" (* "*") (pointer_declarator "***pppppdStack_1a0" (* "*") (pointer_declarator "**pppppdStack_1a0" (* "*") (pointer_declarator "*pppppdStack_1a0" (* "*") (identifier "pppppdStack_1a0")))))) (; ";")) (declaration "double *****pppppdStack_19c;" (primitive_type "double") (pointer_declarator "*****pppppdStack_19c" (* "*") (pointer_declarator "****pppppdStack_19c" (* "*") (pointer_declarator "***pppppdStack_19c" (* "*") (pointer_declarator "**pppppdStack_19c" (* "*") (pointer_declarator "*pppppdStack_19c" (* "*") (identifier "pppppdStack_19c")))))) (; ";")) (declaration "double *****pppppdStack_198;" (primitive_type "double") (pointer_declarator "*****pppppdStack_198" (* "*") (pointer_declarator "****pppppdStack_198" (* "*") (pointer_declarator "***pppppdStack_198" (* "*") (pointer_declarator "**pppppdStack_198" (* "*") (pointer_declarator "*pppppdStack_198" (* "*") (identifier "pppppdStack_198")))))) (; ";")) (declaration "double *****pppppdStack_194;" (primitive_type "double") (pointer_declarator "*****pppppdStack_194" (* "*") (pointer_declarator "****pppppdStack_194" (* "*") (pointer_declarator "***pppppdStack_194" (* "*") (pointer_declarator "**pppppdStack_194" (* "*") (pointer_declarator "*pppppdStack_194" (* "*") (identifier "pppppdStack_194")))))) (; ";")) (declaration "int iStack_18c;" (primitive_type "int") (identifier "iStack_18c") (; ";")) (declaration "double *****pppppdStack_188;" (primitive_type "double") (pointer_declarator "*****pppppdStack_188" (* "*") (pointer_declarator "****pppppdStack_188" (* "*") (pointer_declarator "***pppppdStack_188" (* "*") (pointer_declarator "**pppppdStack_188" (* "*") (pointer_declarator "*pppppdStack_188" (* "*") (identifier "pppppdStack_188")))))) (; ";")) (declaration "int iStack_184;" (primitive_type "int") (identifier "iStack_184") (; ";")) (declaration "double *****pppppdStack_180;" (primitive_type "double") (pointer_declarator "*****pppppdStack_180" (* "*") (pointer_declarator "****pppppdStack_180" (* "*") (pointer_declarator "***pppppdStack_180" (* "*") (pointer_declarator "**pppppdStack_180" (* "*") (pointer_declarator "*pppppdStack_180" (* "*") (identifier "pppppdStack_180")))))) (; ";")) (declaration "double *****pppppdStack_17c;" (primitive_type "double") (pointer_declarator "*****pppppdStack_17c" (* "*") (pointer_declarator "****pppppdStack_17c" (* "*") (pointer_declarator "***pppppdStack_17c" (* "*") (pointer_declarator "**pppppdStack_17c" (* "*") (pointer_declarator "*pppppdStack_17c" (* "*") (identifier "pppppdStack_17c")))))) (; ";")) (declaration "double *****pppppdStack_178;" (primitive_type "double") (pointer_declarator "*****pppppdStack_178" (* "*") (pointer_declarator "****pppppdStack_178" (* "*") (pointer_declarator "***pppppdStack_178" (* "*") (pointer_declarator "**pppppdStack_178" (* "*") (pointer_declarator "*pppppdStack_178" (* "*") (identifier "pppppdStack_178")))))) (; ";")) (declaration "code *pcStack_174;" (type_identifier "code") (pointer_declarator "*pcStack_174" (* "*") (identifier "pcStack_174")) (; ";")) (declaration "undefined4 *puStack_170;" (type_identifier "undefined4") (pointer_declarator "*puStack_170" (* "*") (identifier "puStack_170")) (; ";")) (declaration "double *****pppppdStack_16c;" (primitive_type "double") (pointer_declarator "*****pppppdStack_16c" (* "*") (pointer_declarator "****pppppdStack_16c" (* "*") (pointer_declarator "***pppppdStack_16c" (* "*") (pointer_declarator "**pppppdStack_16c" (* "*") (pointer_declarator "*pppppdStack_16c" (* "*") (identifier "pppppdStack_16c")))))) (; ";")) (declaration "double *****pppppdStack_168;" (primitive_type "double") (pointer_declarator "*****pppppdStack_168" (* "*") (pointer_declarator "****pppppdStack_168" (* "*") (pointer_declarator "***pppppdStack_168" (* "*") (pointer_declarator "**pppppdStack_168" (* "*") (pointer_declarator "*pppppdStack_168" (* "*") (identifier "pppppdStack_168")))))) (; ";")) (declaration "code *pcStack_164;" (type_identifier "code") (pointer_declarator "*pcStack_164" (* "*") (identifier "pcStack_164")) (; ";")) (declaration "code *pcStack_148;" (type_identifier "code") (pointer_declarator "*pcStack_148" (* "*") (identifier "pcStack_148")) (; ";")) (declaration "double *****pppppdStack_13c;" (primitive_type "double") (pointer_declarator "*****pppppdStack_13c" (* "*") (pointer_declarator "****pppppdStack_13c" (* "*") (pointer_declarator "***pppppdStack_13c" (* "*") (pointer_declarator "**pppppdStack_13c" (* "*") (pointer_declarator "*pppppdStack_13c" (* "*") (identifier "pppppdStack_13c")))))) (; ";")) (declaration "double ****ppppdStack_138;" (primitive_type "double") (pointer_declarator "****ppppdStack_138" (* "*") (pointer_declarator "***ppppdStack_138" (* "*") (pointer_declarator "**ppppdStack_138" (* "*") (pointer_declarator "*ppppdStack_138" (* "*") (identifier "ppppdStack_138"))))) (; ";")) (declaration "double *****pppppdStack_134;" (primitive_type "double") (pointer_declarator "*****pppppdStack_134" (* "*") (pointer_declarator "****pppppdStack_134" (* "*") (pointer_declarator "***pppppdStack_134" (* "*") (pointer_declarator "**pppppdStack_134" (* "*") (pointer_declarator "*pppppdStack_134" (* "*") (identifier "pppppdStack_134")))))) (; ";")) (declaration "double ****ppppdStack_130;" (primitive_type "double") (pointer_declarator "****ppppdStack_130" (* "*") (pointer_declarator "***ppppdStack_130" (* "*") (pointer_declarator "**ppppdStack_130" (* "*") (pointer_declarator "*ppppdStack_130" (* "*") (identifier "ppppdStack_130"))))) (; ";")) (declaration "double *****pppppdStack_12c;" (primitive_type "double") (pointer_declarator "*****pppppdStack_12c" (* "*") (pointer_declarator "****pppppdStack_12c" (* "*") (pointer_declarator "***pppppdStack_12c" (* "*") (pointer_declarator "**pppppdStack_12c" (* "*") (pointer_declarator "*pppppdStack_12c" (* "*") (identifier "pppppdStack_12c")))))) (; ";")) (declaration "int *piStack_128;" (primitive_type "int") (pointer_declarator "*piStack_128" (* "*") (identifier "piStack_128")) (; ";")) (declaration "double *****pppppdStack_124;" (primitive_type "double") (pointer_declarator "*****pppppdStack_124" (* "*") (pointer_declarator "****pppppdStack_124" (* "*") (pointer_declarator "***pppppdStack_124" (* "*") (pointer_declarator "**pppppdStack_124" (* "*") (pointer_declarator "*pppppdStack_124" (* "*") (identifier "pppppdStack_124")))))) (; ";")) (declaration "int iStack_120;" (primitive_type "int") (identifier "iStack_120") (; ";")) (declaration "int iStack_11c;" (primitive_type "int") (identifier "iStack_11c") (; ";")) (declaration "int *piStack_118;" (primitive_type "int") (pointer_declarator "*piStack_118" (* "*") (identifier "piStack_118")) (; ";")) (declaration "double *****pppppdStack_114;" (primitive_type "double") (pointer_declarator "*****pppppdStack_114" (* "*") (pointer_declarator "****pppppdStack_114" (* "*") (pointer_declarator "***pppppdStack_114" (* "*") (pointer_declarator "**pppppdStack_114" (* "*") (pointer_declarator "*pppppdStack_114" (* "*") (identifier "pppppdStack_114")))))) (; ";")) (declaration "double *****pppppdStack_110;" (primitive_type "double") (pointer_declarator "*****pppppdStack_110" (* "*") (pointer_declarator "****pppppdStack_110" (* "*") (pointer_declarator "***pppppdStack_110" (* "*") (pointer_declarator "**pppppdStack_110" (* "*") (pointer_declarator "*pppppdStack_110" (* "*") (identifier "pppppdStack_110")))))) (; ";")) (declaration "code *pcStack_10c;" (type_identifier "code") (pointer_declarator "*pcStack_10c" (* "*") (identifier "pcStack_10c")) (; ";")) (declaration "int iStack_f8;" (primitive_type "int") (identifier "iStack_f8") (; ";")) (declaration "code *pcStack_f0;" (type_identifier "code") (pointer_declarator "*pcStack_f0" (* "*") (identifier "pcStack_f0")) (; ";")) (declaration "uint uStack_e8;" (type_identifier "uint") (identifier "uStack_e8") (; ";")) (declaration "int iStack_e4;" (primitive_type "int") (identifier "iStack_e4") (; ";")) (declaration "double *****pppppdStack_dc;" (primitive_type "double") (pointer_declarator "*****pppppdStack_dc" (* "*") (pointer_declarator "****pppppdStack_dc" (* "*") (pointer_declarator "***pppppdStack_dc" (* "*") (pointer_declarator "**pppppdStack_dc" (* "*") (pointer_declarator "*pppppdStack_dc" (* "*") (identifier "pppppdStack_dc")))))) (; ";")) (declaration "double *****pppppdStack_d8;" (primitive_type "double") (pointer_declarator "*****pppppdStack_d8" (* "*") (pointer_declarator "****pppppdStack_d8" (* "*") (pointer_declarator "***pppppdStack_d8" (* "*") (pointer_declarator "**pppppdStack_d8" (* "*") (pointer_declarator "*pppppdStack_d8" (* "*") (identifier "pppppdStack_d8")))))) (; ";")) (declaration "double *****pppppdStack_d4;" (primitive_type "double") (pointer_declarator "*****pppppdStack_d4" (* "*") (pointer_declarator "****pppppdStack_d4" (* "*") (pointer_declarator "***pppppdStack_d4" (* "*") (pointer_declarator "**pppppdStack_d4" (* "*") (pointer_declarator "*pppppdStack_d4" (* "*") (identifier "pppppdStack_d4")))))) (; ";")) (declaration "undefined *puStack_d0;" (type_identifier "undefined") (pointer_declarator "*puStack_d0" (* "*") (identifier "puStack_d0")) (; ";")) (declaration "double *****pppppdStack_cc;" (primitive_type "double") (pointer_declarator "*****pppppdStack_cc" (* "*") (pointer_declarator "****pppppdStack_cc" (* "*") (pointer_declarator "***pppppdStack_cc" (* "*") (pointer_declarator "**pppppdStack_cc" (* "*") (pointer_declarator "*pppppdStack_cc" (* "*") (identifier "pppppdStack_cc")))))) (; ";")) (declaration "double *****pppppdStack_c8;" (primitive_type "double") (pointer_declarator "*****pppppdStack_c8" (* "*") (pointer_declarator "****pppppdStack_c8" (* "*") (pointer_declarator "***pppppdStack_c8" (* "*") (pointer_declarator "**pppppdStack_c8" (* "*") (pointer_declarator "*pppppdStack_c8" (* "*") (identifier "pppppdStack_c8")))))) (; ";")) (declaration "code *pcStack_c4;" (type_identifier "code") (pointer_declarator "*pcStack_c4" (* "*") (identifier "pcStack_c4")) (; ";")) (declaration "undefined *puStack_b0;" (type_identifier "undefined") (pointer_declarator "*puStack_b0" (* "*") (identifier "puStack_b0")) (; ";")) (declaration "double *****pppppdStack_a4;" (primitive_type "double") (pointer_declarator "*****pppppdStack_a4" (* "*") (pointer_declarator "****pppppdStack_a4" (* "*") (pointer_declarator "***pppppdStack_a4" (* "*") (pointer_declarator "**pppppdStack_a4" (* "*") (pointer_declarator "*pppppdStack_a4" (* "*") (identifier "pppppdStack_a4")))))) (; ";")) (declaration "double ****ppppdStack_a0;" (primitive_type "double") (pointer_declarator "****ppppdStack_a0" (* "*") (pointer_declarator "***ppppdStack_a0" (* "*") (pointer_declarator "**ppppdStack_a0" (* "*") (pointer_declarator "*ppppdStack_a0" (* "*") (identifier "ppppdStack_a0"))))) (; ";")) (declaration "int iStack_9c;" (primitive_type "int") (identifier "iStack_9c") (; ";")) (declaration "double *****pppppdStack_98;" (primitive_type "double") (pointer_declarator "*****pppppdStack_98" (* "*") (pointer_declarator "****pppppdStack_98" (* "*") (pointer_declarator "***pppppdStack_98" (* "*") (pointer_declarator "**pppppdStack_98" (* "*") (pointer_declarator "*pppppdStack_98" (* "*") (identifier "pppppdStack_98")))))) (; ";")) (declaration "double *****pppppdStack_94;" (primitive_type "double") (pointer_declarator "*****pppppdStack_94" (* "*") (pointer_declarator "****pppppdStack_94" (* "*") (pointer_declarator "***pppppdStack_94" (* "*") (pointer_declarator "**pppppdStack_94" (* "*") (pointer_declarator "*pppppdStack_94" (* "*") (identifier "pppppdStack_94")))))) (; ";")) (declaration "double *****pppppdStack_90;" (primitive_type "double") (pointer_declarator "*****pppppdStack_90" (* "*") (pointer_declarator "****pppppdStack_90" (* "*") (pointer_declarator "***pppppdStack_90" (* "*") (pointer_declarator "**pppppdStack_90" (* "*") (pointer_declarator "*pppppdStack_90" (* "*") (identifier "pppppdStack_90")))))) (; ";")) (declaration "undefined *puStack_8c;" (type_identifier "undefined") (pointer_declarator "*puStack_8c" (* "*") (identifier "puStack_8c")) (; ";")) (declaration "double *****pppppdStack_88;" (primitive_type "double") (pointer_declarator "*****pppppdStack_88" (* "*") (pointer_declarator "****pppppdStack_88" (* "*") (pointer_declarator "***pppppdStack_88" (* "*") (pointer_declarator "**pppppdStack_88" (* "*") (pointer_declarator "*pppppdStack_88" (* "*") (identifier "pppppdStack_88")))))) (; ";")) (declaration "double *****pppppdStack_84;" (primitive_type "double") (pointer_declarator "*****pppppdStack_84" (* "*") (pointer_declarator "****pppppdStack_84" (* "*") (pointer_declarator "***pppppdStack_84" (* "*") (pointer_declarator "**pppppdStack_84" (* "*") (pointer_declarator "*pppppdStack_84" (* "*") (identifier "pppppdStack_84")))))) (; ";")) (declaration "int iStack_80;" (primitive_type "int") (identifier "iStack_80") (; ";")) (declaration "double *****pppppdStack_7c;" (primitive_type "double") (pointer_declarator "*****pppppdStack_7c" (* "*") (pointer_declarator "****pppppdStack_7c" (* "*") (pointer_declarator "***pppppdStack_7c" (* "*") (pointer_declarator "**pppppdStack_7c" (* "*") (pointer_declarator "*pppppdStack_7c" (* "*") (identifier "pppppdStack_7c")))))) (; ";")) (declaration "double *****pppppdStack_78;" (primitive_type "double") (pointer_declarator "*****pppppdStack_78" (* "*") (pointer_declarator "****pppppdStack_78" (* "*") (pointer_declarator "***pppppdStack_78" (* "*") (pointer_declarator "**pppppdStack_78" (* "*") (pointer_declarator "*pppppdStack_78" (* "*") (identifier "pppppdStack_78")))))) (; ";")) (declaration "code *pcStack_74;" (type_identifier "code") (pointer_declarator "*pcStack_74" (* "*") (identifier "pcStack_74")) (; ";")) (declaration "double *****local_3c;" (primitive_type "double") (pointer_declarator "*****local_3c" (* "*") (pointer_declarator "****local_3c" (* "*") (pointer_declarator "***local_3c" (* "*") (pointer_declarator "**local_3c" (* "*") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")))))) (; ";")) (declaration "double *****local_38;" (primitive_type "double") (pointer_declarator "*****local_38" (* "*") (pointer_declarator "****local_38" (* "*") (pointer_declarator "***local_38" (* "*") (pointer_declarator "**local_38" (* "*") (pointer_declarator "*local_38" (* "*") (identifier "local_38")))))) (; ";")) (declaration "double *****local_34;" (primitive_type "double") (pointer_declarator "*****local_34" (* "*") (pointer_declarator "****local_34" (* "*") (pointer_declarator "***local_34" (* "*") (pointer_declarator "**local_34" (* "*") (pointer_declarator "*local_34" (* "*") (identifier "local_34")))))) (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "double *****local_2c;" (primitive_type "double") (pointer_declarator "*****local_2c" (* "*") (pointer_declarator "****local_2c" (* "*") (pointer_declarator "***local_2c" (* "*") (pointer_declarator "**local_2c" (* "*") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")))))) (; ";")) (expression_statement "puVar35 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar35 = PTR___stack_chk_guard_00190e24" (identifier "puVar35") (= "=") (identifier "PTR___stack_chk_guard_00190e24")) (; ";")) (expression_statement "local_3c = (double *****)0x0;" (assignment_expression "local_3c = (double *****)0x0" (identifier "local_3c") (= "=") (cast_expression "(double *****)0x0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_38 = (double *****)0x0;" (assignment_expression "local_38 = (double *****)0x0" (identifier "local_38") (= "=") (cast_expression "(double *****)0x0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_34 = (double *****)0x0;" (assignment_expression "local_34 = (double *****)0x0" (identifier "local_34") (= "=") (cast_expression "(double *****)0x0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_2c = *(double ******)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(double ******)PTR___stack_chk_guard_00190e24" (identifier "local_2c") (= "=") (pointer_expression "*(double ******)PTR___stack_chk_guard_00190e24" (* "*") (cast_expression "(double ******)PTR___stack_chk_guard_00190e24" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "PTR___stack_chk_guard_00190e24")))) (; ";")) (expression_statement "ppppppdVar17 = param_4;" (assignment_expression "ppppppdVar17 = param_4" (identifier "ppppppdVar17") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (param_2 == (double ******)0x0) {\n    ppppppdVar16 = param_3;\n    if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }\n  }\n  else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(param_2 == (double ******)0x0)" (( "(") (binary_expression "param_2 == (double ******)0x0" (identifier "param_2") (== "==") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    ppppppdVar16 = param_3;\n    if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }\n  }" ({ "{") (expression_statement "ppppppdVar16 = param_3;" (assignment_expression "ppppppdVar16 = param_3" (identifier "ppppppdVar16") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (param_3 == (double ******)0x0) {\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }" (if "if") (parenthesized_expression "(param_3 == (double ******)0x0)" (( "(") (binary_expression "param_3 == (double ******)0x0" (identifier "param_3") (== "==") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      ppppppdVar30 = (double ******)0x0;\n      goto LAB_000b57b8;\n    }" ({ "{") (expression_statement "ppppppdVar30 = (double ******)0x0;" (assignment_expression "ppppppdVar30 = (double ******)0x0" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000b57b8;" (goto "goto") (statement_identifier "LAB_000b57b8") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);\n    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);\n    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;\n    ppppppdVar15 = param_3;\n    ppppppdVar29 = param_2;\n    do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);\n    if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }\n  }" ({ "{") (expression_statement "pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290)" (identifier "pcVar4") (= "=") (cast_expression "(code *)(PTR_LAB_00190c2c + 0x5290)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190c2c + 0x5290)" (( "(") (binary_expression "PTR_LAB_00190c2c + 0x5290" (identifier "PTR_LAB_00190c2c") (+ "+") (number_literal "0x5290")) () ")")))) (; ";")) (expression_statement "unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);" (assignment_expression "unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224)" (identifier "unaff_s2") (= "=") (cast_expression "(double ******)(PTR_LAB_00190c2c + 0x5224)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(PTR_LAB_00190c2c + 0x5224)" (( "(") (binary_expression "PTR_LAB_00190c2c + 0x5224" (identifier "PTR_LAB_00190c2c") (+ "+") (number_literal "0x5224")) () ")")))) (; ";")) (expression_statement "unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;" (assignment_expression "unaff_s3 = PTR_LAB_00190c2c + 0x4ef4" (identifier "unaff_s3") (= "=") (binary_expression "PTR_LAB_00190c2c + 0x4ef4" (identifier "PTR_LAB_00190c2c") (+ "+") (number_literal "0x4ef4"))) (; ";")) (expression_statement "ppppppdVar15 = param_3;" (assignment_expression "ppppppdVar15 = param_3" (identifier "ppppppdVar15") (= "=") (identifier "param_3")) (; ";")) (expression_statement "ppppppdVar29 = param_2;" (assignment_expression "ppppppdVar29 = param_2" (identifier "ppppppdVar29") (= "=") (identifier "param_2")) (; ";")) (do_statement "do {\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    } while (ppppppdVar29 != (double ******)0x0);" (do "do") (compound_statement "{\n      if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }\n      local_38 = (double *****)ppppppdVar30;\n      local_34 = (double *****)ppppppdVar15;\n      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;\n    }" ({ "{") (if_statement "if (ppppppdVar29[6] == (double *****)0x0) {\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }\n      else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }" (if "if") (parenthesized_expression "(ppppppdVar29[6] == (double *****)0x0)" (( "(") (binary_expression "ppppppdVar29[6] == (double *****)0x0" (subscript_expression "ppppppdVar29[6]" (identifier "ppppppdVar29") ([ "[") (number_literal "6") (] "]")) (== "==") (cast_expression "(double *****)0x0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n      }" ({ "{") (labeled_statement "LAB_000b5618:\n        ppppppdVar29 = (double ******)*ppppppdVar29;" (statement_identifier "LAB_000b5618") (: ":") (expression_statement "ppppppdVar29 = (double ******)*ppppppdVar29;" (assignment_expression "ppppppdVar29 = (double ******)*ppppppdVar29" (identifier "ppppppdVar29") (= "=") (cast_expression "(double ******)*ppppppdVar29" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*ppppppdVar29" (* "*") (identifier "ppppppdVar29")))) (; ";"))) (expression_statement "ppppppdVar16 = ppppppdVar15;" (assignment_expression "ppppppdVar16 = ppppppdVar15" (identifier "ppppppdVar16") (= "=") (identifier "ppppppdVar15")) (; ";")) (expression_statement "ppppppdVar30 = (double ******)local_38;" (assignment_expression "ppppppdVar30 = (double ******)local_38" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)local_38" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_38"))) (; ";")) (expression_statement "ppppppdVar15 = (double ******)local_34;" (assignment_expression "ppppppdVar15 = (double ******)local_34" (identifier "ppppppdVar15") (= "=") (cast_expression "(double ******)local_34" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_34"))) (; ";")) (} "}")) (else_clause "else {\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }" (else "else") (compound_statement "{\n        unaff_s0 = &local_3c;\n        unaff_s1 = &local_38;\n        param_2 = (double ******)*param_1;\n        ppppppdVar15 = ppppppdVar29;\n        ppppppdVar17 = unaff_s0;\n        (*pcVar4)(unaff_s1);\n        puVar26 = PTR_DAT_00190948;\n        pppppdVar10 = ppppppdVar29[7];\n        if ((int)pppppdVar10 < 1) goto LAB_000b5618;\n        unaff_s6 = 0;\n        do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);\n        ppppppdVar29 = (double ******)*ppppppdVar29;\n        ppppppdVar16 = ppppppdVar15;\n        ppppppdVar30 = (double ******)local_38;\n        ppppppdVar15 = (double ******)local_34;\n        unaff_s7 = (double ******)puVar26;\n      }" ({ "{") (expression_statement "unaff_s0 = &local_3c;" (assignment_expression "unaff_s0 = &local_3c" (identifier "unaff_s0") (= "=") (pointer_expression "&local_3c" (& "&") (identifier "local_3c"))) (; ";")) (expression_statement "unaff_s1 = &local_38;" (assignment_expression "unaff_s1 = &local_38" (identifier "unaff_s1") (= "=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (; ";")) (expression_statement "param_2 = (double ******)*param_1;" (assignment_expression "param_2 = (double ******)*param_1" (identifier "param_2") (= "=") (cast_expression "(double ******)*param_1" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (expression_statement "ppppppdVar15 = ppppppdVar29;" (assignment_expression "ppppppdVar15 = ppppppdVar29" (identifier "ppppppdVar15") (= "=") (identifier "ppppppdVar29")) (; ";")) (expression_statement "ppppppdVar17 = unaff_s0;" (assignment_expression "ppppppdVar17 = unaff_s0" (identifier "ppppppdVar17") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "(*pcVar4)(unaff_s1);" (call_expression "(*pcVar4)(unaff_s1)" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "(unaff_s1)" (( "(") (identifier "unaff_s1") () ")"))) (; ";")) (expression_statement "puVar26 = PTR_DAT_00190948;" (assignment_expression "puVar26 = PTR_DAT_00190948" (identifier "puVar26") (= "=") (identifier "PTR_DAT_00190948")) (; ";")) (expression_statement "pppppdVar10 = ppppppdVar29[7];" (assignment_expression "pppppdVar10 = ppppppdVar29[7]" (identifier "pppppdVar10") (= "=") (subscript_expression "ppppppdVar29[7]" (identifier "ppppppdVar29") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if ((int)pppppdVar10 < 1) goto LAB_000b5618;" (if "if") (parenthesized_expression "((int)pppppdVar10 < 1)" (( "(") (binary_expression "(int)pppppdVar10 < 1" (cast_expression "(int)pppppdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppdVar10")) (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_000b5618;" (goto "goto") (statement_identifier "LAB_000b5618") (; ";"))) (expression_statement "unaff_s6 = 0;" (assignment_expression "unaff_s6 = 0" (identifier "unaff_s6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        } while (unaff_s6 < (int)pppppdVar10);" (do "do") (compound_statement "{\n          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];\n          if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }\n          unaff_s6 = unaff_s6 + 1;\n        }" ({ "{") (expression_statement "unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];" (assignment_expression "unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6]" (identifier "unaff_s8") (= "=") (cast_expression "(double ******)ppppppdVar29[8][unaff_s6]" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppdVar29[8][unaff_s6]" (subscript_expression "ppppppdVar29[8]" (identifier "ppppppdVar29") ([ "[") (number_literal "8") (] "]")) ([ "[") (identifier "unaff_s6") (] "]")))) (; ";")) (if_statement "if (unaff_s8 != (double ******)0x0) {\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }" (if "if") (parenthesized_expression "(unaff_s8 != (double ******)0x0)" (( "(") (binary_expression "unaff_s8 != (double ******)0x0" (identifier "unaff_s8") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);\n            pppppdVar10 = ppppppdVar29[7];\n            unaff_s8 = (double ******)0x0;\n          }" ({ "{") (do_statement "do {\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            } while (unaff_s8 != (double ******)0x0);" (do "do") (compound_statement "{\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);\n              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);\n              ppppppdVar15 = (double ******)unaff_s8[2];\n              param_2 = (double ******)unaff_s8[3];\n              ppppppdVar17 = unaff_s0;\n              FUN_000b4ef4(unaff_s1);\n              if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }\n              unaff_s8 = (double ******)unaff_s8[4];\n            }" ({ "{") (expression_statement "FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);" (call_expression "FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0)" (identifier "FUN_000b5224") (argument_list "(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0)" (( "(") (identifier "unaff_s1") (, ",") (pointer_expression "*(code *)((int)unaff_s8 + 3)" (* "*") (cast_expression "(code *)((int)unaff_s8 + 3)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s8 + 3)" (( "(") (binary_expression "(int)unaff_s8 + 3" (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8")) (+ "+") (number_literal "3")) () ")")))) (, ",") (identifier "unaff_s0") () ")"))) (; ";")) (expression_statement "FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);" (call_expression "FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0)" (identifier "FUN_000b5224") (argument_list "(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0)" (( "(") (identifier "unaff_s1") (, ",") (pointer_expression "*(code *)((int)unaff_s8 + 7)" (* "*") (cast_expression "(code *)((int)unaff_s8 + 7)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s8 + 7)" (( "(") (binary_expression "(int)unaff_s8 + 7" (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8")) (+ "+") (number_literal "7")) () ")")))) (, ",") (identifier "unaff_s0") () ")"))) (; ";")) (expression_statement "ppppppdVar15 = (double ******)unaff_s8[2];" (assignment_expression "ppppppdVar15 = (double ******)unaff_s8[2]" (identifier "ppppppdVar15") (= "=") (cast_expression "(double ******)unaff_s8[2]" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "unaff_s8[2]" (identifier "unaff_s8") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "param_2 = (double ******)unaff_s8[3];" (assignment_expression "param_2 = (double ******)unaff_s8[3]" (identifier "param_2") (= "=") (cast_expression "(double ******)unaff_s8[3]" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "unaff_s8[3]" (identifier "unaff_s8") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "ppppppdVar17 = unaff_s0;" (assignment_expression "ppppppdVar17 = unaff_s0" (identifier "ppppppdVar17") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "FUN_000b4ef4(unaff_s1);" (call_expression "FUN_000b4ef4(unaff_s1)" (identifier "FUN_000b4ef4") (argument_list "(unaff_s1)" (( "(") (identifier "unaff_s1") () ")"))) (; ";")) (if_statement "if ((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }" (if "if") (parenthesized_expression "((((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34))" (( "(") (binary_expression "(((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&\n                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)" (parenthesized_expression "(((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0))" (( "(") (binary_expression "((double ******)local_3c == (double ******)0x0) &&\n                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)" (parenthesized_expression "((double ******)local_3c == (double ******)0x0)" (( "(") (binary_expression "(double ******)local_3c == (double ******)0x0" (cast_expression "(double ******)local_3c" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_3c")) (== "==") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)" (( "(") (comma_expression "ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0" (assignment_expression "ppppppdVar15 = (double ******)local_34" (identifier "ppppppdVar15") (= "=") (cast_expression "(double ******)local_34" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_34"))) (, ",") (binary_expression "param_3 != (double ******)0x0" (identifier "param_3") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)" (( "(") (comma_expression "param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34" (assignment_expression "param_2 = (double ******)local_38" (identifier "param_2") (= "=") (cast_expression "(double ******)local_38" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_38"))) (, ",") (binary_expression "*(int *)(puVar26 + -0xba0) <= (int)local_34" (pointer_expression "*(int *)(puVar26 + -0xba0)" (* "*") (cast_expression "(int *)(puVar26 + -0xba0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + -0xba0)" (( "(") (binary_expression "puVar26 + -0xba0" (identifier "puVar26") (+ "+") (number_literal "-0xba0")) () ")")))) (<= "<=") (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34")))) () ")"))) () ")")) (compound_statement "{\n                local_3c = (double *****)(*(code *)param_3)(param_4);\n                local_34 = (double *****)0x0;\n              }" ({ "{") (expression_statement "local_3c = (double *****)(*(code *)param_3)(param_4);" (assignment_expression "local_3c = (double *****)(*(code *)param_3)(param_4)" (identifier "local_3c") (= "=") (cast_expression "(double *****)(*(code *)param_3)(param_4)" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)param_3)(param_4)" (parenthesized_expression "(*(code *)param_3)" (( "(") (pointer_expression "*(code *)param_3" (* "*") (cast_expression "(code *)param_3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3"))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")"))))) (; ";")) (expression_statement "local_34 = (double *****)0x0;" (assignment_expression "local_34 = (double *****)0x0" (identifier "local_34") (= "=") (cast_expression "(double *****)0x0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "unaff_s8 = (double ******)unaff_s8[4];" (assignment_expression "unaff_s8 = (double ******)unaff_s8[4]" (identifier "unaff_s8") (= "=") (cast_expression "(double ******)unaff_s8[4]" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "unaff_s8[4]" (identifier "unaff_s8") ([ "[") (number_literal "4") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s8 != (double ******)0x0)" (( "(") (binary_expression "unaff_s8 != (double ******)0x0" (identifier "unaff_s8") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "pppppdVar10 = ppppppdVar29[7];" (assignment_expression "pppppdVar10 = ppppppdVar29[7]" (identifier "pppppdVar10") (= "=") (subscript_expression "ppppppdVar29[7]" (identifier "ppppppdVar29") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "unaff_s8 = (double ******)0x0;" (assignment_expression "unaff_s8 = (double ******)0x0" (identifier "unaff_s8") (= "=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "unaff_s6 = unaff_s6 + 1;" (assignment_expression "unaff_s6 = unaff_s6 + 1" (identifier "unaff_s6") (= "=") (binary_expression "unaff_s6 + 1" (identifier "unaff_s6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s6 < (int)pppppdVar10)" (( "(") (binary_expression "unaff_s6 < (int)pppppdVar10" (identifier "unaff_s6") (< "<") (cast_expression "(int)pppppdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppdVar10"))) () ")")) (; ";")) (expression_statement "ppppppdVar29 = (double ******)*ppppppdVar29;" (assignment_expression "ppppppdVar29 = (double ******)*ppppppdVar29" (identifier "ppppppdVar29") (= "=") (cast_expression "(double ******)*ppppppdVar29" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*ppppppdVar29" (* "*") (identifier "ppppppdVar29")))) (; ";")) (expression_statement "ppppppdVar16 = ppppppdVar15;" (assignment_expression "ppppppdVar16 = ppppppdVar15" (identifier "ppppppdVar16") (= "=") (identifier "ppppppdVar15")) (; ";")) (expression_statement "ppppppdVar30 = (double ******)local_38;" (assignment_expression "ppppppdVar30 = (double ******)local_38" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)local_38" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_38"))) (; ";")) (expression_statement "ppppppdVar15 = (double ******)local_34;" (assignment_expression "ppppppdVar15 = (double ******)local_34" (identifier "ppppppdVar15") (= "=") (cast_expression "(double ******)local_34" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_34"))) (; ";")) (expression_statement "unaff_s7 = (double ******)puVar26;" (assignment_expression "unaff_s7 = (double ******)puVar26" (identifier "unaff_s7") (= "=") (cast_expression "(double ******)puVar26" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "puVar26"))) (; ";")) (} "}")))) (expression_statement "local_38 = (double *****)ppppppdVar30;" (assignment_expression "local_38 = (double *****)ppppppdVar30" (identifier "local_38") (= "=") (cast_expression "(double *****)ppppppdVar30" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar30"))) (; ";")) (expression_statement "local_34 = (double *****)ppppppdVar15;" (assignment_expression "local_34 = (double *****)ppppppdVar15" (identifier "local_34") (= "=") (cast_expression "(double *****)ppppppdVar15" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar15"))) (; ";")) (if_statement "if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;" (if "if") (parenthesized_expression "((double ******)local_3c != (double ******)0x0)" (( "(") (binary_expression "(double ******)local_3c != (double ******)0x0" (cast_expression "(double ******)local_3c" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_3c")) (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b5730;" (goto "goto") (statement_identifier "LAB_000b5730") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(ppppppdVar29 != (double ******)0x0)" (( "(") (binary_expression "ppppppdVar29 != (double ******)0x0" (identifier "ppppppdVar29") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (param_3 == (double ******)0x0) {\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }\n    else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }" (if "if") (parenthesized_expression "(param_3 == (double ******)0x0)" (( "(") (binary_expression "param_3 == (double ******)0x0" (identifier "param_3") (== "==") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000b57b8:\n      local_38 = (double *****)0x0;\n      *param_6 = ppppppdVar30;\n      *param_5 = local_34;\n      ppppppdVar16 = (double ******)local_34;\n    }" ({ "{") (labeled_statement "LAB_000b57b8:\n      local_38 = (double *****)0x0;" (statement_identifier "LAB_000b57b8") (: ":") (expression_statement "local_38 = (double *****)0x0;" (assignment_expression "local_38 = (double *****)0x0" (identifier "local_38") (= "=") (cast_expression "(double *****)0x0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "*param_6 = ppppppdVar30;" (assignment_expression "*param_6 = ppppppdVar30" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (= "=") (identifier "ppppppdVar30")) (; ";")) (expression_statement "*param_5 = local_34;" (assignment_expression "*param_5 = local_34" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (identifier "local_34")) (; ";")) (expression_statement "ppppppdVar16 = (double ******)local_34;" (assignment_expression "ppppppdVar16 = (double ******)local_34" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)local_34" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_34"))) (; ";")) (} "}")) (else_clause "else {\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }" (else "else") (compound_statement "{\n      ppppppdVar16 = ppppppdVar15;\n      if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }\n    }" ({ "{") (expression_statement "ppppppdVar16 = ppppppdVar15;" (assignment_expression "ppppppdVar16 = ppppppdVar15" (identifier "ppppppdVar16") (= "=") (identifier "ppppppdVar15")) (; ";")) (if_statement "if (0 < (int)ppppppdVar15) {\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }" (if "if") (parenthesized_expression "(0 < (int)ppppppdVar15)" (( "(") (binary_expression "0 < (int)ppppppdVar15" (number_literal "0") (< "<") (cast_expression "(int)ppppppdVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar15"))) () ")")) (compound_statement "{\n        local_3c = (double *****)(*(code *)param_3)(param_4);\n        param_2 = ppppppdVar30;\n        ppppppdVar16 = ppppppdVar15;\n      }" ({ "{") (expression_statement "local_3c = (double *****)(*(code *)param_3)(param_4);" (assignment_expression "local_3c = (double *****)(*(code *)param_3)(param_4)" (identifier "local_3c") (= "=") (cast_expression "(double *****)(*(code *)param_3)(param_4)" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)param_3)(param_4)" (parenthesized_expression "(*(code *)param_3)" (( "(") (pointer_expression "*(code *)param_3" (* "*") (cast_expression "(code *)param_3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3"))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")"))))) (; ";")) (expression_statement "param_2 = ppppppdVar30;" (assignment_expression "param_2 = ppppppdVar30" (identifier "param_2") (= "=") (identifier "ppppppdVar30")) (; ";")) (expression_statement "ppppppdVar16 = ppppppdVar15;" (assignment_expression "ppppppdVar16 = ppppppdVar15" (identifier "ppppppdVar16") (= "=") (identifier "ppppppdVar15")) (; ";")) (} "}"))) (} "}")))) (} "}")))) (labeled_statement "LAB_000b5730:\n  ppppppdVar30 = (double ******)local_38;" (statement_identifier "LAB_000b5730") (: ":") (expression_statement "ppppppdVar30 = (double ******)local_38;" (assignment_expression "ppppppdVar30 = (double ******)local_38" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)local_38" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_38"))) (; ";"))) (expression_statement "(*(code *)PTR_sqlite3_free_0019096c)(local_38);" (call_expression "(*(code *)PTR_sqlite3_free_0019096c)(local_38)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0019096c)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_free_0019096c" (* "*") (cast_expression "(code *)PTR_sqlite3_free_0019096c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_free_0019096c"))) () ")")) (argument_list "(local_38)" (( "(") (identifier "local_38") () ")"))) (; ";")) (if_statement "if ((double ******)local_2c == *(double *******)puVar35) {\n    return (double ******)local_3c;\n  }" (if "if") (parenthesized_expression "((double ******)local_2c == *(double *******)puVar35)" (( "(") (binary_expression "(double ******)local_2c == *(double *******)puVar35" (cast_expression "(double ******)local_2c" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_2c")) (== "==") (pointer_expression "*(double *******)puVar35" (* "*") (cast_expression "(double *******)puVar35" (( "(") (type_descriptor "double *******" (primitive_type "double") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "puVar35")))) () ")")) (compound_statement "{\n    return (double ******)local_3c;\n  }" ({ "{") (return_statement "return (double ******)local_3c;" (return "return") (cast_expression "(double ******)local_3c" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_3c")) (; ";")) (} "}"))) (expression_statement "pcVar4 = FUN_000b57e0;" (assignment_expression "pcVar4 = FUN_000b57e0" (identifier "pcVar4") (= "=") (identifier "FUN_000b57e0")) (; ";")) (expression_statement "ppppppdVar15 = (double ******)local_2c;" (assignment_expression "ppppppdVar15 = (double ******)local_2c" (identifier "ppppppdVar15") (= "=") (cast_expression "(double ******)local_2c" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_2c"))) (; ";")) (expression_statement "puVar35 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar35 = PTR___stack_chk_fail_00190df8" (identifier "puVar35") (= "=") (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_b0 = puVar35 + 0xe3140;" (assignment_expression "puStack_b0 = puVar35 + 0xe3140" (identifier "puStack_b0") (= "=") (binary_expression "puVar35 + 0xe3140" (identifier "puVar35") (+ "+") (number_literal "0xe3140"))) (; ";")) (expression_statement "piVar31 = *(int **)(puVar35 + 0xdb644);" (assignment_expression "piVar31 = *(int **)(puVar35 + 0xdb644)" (identifier "piVar31") (= "=") (pointer_expression "*(int **)(puVar35 + 0xdb644)" (* "*") (cast_expression "(int **)(puVar35 + 0xdb644)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + 0xdb644)" (( "(") (binary_expression "puVar35 + 0xdb644" (identifier "puVar35") (+ "+") (number_literal "0xdb644")) () ")"))))) (; ";")) (expression_statement "pppppdStack_a4 = (double *****)0x0;" (assignment_expression "pppppdStack_a4 = (double *****)0x0" (identifier "pppppdStack_a4") (= "=") (cast_expression "(double *****)0x0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iStack_9c = *piVar31;" (assignment_expression "iStack_9c = *piVar31" (identifier "iStack_9c") (= "=") (pointer_expression "*piVar31" (* "*") (identifier "piVar31"))) (; ";")) (expression_statement "ppppppdVar29 = (double ******)0x0;" (assignment_expression "ppppppdVar29 = (double ******)0x0" (identifier "ppppppdVar29") (= "=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppdVar14 = param_2;" (assignment_expression "ppppppdVar14 = param_2" (identifier "ppppppdVar14") (= "=") (identifier "param_2")) (; ";")) (expression_statement "ppppppdVar21 = unaff_s0;" (assignment_expression "ppppppdVar21 = unaff_s0" (identifier "ppppppdVar21") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "ppppppdVar24 = unaff_s2;" (assignment_expression "ppppppdVar24 = unaff_s2" (identifier "ppppppdVar24") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "pppppdStack_98 = (double *****)unaff_s0;" (assignment_expression "pppppdStack_98 = (double *****)unaff_s0" (identifier "pppppdStack_98") (= "=") (cast_expression "(double *****)unaff_s0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s0"))) (; ";")) (expression_statement "pppppdStack_94 = (double *****)unaff_s1;" (assignment_expression "pppppdStack_94 = (double *****)unaff_s1" (identifier "pppppdStack_94") (= "=") (cast_expression "(double *****)unaff_s1" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s1"))) (; ";")) (expression_statement "pppppdStack_90 = (double *****)unaff_s2;" (assignment_expression "pppppdStack_90 = (double *****)unaff_s2" (identifier "pppppdStack_90") (= "=") (cast_expression "(double *****)unaff_s2" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s2"))) (; ";")) (expression_statement "puStack_8c = unaff_s3;" (assignment_expression "puStack_8c = unaff_s3" (identifier "puStack_8c") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "pppppdStack_88 = (double *****)param_3;" (assignment_expression "pppppdStack_88 = (double *****)param_3" (identifier "pppppdStack_88") (= "=") (cast_expression "(double *****)param_3" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "param_3"))) (; ";")) (expression_statement "pppppdStack_84 = (double *****)ppppppdVar30;" (assignment_expression "pppppdStack_84 = (double *****)ppppppdVar30" (identifier "pppppdStack_84") (= "=") (cast_expression "(double *****)ppppppdVar30" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar30"))) (; ";")) (expression_statement "iStack_80 = unaff_s6;" (assignment_expression "iStack_80 = unaff_s6" (identifier "iStack_80") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "pppppdStack_7c = (double *****)unaff_s7;" (assignment_expression "pppppdStack_7c = (double *****)unaff_s7" (identifier "pppppdStack_7c") (= "=") (cast_expression "(double *****)unaff_s7" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s7"))) (; ";")) (expression_statement "pppppdStack_78 = (double *****)unaff_s8;" (assignment_expression "pppppdStack_78 = (double *****)unaff_s8" (identifier "pppppdStack_78") (= "=") (cast_expression "(double *****)unaff_s8" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s8"))) (; ";")) (expression_statement "pcStack_74 = pcVar4;" (assignment_expression "pcStack_74 = pcVar4" (identifier "pcStack_74") (= "=") (identifier "pcVar4")) (; ";")) (if_statement "if (ppppppdVar15[8] != (double *****)0x0) {\n    ppppppdVar21 = ppppppdVar15;\n    if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }\n  }" (if "if") (parenthesized_expression "(ppppppdVar15[8] != (double *****)0x0)" (( "(") (binary_expression "ppppppdVar15[8] != (double *****)0x0" (subscript_expression "ppppppdVar15[8]" (identifier "ppppppdVar15") ([ "[") (number_literal "8") (] "]")) (!= "!=") (cast_expression "(double *****)0x0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    ppppppdVar21 = ppppppdVar15;\n    if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }\n  }" ({ "{") (expression_statement "ppppppdVar21 = ppppppdVar15;" (assignment_expression "ppppppdVar21 = ppppppdVar15" (identifier "ppppppdVar21") (= "=") (identifier "ppppppdVar15")) (; ";")) (if_statement "if (ppppppdVar15[10] == (double *****)0x0) {\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }\n    else {\n      ppppppdVar29 = (double ******)0x0;\n    }" (if "if") (parenthesized_expression "(ppppppdVar15[10] == (double *****)0x0)" (( "(") (binary_expression "ppppppdVar15[10] == (double *****)0x0" (subscript_expression "ppppppdVar15[10]" (identifier "ppppppdVar15") ([ "[") (number_literal "10") (] "]")) (== "==") (cast_expression "(double *****)0x0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      ppppppdVar29 = (double ******)0x0;\n      ppppppdVar24 = param_2;\n      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }\n    }" ({ "{") (expression_statement "ppppppdVar29 = (double ******)0x0;" (assignment_expression "ppppppdVar29 = (double ******)0x0" (identifier "ppppppdVar29") (= "=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppdVar24 = param_2;" (assignment_expression "ppppppdVar24 = param_2" (identifier "ppppppdVar24") (= "=") (identifier "param_2")) (; ";")) (if_statement "if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }" (if "if") (parenthesized_expression "((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2]))" (( "(") (binary_expression "(int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])" (cast_expression "(int)ppppppdVar15[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppdVar15[4]" (identifier "ppppppdVar15") ([ "[") (number_literal "4") (] "]"))) (<= "<=") (cast_expression "(int)((int)param_2 + (int)ppppppdVar15[2])" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)param_2 + (int)ppppppdVar15[2])" (( "(") (binary_expression "(int)param_2 + (int)ppppppdVar15[2]" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (cast_expression "(int)ppppppdVar15[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppdVar15[2]" (identifier "ppppppdVar15") ([ "[") (number_literal "2") (] "]")))) () ")")))) () ")")) (compound_statement "{\n        param_3 = ppppppdVar15 + 5;\n        puVar26 = *(undefined **)(puVar35 + 0xdb168);\n        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);\n        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);\n        do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );\n      }" ({ "{") (expression_statement "param_3 = ppppppdVar15 + 5;" (assignment_expression "param_3 = ppppppdVar15 + 5" (identifier "param_3") (= "=") (binary_expression "ppppppdVar15 + 5" (identifier "ppppppdVar15") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "puVar26 = *(undefined **)(puVar35 + 0xdb168);" (assignment_expression "puVar26 = *(undefined **)(puVar35 + 0xdb168)" (identifier "puVar26") (= "=") (pointer_expression "*(undefined **)(puVar35 + 0xdb168)" (* "*") (cast_expression "(undefined **)(puVar35 + 0xdb168)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar35 + 0xdb168)" (( "(") (binary_expression "puVar35 + 0xdb168" (identifier "puVar35") (+ "+") (number_literal "0xdb168")) () ")"))))) (; ";")) (expression_statement "ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);" (assignment_expression "ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08)" (identifier "ppppppdVar22") (= "=") (cast_expression "(double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(puVar35 + 0xdb44c) + 0x4d08)" (( "(") (binary_expression "*(int *)(puVar35 + 0xdb44c) + 0x4d08" (pointer_expression "*(int *)(puVar35 + 0xdb44c)" (* "*") (cast_expression "(int *)(puVar35 + 0xdb44c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + 0xdb44c)" (( "(") (binary_expression "puVar35 + 0xdb44c" (identifier "puVar35") (+ "+") (number_literal "0xdb44c")) () ")")))) (+ "+") (number_literal "0x4d08")) () ")")))) (; ";")) (expression_statement "ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);" (assignment_expression "ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4)" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(puVar35 + 0xdb3c4) + 0x27a4)" (( "(") (binary_expression "*(int *)(puVar35 + 0xdb3c4) + 0x27a4" (pointer_expression "*(int *)(puVar35 + 0xdb3c4)" (* "*") (cast_expression "(int *)(puVar35 + 0xdb3c4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar35 + 0xdb3c4)" (( "(") (binary_expression "puVar35 + 0xdb3c4" (identifier "puVar35") (+ "+") (number_literal "0xdb3c4")) () ")")))) (+ "+") (number_literal "0x27a4")) () ")")))) (; ";")) (do_statement "do {\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        } while( true );" (do "do") (compound_statement "{\n          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);\n          if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }\n          ppppppdVar16 = &pppppdStack_a4;\n          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);\n          unaff_s1 = ppppppdVar22;\n          unaff_s3 = puVar26;\n          unaff_s7 = &pppppdStack_a4;\n          unaff_s8 = (double ******)&ppppdStack_a0;\n          if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }\n          ppppppdVar15[4] = pppppdVar10;\n          ppppppdVar15[3] = ppppppdVar15[5];\n          ppppppdVar29 = (double ******)pppppdStack_a4;\n          if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;\n        }" ({ "{") (expression_statement "ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);" (assignment_expression "ppppdStack_a0 = *(double *****)(puVar26 + -0xba0)" (identifier "ppppdStack_a0") (= "=") (pointer_expression "*(double *****)(puVar26 + -0xba0)" (* "*") (cast_expression "(double *****)(puVar26 + -0xba0)" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(puVar26 + -0xba0)" (( "(") (binary_expression "puVar26 + -0xba0" (identifier "puVar26") (+ "+") (number_literal "-0xba0")) () ")"))))) (; ";")) (if_statement "if (*ppppppdVar15 == (double *****)0x0) {\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }" (if "if") (parenthesized_expression "(*ppppppdVar15 == (double *****)0x0)" (( "(") (binary_expression "*ppppppdVar15 == (double *****)0x0" (pointer_expression "*ppppppdVar15" (* "*") (identifier "ppppppdVar15")) (== "==") (cast_expression "(double *****)0x0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            (*(code *)ppppppdVar30)(ppppppdVar15);\n          }" ({ "{") (expression_statement "(*(code *)ppppppdVar30)(ppppppdVar15);" (call_expression "(*(code *)ppppppdVar30)(ppppppdVar15)" (parenthesized_expression "(*(code *)ppppppdVar30)" (( "(") (pointer_expression "*(code *)ppppppdVar30" (* "*") (cast_expression "(code *)ppppppdVar30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppdVar30"))) () ")")) (argument_list "(ppppppdVar15)" (( "(") (identifier "ppppppdVar15") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppppdVar16 = &pppppdStack_a4;" (assignment_expression "ppppppdVar16 = &pppppdStack_a4" (identifier "ppppppdVar16") (= "=") (pointer_expression "&pppppdStack_a4" (& "&") (identifier "pppppdStack_a4"))) (; ";")) (expression_statement "iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);" (assignment_expression "iVar5 = FUN_000b4d08(param_3,ppppdStack_a0)" (identifier "iVar5") (= "=") (call_expression "FUN_000b4d08(param_3,ppppdStack_a0)" (identifier "FUN_000b4d08") (argument_list "(param_3,ppppdStack_a0)" (( "(") (identifier "param_3") (, ",") (identifier "ppppdStack_a0") () ")")))) (; ";")) (expression_statement "unaff_s1 = ppppppdVar22;" (assignment_expression "unaff_s1 = ppppppdVar22" (identifier "unaff_s1") (= "=") (identifier "ppppppdVar22")) (; ";")) (expression_statement "unaff_s3 = puVar26;" (assignment_expression "unaff_s3 = puVar26" (identifier "unaff_s3") (= "=") (identifier "puVar26")) (; ";")) (expression_statement "unaff_s7 = &pppppdStack_a4;" (assignment_expression "unaff_s7 = &pppppdStack_a4" (identifier "unaff_s7") (= "=") (pointer_expression "&pppppdStack_a4" (& "&") (identifier "pppppdStack_a4"))) (; ";")) (expression_statement "unaff_s8 = (double ******)&ppppdStack_a0;" (assignment_expression "unaff_s8 = (double ******)&ppppdStack_a0" (identifier "unaff_s8") (= "=") (cast_expression "(double ******)&ppppdStack_a0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&ppppdStack_a0" (& "&") (identifier "ppppdStack_a0")))) (; ";")) (if_statement "if (iVar5 == 0) {\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }\n          else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            ppppppdVar16 = (double ******)&ppppdStack_a0;\n            pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);\n            if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }\n            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n            ppppppdVar15[6] = pppppdVar10;\n          }" ({ "{") (expression_statement "ppppppdVar16 = (double ******)&ppppdStack_a0;" (assignment_expression "ppppppdVar16 = (double ******)&ppppdStack_a0" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)&ppppdStack_a0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&ppppdStack_a0" (& "&") (identifier "ppppdStack_a0")))) (; ";")) (expression_statement "pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);" (assignment_expression "pppppdStack_a4 =\n                 (double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6])" (identifier "pppppdStack_a4") (= "=") (cast_expression "(double *****)\n                 (*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6])" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)ppppppdVar15[8])\n                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6])" (parenthesized_expression "(*(code *)ppppppdVar15[8])" (( "(") (pointer_expression "*(code *)ppppppdVar15[8]" (* "*") (cast_expression "(code *)ppppppdVar15[8]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppppppdVar15[8]" (identifier "ppppppdVar15") ([ "[") (number_literal "8") (] "]")))) () ")")) (argument_list "(ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6])" (( "(") (subscript_expression "ppppppdVar15[9]" (identifier "ppppppdVar15") ([ "[") (number_literal "9") (] "]")) (, ",") (binary_expression "(int)ppppppdVar15[5] + (int)ppppppdVar15[6]" (cast_expression "(int)ppppppdVar15[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppdVar15[5]" (identifier "ppppppdVar15") ([ "[") (number_literal "5") (] "]"))) (+ "+") (cast_expression "(int)ppppppdVar15[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppdVar15[6]" (identifier "ppppppdVar15") ([ "[") (number_literal "6") (] "]")))) () ")"))))) (; ";")) (if_statement "if ((double *****)ppppdStack_a0 == (double *****)0x0) {\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }" (if "if") (parenthesized_expression "((double *****)ppppdStack_a0 == (double *****)0x0)" (( "(") (binary_expression "(double *****)ppppdStack_a0 == (double *****)0x0" (cast_expression "(double *****)ppppdStack_a0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppdStack_a0")) (== "==") (cast_expression "(double *****)0x0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              ppppppdVar15[4] = ppppppdVar15[6];\n              ppppppdVar15[10] = (double *****)0x1;\n              ppppppdVar15[3] = ppppppdVar15[5];\n              ppppppdVar29 = (double ******)pppppdStack_a4;\n              ppppppdVar14 = (double ******)0x1;\n              break;\n            }" ({ "{") (expression_statement "ppppppdVar15[4] = ppppppdVar15[6];" (assignment_expression "ppppppdVar15[4] = ppppppdVar15[6]" (subscript_expression "ppppppdVar15[4]" (identifier "ppppppdVar15") ([ "[") (number_literal "4") (] "]")) (= "=") (subscript_expression "ppppppdVar15[6]" (identifier "ppppppdVar15") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "ppppppdVar15[10] = (double *****)0x1;" (assignment_expression "ppppppdVar15[10] = (double *****)0x1" (subscript_expression "ppppppdVar15[10]" (identifier "ppppppdVar15") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(double *****)0x1" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppppppdVar15[3] = ppppppdVar15[5];" (assignment_expression "ppppppdVar15[3] = ppppppdVar15[5]" (subscript_expression "ppppppdVar15[3]" (identifier "ppppppdVar15") ([ "[") (number_literal "3") (] "]")) (= "=") (subscript_expression "ppppppdVar15[5]" (identifier "ppppppdVar15") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "ppppppdVar29 = (double ******)pppppdStack_a4;" (assignment_expression "ppppppdVar29 = (double ******)pppppdStack_a4" (identifier "ppppppdVar29") (= "=") (cast_expression "(double ******)pppppdStack_a4" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_a4"))) (; ";")) (expression_statement "ppppppdVar14 = (double ******)0x1;" (assignment_expression "ppppppdVar14 = (double ******)0x1" (identifier "ppppppdVar14") (= "=") (cast_expression "(double ******)0x1" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x1"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);" (assignment_expression "pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6])" (identifier "pppppdVar10") (= "=") (cast_expression "(double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6])" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)ppppdStack_a0 + (int)ppppppdVar15[6])" (( "(") (binary_expression "(int)ppppdStack_a0 + (int)ppppppdVar15[6]" (cast_expression "(int)ppppdStack_a0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppdStack_a0")) (+ "+") (cast_expression "(int)ppppppdVar15[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppdVar15[6]" (identifier "ppppppdVar15") ([ "[") (number_literal "6") (] "]")))) () ")")))) (; ";")) (expression_statement "ppppppdVar14 = (double ******)ppppppdVar15[10];" (assignment_expression "ppppppdVar14 = (double ******)ppppppdVar15[10]" (identifier "ppppppdVar14") (= "=") (cast_expression "(double ******)ppppppdVar15[10]" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppdVar15[10]" (identifier "ppppppdVar15") ([ "[") (number_literal "10") (] "]")))) (; ";")) (expression_statement "ppppppdVar15[6] = pppppdVar10;" (assignment_expression "ppppppdVar15[6] = pppppdVar10" (subscript_expression "ppppppdVar15[6]" (identifier "ppppppdVar15") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "pppppdVar10")) (; ";")) (} "}")) (else_clause "else {\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }" (else "else") (compound_statement "{\n            pppppdVar10 = ppppppdVar15[6];\n            ppppppdVar14 = (double ******)ppppppdVar15[10];\n          }" ({ "{") (expression_statement "pppppdVar10 = ppppppdVar15[6];" (assignment_expression "pppppdVar10 = ppppppdVar15[6]" (identifier "pppppdVar10") (= "=") (subscript_expression "ppppppdVar15[6]" (identifier "ppppppdVar15") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "ppppppdVar14 = (double ******)ppppppdVar15[10];" (assignment_expression "ppppppdVar14 = (double ******)ppppppdVar15[10]" (identifier "ppppppdVar14") (= "=") (cast_expression "(double ******)ppppppdVar15[10]" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppdVar15[10]" (identifier "ppppppdVar15") ([ "[") (number_literal "10") (] "]")))) (; ";")) (} "}")))) (expression_statement "ppppppdVar15[4] = pppppdVar10;" (assignment_expression "ppppppdVar15[4] = pppppdVar10" (subscript_expression "ppppppdVar15[4]" (identifier "ppppppdVar15") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "pppppdVar10")) (; ";")) (expression_statement "ppppppdVar15[3] = ppppppdVar15[5];" (assignment_expression "ppppppdVar15[3] = ppppppdVar15[5]" (subscript_expression "ppppppdVar15[3]" (identifier "ppppppdVar15") ([ "[") (number_literal "3") (] "]")) (= "=") (subscript_expression "ppppppdVar15[5]" (identifier "ppppppdVar15") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "ppppppdVar29 = (double ******)pppppdStack_a4;" (assignment_expression "ppppppdVar29 = (double ******)pppppdStack_a4" (identifier "ppppppdVar29") (= "=") (cast_expression "(double ******)pppppdStack_a4" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_a4"))) (; ";")) (if_statement "if (((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;" (if "if") (parenthesized_expression "(((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0))" (( "(") (binary_expression "((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||\n             ((double ******)pppppdStack_a4 != (double ******)0x0)" (parenthesized_expression "((ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10))" (( "(") (binary_expression "(ppppppdVar14 != (double ******)0x0) ||\n              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)" (parenthesized_expression "(ppppppdVar14 != (double ******)0x0)" (( "(") (binary_expression "ppppppdVar14 != (double ******)0x0" (identifier "ppppppdVar14") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)" (( "(") (binary_expression "(int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10" (cast_expression "(int)((int)param_2 + (int)ppppppdVar15[2])" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)param_2 + (int)ppppppdVar15[2])" (( "(") (binary_expression "(int)param_2 + (int)ppppppdVar15[2]" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (cast_expression "(int)ppppppdVar15[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppdVar15[2]" (identifier "ppppppdVar15") ([ "[") (number_literal "2") (] "]")))) () ")"))) (< "<") (cast_expression "(int)pppppdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppdVar10"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((double ******)pppppdStack_a4 != (double ******)0x0)" (( "(") (binary_expression "(double ******)pppppdStack_a4 != (double ******)0x0" (cast_expression "(double ******)pppppdStack_a4" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_a4")) (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      ppppppdVar29 = (double ******)0x0;\n    }" (else "else") (compound_statement "{\n      ppppppdVar29 = (double ******)0x0;\n    }" ({ "{") (expression_statement "ppppppdVar29 = (double ******)0x0;" (assignment_expression "ppppppdVar29 = (double ******)0x0" (identifier "ppppppdVar29") (= "=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (} "}"))) (if_statement "if (iStack_9c == *piVar31) {\n    return ppppppdVar29;\n  }" (if "if") (parenthesized_expression "(iStack_9c == *piVar31)" (( "(") (binary_expression "iStack_9c == *piVar31" (identifier "iStack_9c") (== "==") (pointer_expression "*piVar31" (* "*") (identifier "piVar31"))) () ")")) (compound_statement "{\n    return ppppppdVar29;\n  }" ({ "{") (return_statement "return ppppppdVar29;" (return "return") (identifier "ppppppdVar29") (; ";")) (} "}"))) (expression_statement "pcVar4 = *(code **)(puStack_b0 + -0x7b28);" (assignment_expression "pcVar4 = *(code **)(puStack_b0 + -0x7b28)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(puStack_b0 + -0x7b28)" (* "*") (cast_expression "(code **)(puStack_b0 + -0x7b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_b0 + -0x7b28)" (( "(") (binary_expression "puStack_b0 + -0x7b28" (identifier "puStack_b0") (+ "+") (number_literal "-0x7b28")) () ")"))))) (; ";")) (expression_statement "pcVar36 = FUN_000b5998;" (assignment_expression "pcVar36 = FUN_000b5998" (identifier "pcVar36") (= "=") (identifier "FUN_000b5998")) (; ";")) (expression_statement "iVar5 = iStack_9c;" (assignment_expression "iVar5 = iStack_9c" (identifier "iVar5") (= "=") (identifier "iStack_9c")) (; ";")) (expression_statement "pppppdStack_a4 = (double *****)ppppppdVar29;" (assignment_expression "pppppdStack_a4 = (double *****)ppppppdVar29" (identifier "pppppdStack_a4") (= "=") (cast_expression "(double *****)ppppppdVar29" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar29"))) (; ";")) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_f0 = pcVar4 + 0xe2f88;" (assignment_expression "pcStack_f0 = pcVar4 + 0xe2f88" (identifier "pcStack_f0") (= "=") (binary_expression "pcVar4 + 0xe2f88" (identifier "pcVar4") (+ "+") (number_literal "0xe2f88"))) (; ";")) (expression_statement "ppppppdVar29 = (double ******)&DAT_00000009;" (assignment_expression "ppppppdVar29 = (double ******)&DAT_00000009" (identifier "ppppppdVar29") (= "=") (cast_expression "(double ******)&DAT_00000009" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000009" (& "&") (identifier "DAT_00000009")))) (; ";")) (expression_statement "piVar23 = *(int **)(pcVar4 + 0xdb48c);" (assignment_expression "piVar23 = *(int **)(pcVar4 + 0xdb48c)" (identifier "piVar23") (= "=") (pointer_expression "*(int **)(pcVar4 + 0xdb48c)" (* "*") (cast_expression "(int **)(pcVar4 + 0xdb48c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar4 + 0xdb48c)" (( "(") (binary_expression "pcVar4 + 0xdb48c" (identifier "pcVar4") (+ "+") (number_literal "0xdb48c")) () ")"))))) (; ";")) (expression_statement "iVar28 = *(int *)(pcVar4 + 0xdb294);" (assignment_expression "iVar28 = *(int *)(pcVar4 + 0xdb294)" (identifier "iVar28") (= "=") (pointer_expression "*(int *)(pcVar4 + 0xdb294)" (* "*") (cast_expression "(int *)(pcVar4 + 0xdb294)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xdb294)" (( "(") (binary_expression "pcVar4 + 0xdb294" (identifier "pcVar4") (+ "+") (number_literal "0xdb294")) () ")"))))) (; ";")) (expression_statement "uStack_e8 = 0;" (assignment_expression "uStack_e8 = 0" (identifier "uStack_e8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_e4 = *piVar23;" (assignment_expression "iStack_e4 = *piVar23" (identifier "iStack_e4") (= "=") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) (; ";")) (expression_statement "pppppdStack_dc = (double *****)ppppppdVar21;" (assignment_expression "pppppdStack_dc = (double *****)ppppppdVar21" (identifier "pppppdStack_dc") (= "=") (cast_expression "(double *****)ppppppdVar21" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar21"))) (; ";")) (expression_statement "pppppdStack_d8 = (double *****)unaff_s1;" (assignment_expression "pppppdStack_d8 = (double *****)unaff_s1" (identifier "pppppdStack_d8") (= "=") (cast_expression "(double *****)unaff_s1" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s1"))) (; ";")) (expression_statement "pppppdStack_d4 = (double *****)ppppppdVar24;" (assignment_expression "pppppdStack_d4 = (double *****)ppppppdVar24" (identifier "pppppdStack_d4") (= "=") (cast_expression "(double *****)ppppppdVar24" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar24"))) (; ";")) (expression_statement "puStack_d0 = unaff_s3;" (assignment_expression "puStack_d0 = unaff_s3" (identifier "puStack_d0") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "pppppdStack_cc = (double *****)param_3;" (assignment_expression "pppppdStack_cc = (double *****)param_3" (identifier "pppppdStack_cc") (= "=") (cast_expression "(double *****)param_3" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "param_3"))) (; ";")) (expression_statement "pppppdStack_c8 = (double *****)ppppppdVar30;" (assignment_expression "pppppdStack_c8 = (double *****)ppppppdVar30" (identifier "pppppdStack_c8") (= "=") (cast_expression "(double *****)ppppppdVar30" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar30"))) (; ";")) (expression_statement "pcStack_c4 = pcVar36;" (assignment_expression "pcStack_c4 = pcVar36" (identifier "pcStack_c4") (= "=") (identifier "pcVar36")) (; ";")) (expression_statement "ppppppdVar30 = (double ******)FUN_000b57e0();" (assignment_expression "ppppppdVar30 = (double ******)FUN_000b57e0()" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)FUN_000b57e0()" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000b57e0()" (identifier "FUN_000b57e0") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (ppppppdVar30 == (double ******)0x0) {\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);\n    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);\n    iVar20 = iVar20 + uStack_e8;\n    if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }\n  }\n  else {\n    pppppdVar10 = (double *****)0x1;\n  }" (if "if") (parenthesized_expression "(ppppppdVar30 == (double ******)0x0)" (( "(") (binary_expression "ppppppdVar30 == (double ******)0x0" (identifier "ppppppdVar30") (== "==") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }\n    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);\n    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);\n    iVar20 = iVar20 + uStack_e8;\n    if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }\n  }" ({ "{") (expression_statement "pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));" (assignment_expression "pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" (identifier "pbVar11") (= "=") (cast_expression "(byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" (( "(") (binary_expression "*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) () ")")))) (; ";")) (expression_statement "bVar1 = *pbVar11;" (assignment_expression "bVar1 = *pbVar11" (identifier "bVar1") (= "=") (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11"))) (; ";")) (if_statement "if ((char)bVar1 < '\0') {\n      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }\n    else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\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      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);\n      if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }\n    }" ({ "{") (expression_statement "iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);" (assignment_expression "iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8)" (identifier "iVar20") (= "=") (call_expression "(*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))" (( "(") (pointer_expression "*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388)" (* "*") (cast_expression "(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7d78) + 0x3388)" (( "(") (binary_expression "*(int *)(pcStack_f0 + -0x7d78) + 0x3388" (pointer_expression "*(int *)(pcStack_f0 + -0x7d78)" (* "*") (cast_expression "(int *)(pcStack_f0 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7d78)" (( "(") (binary_expression "pcStack_f0 + -0x7d78" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7d78")) () ")")))) (+ "+") (number_literal "0x3388")) () ")")))) () ")")) (argument_list "(pbVar11,&uStack_e8)" (( "(") (identifier "pbVar11") (, ",") (pointer_expression "&uStack_e8" (& "&") (identifier "uStack_e8")) () ")")))) (; ";")) (if_statement "if (0x10000 < uStack_e8) {\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }" (if "if") (parenthesized_expression "(0x10000 < uStack_e8)" (( "(") (binary_expression "0x10000 < uStack_e8" (number_literal "0x10000") (< "<") (identifier "uStack_e8")) () ")")) (compound_statement "{\n        ppppppdVar17 = (double ******)&DAT_00030133;\n        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;\n        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);\n        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);\n        pppppdVar10 = (double *****)(iVar20 + 1);\n        (**(code **)(pcStack_f0 + -0x7d40))(0xb);\n        ppppppdVar30 = (double ******)&DAT_0000000b;\n        goto LAB_000b5ad4;\n      }" ({ "{") (expression_statement "ppppppdVar17 = (double ******)&DAT_00030133;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_00030133" (identifier "ppppppdVar17") (= "=") (cast_expression "(double ******)&DAT_00030133" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00030133" (& "&") (identifier "DAT_00030133")))) (; ";")) (expression_statement "iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;" (assignment_expression "iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c" (identifier "iStack_f8") (= "=") (binary_expression "*(int *)(pcStack_f0 + -0x7fc8) + 0x625c" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_f0 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7fc8)" (( "(") (binary_expression "pcStack_f0 + -0x7fc8" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x625c"))) (; ";")) (expression_statement "ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);" (assignment_expression "ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64)" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64)" (( "(") (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7fc4)" (( "(") (binary_expression "pcStack_f0 + -0x7fc4" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x5e64")) () ")")))) (; ";")) (expression_statement "ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);" (assignment_expression "ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378)" (identifier "ppppppdVar29") (= "=") (cast_expression "(double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378)" (( "(") (binary_expression "*(int *)(pcStack_f0 + -0x7fc4) + -0x6378" (pointer_expression "*(int *)(pcStack_f0 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_f0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7fc4)" (( "(") (binary_expression "pcStack_f0 + -0x7fc4" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x6378")) () ")")))) (; ";")) (expression_statement "pppppdVar10 = (double *****)(iVar20 + 1);" (assignment_expression "pppppdVar10 = (double *****)(iVar20 + 1)" (identifier "pppppdVar10") (= "=") (cast_expression "(double *****)(iVar20 + 1)" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar20 + 1)" (( "(") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcStack_f0 + -0x7d40))(0xb);" (call_expression "(**(code **)(pcStack_f0 + -0x7d40))(0xb)" (parenthesized_expression "(**(code **)(pcStack_f0 + -0x7d40))" (( "(") (pointer_expression "**(code **)(pcStack_f0 + -0x7d40)" (* "*") (pointer_expression "*(code **)(pcStack_f0 + -0x7d40)" (* "*") (cast_expression "(code **)(pcStack_f0 + -0x7d40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7d40)" (( "(") (binary_expression "pcStack_f0 + -0x7d40" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7d40")) () ")"))))) () ")")) (argument_list "(0xb)" (( "(") (number_literal "0xb") () ")"))) (; ";")) (expression_statement "ppppppdVar30 = (double ******)&DAT_0000000b;" (assignment_expression "ppppppdVar30 = (double ******)&DAT_0000000b" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)&DAT_0000000b" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_0000000b" (& "&") (identifier "DAT_0000000b")))) (; ";")) (goto_statement "goto LAB_000b5ad4;" (goto "goto") (statement_identifier "LAB_000b5ad4") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }" (else "else") (compound_statement "{\n      iVar20 = 1;\n      uStack_e8 = (uint)bVar1;\n    }" ({ "{") (expression_statement "iVar20 = 1;" (assignment_expression "iVar20 = 1" (identifier "iVar20") (= "=") (number_literal "1")) (; ";")) (expression_statement "uStack_e8 = (uint)bVar1;" (assignment_expression "uStack_e8 = (uint)bVar1" (identifier "uStack_e8") (= "=") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1"))) (; ";")) (} "}")))) (expression_statement "ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);" (assignment_expression "ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100)" (identifier "ppppppdVar29") (= "=") (cast_expression "(double ******)(iVar20 + uStack_e8 + 100)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(iVar20 + uStack_e8 + 100)" (( "(") (binary_expression "iVar20 + uStack_e8 + 100" (binary_expression "iVar20 + uStack_e8" (identifier "iVar20") (+ "+") (identifier "uStack_e8")) (+ "+") (number_literal "100")) () ")")))) (; ";")) (expression_statement "ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);" (assignment_expression "ppppppdVar30 = (double ******)FUN_000b57e0(iVar5)" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)FUN_000b57e0(iVar5)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000b57e0(iVar5)" (identifier "FUN_000b57e0") (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))))) (; ";")) (expression_statement "iVar20 = iVar20 + uStack_e8;" (assignment_expression "iVar20 = iVar20 + uStack_e8" (identifier "iVar20") (= "=") (binary_expression "iVar20 + uStack_e8" (identifier "iVar20") (+ "+") (identifier "uStack_e8"))) (; ";")) (if_statement "if (ppppppdVar30 == (double ******)0x0) {\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }\n    else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }" (if "if") (parenthesized_expression "(ppppppdVar30 == (double ******)0x0)" (( "(") (binary_expression "ppppppdVar30 == (double ******)0x0" (identifier "ppppppdVar30") (== "==") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);\n      pppppdVar10 = (double *****)(iVar20 + 1);\n      ppppppdVar30 = ppppppdVar15;\n    }" ({ "{") (do_statement "do {\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      } while (ppppppdVar15 == (double ******)0x0);" (do "do") (compound_statement "{\n        ppppppdVar29 = *(double *******)(iVar5 + 8);\n        ppppppdVar16 = *(double *******)(iVar5 + 0x10);\n        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }\n        ppppppdVar29 = (double ******)(iVar20 + 100);\n        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);\n      }" ({ "{") (expression_statement "ppppppdVar29 = *(double *******)(iVar5 + 8);" (assignment_expression "ppppppdVar29 = *(double *******)(iVar5 + 8)" (identifier "ppppppdVar29") (= "=") (pointer_expression "*(double *******)(iVar5 + 8)" (* "*") (cast_expression "(double *******)(iVar5 + 8)" (( "(") (type_descriptor "double *******" (primitive_type "double") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "ppppppdVar16 = *(double *******)(iVar5 + 0x10);" (assignment_expression "ppppppdVar16 = *(double *******)(iVar5 + 0x10)" (identifier "ppppppdVar16") (= "=") (pointer_expression "*(double *******)(iVar5 + 0x10)" (* "*") (cast_expression "(double *******)(iVar5 + 0x10)" (( "(") (type_descriptor "double *******" (primitive_type "double") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }" (if "if") (parenthesized_expression "(iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16)" (( "(") (binary_expression "iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16" (binary_expression "iVar20 + (int)ppppppdVar29" (identifier "iVar20") (+ "+") (cast_expression "(int)ppppppdVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar29"))) (< "<") (cast_expression "(int)ppppppdVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar16"))) () ")")) (compound_statement "{\n          ppppppdVar17 = *(double *******)(iVar5 + 0xc);\n          iVar25 = iVar20;\n          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }\n          while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }\n        }" ({ "{") (expression_statement "ppppppdVar17 = *(double *******)(iVar5 + 0xc);" (assignment_expression "ppppppdVar17 = *(double *******)(iVar5 + 0xc)" (identifier "ppppppdVar17") (= "=") (pointer_expression "*(double *******)(iVar5 + 0xc)" (* "*") (cast_expression "(double *******)(iVar5 + 0xc)" (( "(") (type_descriptor "double *******" (primitive_type "double") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar25 = iVar20;" (assignment_expression "iVar25 = iVar20" (identifier "iVar25") (= "=") (identifier "iVar20")) (; ";")) (if_statement "if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }" (if "if") (parenthesized_expression "(*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0)" (( "(") (binary_expression "*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0" (pointer_expression "*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29))" (* "*") (cast_expression "(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29))" (( "(") (binary_expression "(int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)" (cast_expression "(int)ppppppdVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar17")) (+ "+") (cast_expression "(int)(iVar20 + (int)ppppppdVar29)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar20 + (int)ppppppdVar29)" (( "(") (binary_expression "iVar20 + (int)ppppppdVar29" (identifier "iVar20") (+ "+") (cast_expression "(int)ppppppdVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar29"))) () ")")))) () ")")))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pppppdVar10 = (double *****)(iVar20 + 1);\n            goto LAB_000b5ad4;\n          }" ({ "{") (expression_statement "pppppdVar10 = (double *****)(iVar20 + 1);" (assignment_expression "pppppdVar10 = (double *****)(iVar20 + 1)" (identifier "pppppdVar10") (= "=") (cast_expression "(double *****)(iVar20 + 1)" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar20 + 1)" (( "(") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (goto_statement "goto LAB_000b5ad4;" (goto "goto") (statement_identifier "LAB_000b5ad4") (; ";")) (} "}"))) (while_statement "while( true ) {\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            iVar20 = iVar25 + 1;\n            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;\n            pppppdVar10 = (double *****)(iVar25 + 2);\n            iVar25 = iVar20;\n            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;\n          }" ({ "{") (expression_statement "iVar20 = iVar25 + 1;" (assignment_expression "iVar20 = iVar25 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar25 + 1" (identifier "iVar25") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;" (if "if") (parenthesized_expression "((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20)" (( "(") (binary_expression "(int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20" (cast_expression "(int)ppppppdVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar16")) (<= "<=") (binary_expression "(int)ppppppdVar29 + iVar20" (cast_expression "(int)ppppppdVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar29")) (+ "+") (identifier "iVar20"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pppppdVar10 = (double *****)(iVar25 + 2);" (assignment_expression "pppppdVar10 = (double *****)(iVar25 + 2)" (identifier "pppppdVar10") (= "=") (cast_expression "(double *****)(iVar25 + 2)" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar25 + 2)" (( "(") (binary_expression "iVar25 + 2" (identifier "iVar25") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "iVar25 = iVar20;" (assignment_expression "iVar25 = iVar20" (identifier "iVar25") (= "=") (identifier "iVar20")) (; ";")) (if_statement "if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)\n            goto LAB_000b5ad4;" (if "if") (parenthesized_expression "(*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)" (( "(") (binary_expression "*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0" (pointer_expression "*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20))" (* "*") (cast_expression "(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20))" (( "(") (binary_expression "(int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)" (cast_expression "(int)ppppppdVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar17")) (+ "+") (cast_expression "(int)((int)ppppppdVar29 + iVar20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)ppppppdVar29 + iVar20)" (( "(") (binary_expression "(int)ppppppdVar29 + iVar20" (cast_expression "(int)ppppppdVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar29")) (+ "+") (identifier "iVar20")) () ")")))) () ")")))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b5ad4;" (goto "goto") (statement_identifier "LAB_000b5ad4") (; ";"))) (} "}"))) (} "}"))) (expression_statement "ppppppdVar29 = (double ******)(iVar20 + 100);" (assignment_expression "ppppppdVar29 = (double ******)(iVar20 + 100)" (identifier "ppppppdVar29") (= "=") (cast_expression "(double ******)(iVar20 + 100)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(iVar20 + 100)" (( "(") (binary_expression "iVar20 + 100" (identifier "iVar20") (+ "+") (number_literal "100")) () ")")))) (; ";")) (expression_statement "ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);" (assignment_expression "ppppppdVar15 = (double ******)FUN_000b57e0(iVar5)" (identifier "ppppppdVar15") (= "=") (cast_expression "(double ******)FUN_000b57e0(iVar5)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000b57e0(iVar5)" (identifier "FUN_000b57e0") (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppppdVar15 == (double ******)0x0)" (( "(") (binary_expression "ppppppdVar15 == (double ******)0x0" (identifier "ppppppdVar15") (== "==") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "pppppdVar10 = (double *****)(iVar20 + 1);" (assignment_expression "pppppdVar10 = (double *****)(iVar20 + 1)" (identifier "pppppdVar10") (= "=") (cast_expression "(double *****)(iVar20 + 1)" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar20 + 1)" (( "(") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "ppppppdVar30 = ppppppdVar15;" (assignment_expression "ppppppdVar30 = ppppppdVar15" (identifier "ppppppdVar30") (= "=") (identifier "ppppppdVar15")) (; ";")) (} "}")) (else_clause "else {\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }" (else "else") (compound_statement "{\n      pppppdVar10 = (double *****)(iVar20 + 1);\n    }" ({ "{") (expression_statement "pppppdVar10 = (double *****)(iVar20 + 1);" (assignment_expression "pppppdVar10 = (double *****)(iVar20 + 1)" (identifier "pppppdVar10") (= "=") (cast_expression "(double *****)(iVar20 + 1)" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar20 + 1)" (( "(") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    pppppdVar10 = (double *****)0x1;\n  }" (else "else") (compound_statement "{\n    pppppdVar10 = (double *****)0x1;\n  }" ({ "{") (expression_statement "pppppdVar10 = (double *****)0x1;" (assignment_expression "pppppdVar10 = (double *****)0x1" (identifier "pppppdVar10") (= "=") (cast_expression "(double *****)0x1" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x1"))) (; ";")) (} "}")))) (labeled_statement "LAB_000b5ad4:\n  *ppppppdVar14 = pppppdVar10;" (statement_identifier "LAB_000b5ad4") (: ":") (expression_statement "*ppppppdVar14 = pppppdVar10;" (assignment_expression "*ppppppdVar14 = pppppdVar10" (pointer_expression "*ppppppdVar14" (* "*") (identifier "ppppppdVar14")) (= "=") (identifier "pppppdVar10")) (; ";"))) (if_statement "if (iStack_e4 == *piVar23) {\n    return ppppppdVar30;\n  }" (if "if") (parenthesized_expression "(iStack_e4 == *piVar23)" (( "(") (binary_expression "iStack_e4 == *piVar23" (identifier "iStack_e4") (== "==") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) () ")")) (compound_statement "{\n    return ppppppdVar30;\n  }" ({ "{") (return_statement "return ppppppdVar30;" (return "return") (identifier "ppppppdVar30") (; ";")) (} "}"))) (expression_statement "pcVar4 = *(code **)(pcStack_f0 + -0x7b28);" (assignment_expression "pcVar4 = *(code **)(pcStack_f0 + -0x7b28)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(pcStack_f0 + -0x7b28)" (* "*") (cast_expression "(code **)(pcStack_f0 + -0x7b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_f0 + -0x7b28)" (( "(") (binary_expression "pcStack_f0 + -0x7b28" (identifier "pcStack_f0") (+ "+") (number_literal "-0x7b28")) () ")"))))) (; ";")) (expression_statement "pcVar36 = FUN_000b5b8c;" (assignment_expression "pcVar36 = FUN_000b5b8c" (identifier "pcVar36") (= "=") (identifier "FUN_000b5b8c")) (; ";")) (expression_statement "iVar20 = iStack_e4;" (assignment_expression "iVar20 = iStack_e4" (identifier "iVar20") (= "=") (identifier "iStack_e4")) (; ";")) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_148 = pcVar4 + 0xe2d94;" (assignment_expression "pcStack_148 = pcVar4 + 0xe2d94" (identifier "pcStack_148") (= "=") (binary_expression "pcVar4 + 0xe2d94" (identifier "pcVar4") (+ "+") (number_literal "0xe2d94"))) (; ";")) (expression_statement "ppppppdVar33 = (double ******)&ppppdStack_138;" (assignment_expression "ppppppdVar33 = (double ******)&ppppdStack_138" (identifier "ppppppdVar33") (= "=") (cast_expression "(double ******)&ppppdStack_138" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&ppppdStack_138" (& "&") (identifier "ppppdStack_138")))) (; ";")) (expression_statement "ppppppdVar24 = (double ******)0x0;" (assignment_expression "ppppppdVar24 = (double ******)0x0" (identifier "ppppppdVar24") (= "=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppdVar21 = (double ******)0x0;" (assignment_expression "ppppppdVar21 = (double ******)0x0" (identifier "ppppppdVar21") (= "=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar32 = *(undefined4 **)(pcVar4 + 0xdb298);" (assignment_expression "puVar32 = *(undefined4 **)(pcVar4 + 0xdb298)" (identifier "puVar32") (= "=") (pointer_expression "*(undefined4 **)(pcVar4 + 0xdb298)" (* "*") (cast_expression "(undefined4 **)(pcVar4 + 0xdb298)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar4 + 0xdb298)" (( "(") (binary_expression "pcVar4 + 0xdb298" (identifier "pcVar4") (+ "+") (number_literal "0xdb298")) () ")"))))) (; ";")) (expression_statement "pppppdStack_134 = (double *****)*puVar32;" (assignment_expression "pppppdStack_134 = (double *****)*puVar32" (identifier "pppppdStack_134") (= "=") (cast_expression "(double *****)*puVar32" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "*puVar32" (* "*") (identifier "puVar32")))) (; ";")) (expression_statement "ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);" (assignment_expression "ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0)" (identifier "ppppppdVar22") (= "=") (cast_expression "(double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xdb0a0) + 0x57e0" (pointer_expression "*(int *)(pcVar4 + 0xdb0a0)" (* "*") (cast_expression "(int *)(pcVar4 + 0xdb0a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xdb0a0)" (( "(") (binary_expression "pcVar4 + 0xdb0a0" (identifier "pcVar4") (+ "+") (number_literal "0xdb0a0")) () ")")))) (+ "+") (number_literal "0x57e0")) () ")")))) (; ";")) (expression_statement "pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);" (assignment_expression "pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388)" (identifier "pcVar4") (= "=") (cast_expression "(code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar4 + 0xdb01c) + 0x3388)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xdb01c) + 0x3388" (pointer_expression "*(int *)(pcVar4 + 0xdb01c)" (* "*") (cast_expression "(int *)(pcVar4 + 0xdb01c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xdb01c)" (( "(") (binary_expression "pcVar4 + 0xdb01c" (identifier "pcVar4") (+ "+") (number_literal "0xdb01c")) () ")")))) (+ "+") (number_literal "0x3388")) () ")")))) (; ";")) (expression_statement "ppppppdVar6 = (double ******)0x0;" (assignment_expression "ppppppdVar6 = (double ******)0x0" (identifier "ppppppdVar6") (= "=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppdVar15 = ppppppdVar29;" (assignment_expression "ppppppdVar15 = ppppppdVar29" (identifier "ppppppdVar15") (= "=") (identifier "ppppppdVar29")) (; ";")) (expression_statement "pppppdStack_13c = (double *****)ppppppdVar16;" (assignment_expression "pppppdStack_13c = (double *****)ppppppdVar16" (identifier "pppppdStack_13c") (= "=") (cast_expression "(double *****)ppppppdVar16" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar16"))) (; ";")) (expression_statement "ppppdStack_130 = (double ****)pppppdVar10;" (assignment_expression "ppppdStack_130 = (double ****)pppppdVar10" (identifier "ppppdStack_130") (= "=") (cast_expression "(double ****)pppppdVar10" (( "(") (type_descriptor "double ****" (primitive_type "double") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppdVar10"))) (; ";")) (expression_statement "pppppdStack_12c = (double *****)ppppppdVar30;" (assignment_expression "pppppdStack_12c = (double *****)ppppppdVar30" (identifier "pppppdStack_12c") (= "=") (cast_expression "(double *****)ppppppdVar30" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar30"))) (; ";")) (expression_statement "piStack_128 = piVar23;" (assignment_expression "piStack_128 = piVar23" (identifier "piStack_128") (= "=") (identifier "piVar23")) (; ";")) (expression_statement "pppppdStack_124 = (double *****)ppppppdVar14;" (assignment_expression "pppppdStack_124 = (double *****)ppppppdVar14" (identifier "pppppdStack_124") (= "=") (cast_expression "(double *****)ppppppdVar14" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar14"))) (; ";")) (expression_statement "iStack_120 = iVar28 + 0x57e0;" (assignment_expression "iStack_120 = iVar28 + 0x57e0" (identifier "iStack_120") (= "=") (binary_expression "iVar28 + 0x57e0" (identifier "iVar28") (+ "+") (number_literal "0x57e0"))) (; ";")) (expression_statement "iStack_11c = iVar5;" (assignment_expression "iStack_11c = iVar5" (identifier "iStack_11c") (= "=") (identifier "iVar5")) (; ";")) (expression_statement "piStack_118 = piVar31;" (assignment_expression "piStack_118 = piVar31" (identifier "piStack_118") (= "=") (identifier "piVar31")) (; ";")) (expression_statement "pppppdStack_114 = (double *****)unaff_s7;" (assignment_expression "pppppdStack_114 = (double *****)unaff_s7" (identifier "pppppdStack_114") (= "=") (cast_expression "(double *****)unaff_s7" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s7"))) (; ";")) (expression_statement "pppppdStack_110 = (double *****)unaff_s8;" (assignment_expression "pppppdStack_110 = (double *****)unaff_s8" (identifier "pppppdStack_110") (= "=") (cast_expression "(double *****)unaff_s8" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s8"))) (; ";")) (expression_statement "pcStack_10c = pcVar36;" (assignment_expression "pcStack_10c = pcVar36" (identifier "pcStack_10c") (= "=") (identifier "pcVar36")) (; ";")) (if_statement "if (0 < (int)ppppppdVar29) {\n    do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));\n  }" (if "if") (parenthesized_expression "(0 < (int)ppppppdVar29)" (( "(") (binary_expression "0 < (int)ppppppdVar29" (number_literal "0") (< "<") (cast_expression "(int)ppppppdVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar29"))) () ")")) (compound_statement "{\n    do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));\n  }" ({ "{") (do_statement "do {\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    } while ((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));" (do "do") (compound_statement "{\n      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n      while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }\n      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);\n      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));\n      cVar2 = *pcVar36;\n      if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }\n      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);\n      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);\n      ppppppdVar15 = ppppppdVar21;\n      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n    }" ({ "{") (expression_statement "ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);" (assignment_expression "ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10)" (identifier "ppppppdVar15") (= "=") (cast_expression "(double ******)((int)ppppppdVar21 + 10)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppdVar21 + 10)" (( "(") (binary_expression "(int)ppppppdVar21 + 10" (cast_expression "(int)ppppppdVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar21")) (+ "+") (number_literal "10")) () ")")))) (; ";")) (while_statement "while( true ) {\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);\n        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;\n        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);\n        ppppppdVar17 = *(double *******)(iVar20 + 8);\n        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];\n        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);\n        if (uVar8 - 3 < 2) break;\n        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);\n        if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }\n        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);\n        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;\n      }" ({ "{") (expression_statement "ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);" (assignment_expression "ppppppdVar6 = (double ******)FUN_000b57e0(iVar20)" (identifier "ppppppdVar6") (= "=") (cast_expression "(double ******)FUN_000b57e0(iVar20)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000b57e0(iVar20)" (identifier "FUN_000b57e0") (argument_list "(iVar20)" (( "(") (identifier "iVar20") () ")"))))) (; ";")) (if_statement "if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;" (if "if") (parenthesized_expression "(ppppppdVar6 != (double ******)0x0)" (( "(") (binary_expression "ppppppdVar6 != (double ******)0x0" (identifier "ppppppdVar6") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b5c24;" (goto "goto") (statement_identifier "LAB_000b5c24") (; ";"))) (expression_statement "unaff_s8 = (double ******)((int)ppppppdVar21 + 1);" (assignment_expression "unaff_s8 = (double ******)((int)ppppppdVar21 + 1)" (identifier "unaff_s8") (= "=") (cast_expression "(double ******)((int)ppppppdVar21 + 1)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppdVar21 + 1)" (( "(") (binary_expression "(int)ppppppdVar21 + 1" (cast_expression "(int)ppppppdVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar21")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "ppppppdVar17 = *(double *******)(iVar20 + 8);" (assignment_expression "ppppppdVar17 = *(double *******)(iVar20 + 8)" (identifier "ppppppdVar17") (= "=") (pointer_expression "*(double *******)(iVar20 + 8)" (* "*") (cast_expression "(double *******)(iVar20 + 8)" (( "(") (type_descriptor "double *******" (primitive_type "double") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar20 + 8)" (( "(") (binary_expression "iVar20 + 8" (identifier "iVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21];" (assignment_expression "uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21]" (identifier "uVar8") (= "=") (subscript_expression "(uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))\n                            [(int)ppppppdVar21]" (call_expression "(uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))" (( "(") (cast_expression "(code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" (( "(") (binary_expression "(int)ppppppdVar17 + *(int *)(iVar20 + 0xc)" (cast_expression "(int)ppppppdVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar17")) (+ "+") (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")) () ")"))))) () ")"))) () ")"))) ([ "[") (cast_expression "(int)ppppppdVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar21")) (] "]"))) (; ";")) (expression_statement "ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);" (assignment_expression "ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1)" (identifier "ppppppdVar24") (= "=") (cast_expression "(double ******)((int)ppppppdVar24 + 1)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppdVar24 + 1)" (( "(") (binary_expression "(int)ppppppdVar24 + 1" (cast_expression "(int)ppppppdVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar24")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (uVar8 - 3 < 2) break;" (if "if") (parenthesized_expression "(uVar8 - 3 < 2)" (( "(") (binary_expression "uVar8 - 3 < 2" (binary_expression "uVar8 - 3" (identifier "uVar8") (- "-") (number_literal "3")) (< "<") (number_literal "2")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);" (assignment_expression "ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9)" (identifier "ppppppdVar21") (= "=") (cast_expression "(double ******)((int)ppppppdVar21 + 9)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppdVar21 + 9)" (( "(") (binary_expression "(int)ppppppdVar21 + 9" (cast_expression "(int)ppppppdVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar21")) (+ "+") (number_literal "9")) () ")")))) (; ";")) (if_statement "if (1 < uVar8 - 1) {\n          ppppppdVar21 = unaff_s8;\n        }" (if "if") (parenthesized_expression "(1 < uVar8 - 1)" (( "(") (binary_expression "1 < uVar8 - 1" (number_literal "1") (< "<") (binary_expression "uVar8 - 1" (identifier "uVar8") (- "-") (number_literal "1"))) () ")")) (compound_statement "{\n          ppppppdVar21 = unaff_s8;\n        }" ({ "{") (expression_statement "ppppppdVar21 = unaff_s8;" (assignment_expression "ppppppdVar21 = unaff_s8" (identifier "ppppppdVar21") (= "=") (identifier "unaff_s8")) (; ";")) (} "}"))) (expression_statement "ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);" (assignment_expression "ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10)" (identifier "ppppppdVar15") (= "=") (cast_expression "(double ******)((int)ppppppdVar21 + 10)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppdVar21 + 10)" (( "(") (binary_expression "(int)ppppppdVar21 + 10" (cast_expression "(int)ppppppdVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar21")) (+ "+") (number_literal "10")) () ")")))) (; ";")) (if_statement "if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;" (if "if") (parenthesized_expression "(ppppppdVar29 == ppppppdVar24)" (( "(") (binary_expression "ppppppdVar29 == ppppppdVar24" (identifier "ppppppdVar29") (== "==") (identifier "ppppppdVar24")) () ")")) (goto_statement "goto LAB_000b5c24;" (goto "goto") (statement_identifier "LAB_000b5c24") (; ";"))) (} "}"))) (expression_statement "ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);" (assignment_expression "ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8)" (identifier "ppppppdVar17") (= "=") (cast_expression "(double ******)((int)ppppppdVar17 + (int)unaff_s8)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppdVar17 + (int)unaff_s8)" (( "(") (binary_expression "(int)ppppppdVar17 + (int)unaff_s8" (cast_expression "(int)ppppppdVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar17")) (+ "+") (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8"))) () ")")))) (; ";")) (expression_statement "pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));" (assignment_expression "pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" (identifier "pcVar36") (= "=") (cast_expression "(code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppdVar17 + *(int *)(iVar20 + 0xc))" (( "(") (binary_expression "(int)ppppppdVar17 + *(int *)(iVar20 + 0xc)" (cast_expression "(int)ppppppdVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar17")) (+ "+") (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 "cVar2 = *pcVar36;" (assignment_expression "cVar2 = *pcVar36" (identifier "cVar2") (= "=") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36"))) (; ";")) (if_statement "if ((char)cVar2 < '\0') {\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }\n      else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }" (if "if") (parenthesized_expression "((char)cVar2 < '\0')" (( "(") (binary_expression "(char)cVar2 < '\0'" (cast_expression "(char)cVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "cVar2")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);\n      }" ({ "{") (expression_statement "iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);" (assignment_expression "iVar5 = (*pcVar4)(pcVar36,ppppppdVar33)" (identifier "iVar5") (= "=") (call_expression "(*pcVar4)(pcVar36,ppppppdVar33)" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "(pcVar36,ppppppdVar33)" (( "(") (identifier "pcVar36") (, ",") (identifier "ppppppdVar33") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }" (else "else") (compound_statement "{\n        iVar5 = 1;\n        ppppdStack_138 = (double ****)(uint)(byte)cVar2;\n      }" ({ "{") (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (expression_statement "ppppdStack_138 = (double ****)(uint)(byte)cVar2;" (assignment_expression "ppppdStack_138 = (double ****)(uint)(byte)cVar2" (identifier "ppppdStack_138") (= "=") (cast_expression "(double ****)(uint)(byte)cVar2" (( "(") (type_descriptor "double ****" (primitive_type "double") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (cast_expression "(uint)(byte)cVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)cVar2" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "cVar2"))))) (; ";")) (} "}")))) (expression_statement "unaff_s8 = (double ******)((int)unaff_s8 + iVar5);" (assignment_expression "unaff_s8 = (double ******)((int)unaff_s8 + iVar5)" (identifier "unaff_s8") (= "=") (cast_expression "(double ******)((int)unaff_s8 + iVar5)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)unaff_s8 + iVar5)" (( "(") (binary_expression "(int)unaff_s8 + iVar5" (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8")) (+ "+") (identifier "iVar5")) () ")")))) (; ";")) (expression_statement "ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);" (assignment_expression "ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138)" (identifier "ppppppdVar21") (= "=") (cast_expression "(double ******)((int)unaff_s8 + (int)ppppdStack_138)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)unaff_s8 + (int)ppppdStack_138)" (( "(") (binary_expression "(int)unaff_s8 + (int)ppppdStack_138" (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8")) (+ "+") (cast_expression "(int)ppppdStack_138" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppdStack_138"))) () ")")))) (; ";")) (expression_statement "ppppppdVar15 = ppppppdVar21;" (assignment_expression "ppppppdVar15 = ppppppdVar21" (identifier "ppppppdVar15") (= "=") (identifier "ppppppdVar21")) (; ";")) (expression_statement "ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);" (assignment_expression "ppppppdVar6 = (double ******)FUN_000b57e0(iVar20)" (identifier "ppppppdVar6") (= "=") (cast_expression "(double ******)FUN_000b57e0(iVar20)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000b57e0(iVar20)" (identifier "FUN_000b57e0") (argument_list "(iVar20)" (( "(") (identifier "iVar20") () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29))" (( "(") (binary_expression "(ppppppdVar6 == (double ******)0x0) &&\n            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29)" (parenthesized_expression "(ppppppdVar6 == (double ******)0x0)" (( "(") (binary_expression "ppppppdVar6 == (double ******)0x0" (identifier "ppppppdVar6") (== "==") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29)" (( "(") (comma_expression "ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29" (assignment_expression "ppppppdVar6 = (double ******)0x0" (identifier "ppppppdVar6") (= "=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (, ",") (binary_expression "(int)ppppppdVar24 < (int)ppppppdVar29" (cast_expression "(int)ppppppdVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar24")) (< "<") (cast_expression "(int)ppppppdVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar29")))) () ")"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_000b5c24:\n  *pppppdStack_13c = (double ****)ppppppdVar21;" (statement_identifier "LAB_000b5c24") (: ":") (expression_statement "*pppppdStack_13c = (double ****)ppppppdVar21;" (assignment_expression "*pppppdStack_13c = (double ****)ppppppdVar21" (pointer_expression "*pppppdStack_13c" (* "*") (identifier "pppppdStack_13c")) (= "=") (cast_expression "(double ****)ppppppdVar21" (( "(") (type_descriptor "double ****" (primitive_type "double") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "ppppppdVar21"))) (; ";"))) (if_statement "if ((double ******)pppppdStack_134 == (double ******)*puVar32) {\n    return ppppppdVar6;\n  }" (if "if") (parenthesized_expression "((double ******)pppppdStack_134 == (double ******)*puVar32)" (( "(") (binary_expression "(double ******)pppppdStack_134 == (double ******)*puVar32" (cast_expression "(double ******)pppppdStack_134" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_134")) (== "==") (cast_expression "(double ******)*puVar32" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*puVar32" (* "*") (identifier "puVar32")))) () ")")) (compound_statement "{\n    return ppppppdVar6;\n  }" ({ "{") (return_statement "return ppppppdVar6;" (return "return") (identifier "ppppppdVar6") (; ";")) (} "}"))) (expression_statement "pcVar36 = *(code **)(pcStack_148 + -0x7b28);" (assignment_expression "pcVar36 = *(code **)(pcStack_148 + -0x7b28)" (identifier "pcVar36") (= "=") (pointer_expression "*(code **)(pcStack_148 + -0x7b28)" (* "*") (cast_expression "(code **)(pcStack_148 + -0x7b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_148 + -0x7b28)" (( "(") (binary_expression "pcStack_148 + -0x7b28" (identifier "pcStack_148") (+ "+") (number_literal "-0x7b28")) () ")"))))) (; ";")) (expression_statement "pcVar37 = FUN_000b5d20;" (assignment_expression "pcVar37 = FUN_000b5d20" (identifier "pcVar37") (= "=") (identifier "FUN_000b5d20")) (; ";")) (expression_statement "ppppppdVar6 = (double ******)pppppdStack_134;" (assignment_expression "ppppppdVar6 = (double ******)pppppdStack_134" (identifier "ppppppdVar6") (= "=") (cast_expression "(double ******)pppppdStack_134" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_134"))) (; ";")) (expression_statement "(*pcVar36)();" (call_expression "(*pcVar36)()" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_1c0 = pcVar36 + 0xe2c00;" (assignment_expression "pcStack_1c0 = pcVar36 + 0xe2c00" (identifier "pcStack_1c0") (= "=") (binary_expression "pcVar36 + 0xe2c00" (identifier "pcVar36") (+ "+") (number_literal "0xe2c00"))) (; ";")) (expression_statement "piVar31 = *(int **)(pcVar36 + 0xdb104);" (assignment_expression "piVar31 = *(int **)(pcVar36 + 0xdb104)" (identifier "piVar31") (= "=") (pointer_expression "*(int **)(pcVar36 + 0xdb104)" (* "*") (cast_expression "(int **)(pcVar36 + 0xdb104)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar36 + 0xdb104)" (( "(") (binary_expression "pcVar36 + 0xdb104" (identifier "pcVar36") (+ "+") (number_literal "0xdb104")) () ")"))))) (; ";")) (expression_statement "iStack_18c = *piVar31;" (assignment_expression "iStack_18c = *piVar31" (identifier "iStack_18c") (= "=") (pointer_expression "*piVar31" (* "*") (identifier "piVar31"))) (; ";")) (expression_statement "ppppppdVar14 = ppppppdVar15;" (assignment_expression "ppppppdVar14 = ppppppdVar15" (identifier "ppppppdVar14") (= "=") (identifier "ppppppdVar15")) (; ";")) (expression_statement "ppppppdVar30 = ppppppdVar16;" (assignment_expression "ppppppdVar30 = ppppppdVar16" (identifier "ppppppdVar30") (= "=") (identifier "ppppppdVar16")) (; ";")) (expression_statement "pppppdStack_1b4 = (double *****)ppppppdVar17;" (assignment_expression "pppppdStack_1b4 = (double *****)ppppppdVar17" (identifier "pppppdStack_1b4") (= "=") (cast_expression "(double *****)ppppppdVar17" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar17"))) (; ";")) (expression_statement "pppppdStack_188 = (double *****)ppppppdVar21;" (assignment_expression "pppppdStack_188 = (double *****)ppppppdVar21" (identifier "pppppdStack_188") (= "=") (cast_expression "(double *****)ppppppdVar21" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar21"))) (; ";")) (expression_statement "iStack_184 = iVar20;" (assignment_expression "iStack_184 = iVar20" (identifier "iStack_184") (= "=") (identifier "iVar20")) (; ";")) (expression_statement "pppppdStack_180 = (double *****)ppppppdVar24;" (assignment_expression "pppppdStack_180 = (double *****)ppppppdVar24" (identifier "pppppdStack_180") (= "=") (cast_expression "(double *****)ppppppdVar24" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar24"))) (; ";")) (expression_statement "pppppdStack_17c = (double *****)ppppppdVar22;" (assignment_expression "pppppdStack_17c = (double *****)ppppppdVar22" (identifier "pppppdStack_17c") (= "=") (cast_expression "(double *****)ppppppdVar22" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar22"))) (; ";")) (expression_statement "pppppdStack_178 = (double *****)ppppppdVar29;" (assignment_expression "pppppdStack_178 = (double *****)ppppppdVar29" (identifier "pppppdStack_178") (= "=") (cast_expression "(double *****)ppppppdVar29" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar29"))) (; ";")) (expression_statement "pcStack_174 = pcVar4;" (assignment_expression "pcStack_174 = pcVar4" (identifier "pcStack_174") (= "=") (identifier "pcVar4")) (; ";")) (expression_statement "puStack_170 = puVar32;" (assignment_expression "puStack_170 = puVar32" (identifier "puStack_170") (= "=") (identifier "puVar32")) (; ";")) (expression_statement "pppppdStack_16c = (double *****)ppppppdVar33;" (assignment_expression "pppppdStack_16c = (double *****)ppppppdVar33" (identifier "pppppdStack_16c") (= "=") (cast_expression "(double *****)ppppppdVar33" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar33"))) (; ";")) (expression_statement "pppppdStack_168 = (double *****)unaff_s8;" (assignment_expression "pppppdStack_168 = (double *****)unaff_s8" (identifier "pppppdStack_168") (= "=") (cast_expression "(double *****)unaff_s8" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s8"))) (; ";")) (expression_statement "pcStack_164 = pcVar37;" (assignment_expression "pcStack_164 = pcVar37" (identifier "pcStack_164") (= "=") (identifier "pcVar37")) (; ";")) (if_statement "if (0 < (int)ppppppdVar15) {\n    ppppppdVar21 = (double ******)0x0;\n    pcVar4 = *(code **)(pcVar36 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);\n    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;\n    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);\nLAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;\n    ppppppdVar33 = ppppppdVar21;\n    pcVar36 = pcStack_1c0;\nLAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }\n    ppppppdVar14 = (double ******)&DAT_00000009;\n    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n    pcVar36 = pcStack_1c0;\n    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n    pppppdVar10 = ppppppdVar6[2];\n    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    ppppppdVar6[2] = (double *****)ppppppdVar14;\n    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);\n    if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }\n    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n    ppppppdVar21 = ppppppdVar16;\n    ppppppdVar24 = ppppppdVar15;\n    pcVar36 = pcStack_1c0;\n    unaff_s8 = ppppppdVar6;\n    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" (if "if") (parenthesized_expression "(0 < (int)ppppppdVar15)" (( "(") (binary_expression "0 < (int)ppppppdVar15" (number_literal "0") (< "<") (cast_expression "(int)ppppppdVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar15"))) () ")")) (compound_statement "{\n    ppppppdVar21 = (double ******)0x0;\n    pcVar4 = *(code **)(pcVar36 + 0xdae88);\n    pcStack_1b0 = pcVar4 + 0x924;\n    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);\n    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;\n    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);\nLAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;\n    ppppppdVar33 = ppppppdVar21;\n    pcVar36 = pcStack_1c0;\nLAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }\n    ppppppdVar14 = (double ******)&DAT_00000009;\n    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n    pcVar36 = pcStack_1c0;\n    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n    pppppdVar10 = ppppppdVar6[2];\n    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }\n    ppppppdVar6[2] = (double *****)ppppppdVar14;\n    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);\n    if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }\n    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n    ppppppdVar21 = ppppppdVar16;\n    ppppppdVar24 = ppppppdVar15;\n    pcVar36 = pcStack_1c0;\n    unaff_s8 = ppppppdVar6;\n    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;\n    goto LAB_000b5db4;\n  }" ({ "{") (expression_statement "ppppppdVar21 = (double ******)0x0;" (assignment_expression "ppppppdVar21 = (double ******)0x0" (identifier "ppppppdVar21") (= "=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar4 = *(code **)(pcVar36 + 0xdae88);" (assignment_expression "pcVar4 = *(code **)(pcVar36 + 0xdae88)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(pcVar36 + 0xdae88)" (* "*") (cast_expression "(code **)(pcVar36 + 0xdae88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar36 + 0xdae88)" (( "(") (binary_expression "pcVar36 + 0xdae88" (identifier "pcVar36") (+ "+") (number_literal "0xdae88")) () ")"))))) (; ";")) (expression_statement "pcStack_1b0 = pcVar4 + 0x924;" (assignment_expression "pcStack_1b0 = pcVar4 + 0x924" (identifier "pcStack_1b0") (= "=") (binary_expression "pcVar4 + 0x924" (identifier "pcVar4") (+ "+") (number_literal "0x924"))) (; ";")) (expression_statement "pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);" (assignment_expression "pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48)" (identifier "pcStack_1ac") (= "=") (cast_expression "(code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar36 + 0xdae88) + -0x2b48)" (( "(") (binary_expression "*(int *)(pcVar36 + 0xdae88) + -0x2b48" (pointer_expression "*(int *)(pcVar36 + 0xdae88)" (* "*") (cast_expression "(int *)(pcVar36 + 0xdae88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar36 + 0xdae88)" (( "(") (binary_expression "pcVar36 + 0xdae88" (identifier "pcVar36") (+ "+") (number_literal "0xdae88")) () ")")))) (+ "+") (number_literal "-0x2b48")) () ")")))) (; ";")) (expression_statement "iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;" (assignment_expression "iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0" (identifier "iVar20") (= "=") (binary_expression "*(int *)(pcVar36 + 0xdaf0c) + 0x57e0" (pointer_expression "*(int *)(pcVar36 + 0xdaf0c)" (* "*") (cast_expression "(int *)(pcVar36 + 0xdaf0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar36 + 0xdaf0c)" (( "(") (binary_expression "pcVar36 + 0xdaf0c" (identifier "pcVar36") (+ "+") (number_literal "0xdaf0c")) () ")")))) (+ "+") (number_literal "0x57e0"))) (; ";")) (expression_statement "iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);" (assignment_expression "iStack_1a8 = *(int *)(pcVar36 + 0xdaea0)" (identifier "iStack_1a8") (= "=") (pointer_expression "*(int *)(pcVar36 + 0xdaea0)" (* "*") (cast_expression "(int *)(pcVar36 + 0xdaea0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar36 + 0xdaea0)" (( "(") (binary_expression "pcVar36 + 0xdaea0" (identifier "pcVar36") (+ "+") (number_literal "0xdaea0")) () ")"))))) (; ";")) (labeled_statement "LAB_000b5dac:\n    ppppppdVar22 = (double ******)0x1;" (statement_identifier "LAB_000b5dac") (: ":") (expression_statement "ppppppdVar22 = (double ******)0x1;" (assignment_expression "ppppppdVar22 = (double ******)0x1" (identifier "ppppppdVar22") (= "=") (cast_expression "(double ******)0x1" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x1"))) (; ";"))) (expression_statement "ppppppdVar33 = ppppppdVar21;" (assignment_expression "ppppppdVar33 = ppppppdVar21" (identifier "ppppppdVar33") (= "=") (identifier "ppppppdVar21")) (; ";")) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" (identifier "pcVar36") (= "=") (identifier "pcStack_1c0")) (; ";")) (labeled_statement "LAB_000b5db4:\n    while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }" (statement_identifier "LAB_000b5db4") (: ":") (while_statement "while ((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }" (while "while") (parenthesized_expression "((ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0)))" (( "(") (parenthesized_expression "(ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))" (( "(") (binary_expression "ppppppdVar16 != (double ******)0x0 &&\n           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0)" (binary_expression "ppppppdVar16 != (double ******)0x0" (identifier "ppppppdVar16") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (&& "&&") (parenthesized_expression "(*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0)" (( "(") (binary_expression "*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0" (pointer_expression "*(code *)((int)ppppppdVar16 + (int)ppppppdVar33)" (* "*") (cast_expression "(code *)((int)ppppppdVar16 + (int)ppppppdVar33)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppdVar16 + (int)ppppppdVar33)" (( "(") (binary_expression "(int)ppppppdVar16 + (int)ppppppdVar33" (cast_expression "(int)ppppppdVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar16")) (+ "+") (cast_expression "(int)ppppppdVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar33"))) () ")")))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")"))) () ")")) () ")")) (compound_statement "{\n      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar7 = (double ******)0x0;\n      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;\n    }" ({ "{") (expression_statement "ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);" (assignment_expression "ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1)" (identifier "ppppppdVar33") (= "=") (cast_expression "(double ******)((int)ppppppdVar33 + 1)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppdVar33 + 1)" (( "(") (binary_expression "(int)ppppppdVar33 + 1" (cast_expression "(int)ppppppdVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar33")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "ppppppdVar7 = (double ******)0x0;" (assignment_expression "ppppppdVar7 = (double ******)0x0" (identifier "ppppppdVar7") (= "=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;" (if "if") (parenthesized_expression "((int)ppppppdVar15 <= (int)ppppppdVar33)" (( "(") (binary_expression "(int)ppppppdVar15 <= (int)ppppppdVar33" (cast_expression "(int)ppppppdVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar15")) (<= "<=") (cast_expression "(int)ppppppdVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar33"))) () ")")) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";"))) (} "}")))) (expression_statement "ppppppdVar14 = (double ******)&DAT_00000009;" (assignment_expression "ppppppdVar14 = (double ******)&DAT_00000009" (identifier "ppppppdVar14") (= "=") (cast_expression "(double ******)&DAT_00000009" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000009" (& "&") (identifier "DAT_00000009")))) (; ";")) (expression_statement "ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);" (assignment_expression "ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6)" (identifier "ppppppdVar7") (= "=") (cast_expression "(double ******)FUN_000b57e0(ppppppdVar6)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000b57e0(ppppppdVar6)" (identifier "FUN_000b57e0") (argument_list "(ppppppdVar6)" (( "(") (identifier "ppppppdVar6") () ")"))))) (; ";")) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" (identifier "pcVar36") (= "=") (identifier "pcStack_1c0")) (; ";")) (if_statement "if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;" (if "if") (parenthesized_expression "(ppppppdVar7 != (double ******)0x0)" (( "(") (binary_expression "ppppppdVar7 != (double ******)0x0" (identifier "ppppppdVar7") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";"))) (expression_statement "pppppdVar10 = ppppppdVar6[2];" (assignment_expression "pppppdVar10 = ppppppdVar6[2]" (identifier "pppppdVar10") (= "=") (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);" (assignment_expression "ppppppdVar14 = (double ******)((int)pppppdVar10 + 1)" (identifier "ppppppdVar14") (= "=") (cast_expression "(double ******)((int)pppppdVar10 + 1)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)pppppdVar10 + 1)" (( "(") (binary_expression "(int)pppppdVar10 + 1" (cast_expression "(int)pppppdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppdVar10")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }" (if "if") (parenthesized_expression "((int)ppppppdVar6[4] <= (int)pppppdVar10)" (( "(") (binary_expression "(int)ppppppdVar6[4] <= (int)pppppdVar10" (cast_expression "(int)ppppppdVar6[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppdVar6[4]" (identifier "ppppppdVar6") ([ "[") (number_literal "4") (] "]"))) (<= "<=") (cast_expression "(int)pppppdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppdVar10"))) () ")")) (compound_statement "{\n      ppppppdVar17 = (double ******)&DAT_000300ea;\nLAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;\n      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);\n      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);\n      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);\n      ppppppdVar7 = (double ******)&DAT_0000000b;\n      pcVar36 = pcStack_1c0;\n      goto LAB_000b5de4;\n    }" ({ "{") (expression_statement "ppppppdVar17 = (double ******)&DAT_000300ea;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_000300ea" (identifier "ppppppdVar17") (= "=") (cast_expression "(double ******)&DAT_000300ea" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_000300ea" (& "&") (identifier "DAT_000300ea")))) (; ";")) (labeled_statement "LAB_000b5e90:\n      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;" (statement_identifier "LAB_000b5e90") (: ":") (expression_statement "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;" (assignment_expression "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c" (identifier "iStack_1c8") (= "=") (binary_expression "*(int *)(pcStack_1c0 + -0x7fc8) + 0x625c" (pointer_expression "*(int *)(pcStack_1c0 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_1c0 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1c0 + -0x7fc8)" (( "(") (binary_expression "pcStack_1c0 + -0x7fc8" (identifier "pcStack_1c0") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x625c"))) (; ";"))) (expression_statement "ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);" (assignment_expression "ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64)" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64)" (( "(") (binary_expression "*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64" (pointer_expression "*(int *)(pcStack_1c0 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_1c0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1c0 + -0x7fc4)" (( "(") (binary_expression "pcStack_1c0 + -0x7fc4" (identifier "pcStack_1c0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x5e64")) () ")")))) (; ";")) (expression_statement "ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);" (assignment_expression "ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378)" (identifier "ppppppdVar14") (= "=") (cast_expression "(double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378)" (( "(") (binary_expression "*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378" (pointer_expression "*(int *)(pcStack_1c0 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_1c0 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1c0 + -0x7fc4)" (( "(") (binary_expression "pcStack_1c0 + -0x7fc4" (identifier "pcStack_1c0") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x6378")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcStack_1c0 + -0x7d40))(0xb);" (call_expression "(**(code **)(pcStack_1c0 + -0x7d40))(0xb)" (parenthesized_expression "(**(code **)(pcStack_1c0 + -0x7d40))" (( "(") (pointer_expression "**(code **)(pcStack_1c0 + -0x7d40)" (* "*") (pointer_expression "*(code **)(pcStack_1c0 + -0x7d40)" (* "*") (cast_expression "(code **)(pcStack_1c0 + -0x7d40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c0 + -0x7d40)" (( "(") (binary_expression "pcStack_1c0 + -0x7d40" (identifier "pcStack_1c0") (+ "+") (number_literal "-0x7d40")) () ")"))))) () ")")) (argument_list "(0xb)" (( "(") (number_literal "0xb") () ")"))) (; ";")) (expression_statement "ppppppdVar7 = (double ******)&DAT_0000000b;" (assignment_expression "ppppppdVar7 = (double ******)&DAT_0000000b" (identifier "ppppppdVar7") (= "=") (cast_expression "(double ******)&DAT_0000000b" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_0000000b" (& "&") (identifier "DAT_0000000b")))) (; ";")) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" (identifier "pcVar36") (= "=") (identifier "pcStack_1c0")) (; ";")) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";")) (} "}"))) (expression_statement "ppppppdVar6[2] = (double *****)ppppppdVar14;" (assignment_expression "ppppppdVar6[2] = (double *****)ppppppdVar14" (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(double *****)ppppppdVar14" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar14"))) (; ";")) (expression_statement "pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);" (assignment_expression "pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10)" (identifier "pcVar4") (= "=") (binary_expression "(code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10)" (cast_expression "(code *)(uint)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppdVar6[3] + (int)pppppdVar10)" (( "(") (binary_expression "(int)ppppppdVar6[3] + (int)pppppdVar10" (cast_expression "(int)ppppppdVar6[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppdVar6[3]" (identifier "ppppppdVar6") ([ "[") (number_literal "3") (] "]"))) (+ "+") (cast_expression "(int)pppppdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppdVar10"))) () ")"))))) (; ";")) (if_statement "if (pcVar4 != (code *)0x0) {\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }" (if "if") (parenthesized_expression "(pcVar4 != (code *)0x0)" (( "(") (binary_expression "pcVar4 != (code *)0x0" (identifier "pcVar4") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      ppppppdVar17 = (double ******)&DAT_00000028;\n      ppppppdVar30 = (double ******)0x0;\n      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);\n      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);\n      if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n      ppppppdVar24[8] = (double *****)0x0;\n      *ppppppdVar29 = (double *****)ppppppdVar24;\n      ppppppdVar30 = (double ******)ppppppdVar6[2];\n      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);\n      if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }\n      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);\n      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);\n      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;\n    }" ({ "{") (expression_statement "ppppppdVar17 = (double ******)&DAT_00000028;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_00000028" (identifier "ppppppdVar17") (= "=") (cast_expression "(double ******)&DAT_00000028" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000028" (& "&") (identifier "DAT_00000028")))) (; ";")) (expression_statement "ppppppdVar30 = (double ******)0x0;" (assignment_expression "ppppppdVar30 = (double ******)0x0" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);" (assignment_expression "ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33)" (identifier "ppppppdVar29") (= "=") (cast_expression "(double ******)(pppppdStack_1b4 + (int)ppppppdVar33)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(pppppdStack_1b4 + (int)ppppppdVar33)" (( "(") (binary_expression "pppppdStack_1b4 + (int)ppppppdVar33" (identifier "pppppdStack_1b4") (+ "+") (cast_expression "(int)ppppppdVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar33"))) () ")")))) (; ";")) (expression_statement "ppppppdVar24 = (double ******)(*pcStack_1b0)(0);" (assignment_expression "ppppppdVar24 = (double ******)(*pcStack_1b0)(0)" (identifier "ppppppdVar24") (= "=") (cast_expression "(double ******)(*pcStack_1b0)(0)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*pcStack_1b0)(0)" (parenthesized_expression "(*pcStack_1b0)" (( "(") (pointer_expression "*pcStack_1b0" (* "*") (identifier "pcStack_1b0")) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (ppppppdVar24 == (double ******)0x0) {\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }" (if "if") (parenthesized_expression "(ppppppdVar24 == (double ******)0x0)" (( "(") (binary_expression "ppppppdVar24 == (double ******)0x0" (identifier "ppppppdVar24") (== "==") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        ppppppdVar7 = (double ******)&DAT_00000007;\n        *ppppppdVar29 = (double *****)0x0;\n        pcVar36 = pcStack_1c0;\n        goto LAB_000b5de4;\n      }" ({ "{") (expression_statement "ppppppdVar7 = (double ******)&DAT_00000007;" (assignment_expression "ppppppdVar7 = (double ******)&DAT_00000007" (identifier "ppppppdVar7") (= "=") (cast_expression "(double ******)&DAT_00000007" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (expression_statement "*ppppppdVar29 = (double *****)0x0;" (assignment_expression "*ppppppdVar29 = (double *****)0x0" (pointer_expression "*ppppppdVar29" (* "*") (identifier "ppppppdVar29")) (= "=") (cast_expression "(double *****)0x0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" (identifier "pcVar36") (= "=") (identifier "pcStack_1c0")) (; ";")) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";")) (} "}"))) (expression_statement "*(undefined2 *)(ppppppdVar24 + 2) = 1;" (assignment_expression "*(undefined2 *)(ppppppdVar24 + 2) = 1" (pointer_expression "*(undefined2 *)(ppppppdVar24 + 2)" (* "*") (cast_expression "(undefined2 *)(ppppppdVar24 + 2)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppdVar24 + 2)" (( "(") (binary_expression "ppppppdVar24 + 2" (identifier "ppppppdVar24") (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "ppppppdVar24[8] = (double *****)0x0;" (assignment_expression "ppppppdVar24[8] = (double *****)0x0" (subscript_expression "ppppppdVar24[8]" (identifier "ppppppdVar24") ([ "[") (number_literal "8") (] "]")) (= "=") (cast_expression "(double *****)0x0" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*ppppppdVar29 = (double *****)ppppppdVar24;" (assignment_expression "*ppppppdVar29 = (double *****)ppppppdVar24" (pointer_expression "*ppppppdVar29" (* "*") (identifier "ppppppdVar29")) (= "=") (cast_expression "(double *****)ppppppdVar24" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar24"))) (; ";")) (expression_statement "ppppppdVar30 = (double ******)ppppppdVar6[2];" (assignment_expression "ppppppdVar30 = (double ******)ppppppdVar6[2]" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)ppppppdVar6[2]" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);" (assignment_expression "pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30)" (identifier "pdVar12") (= "=") (cast_expression "(double *)((int)ppppppdVar6[3] + (int)ppppppdVar30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppdVar6[3] + (int)ppppppdVar30)" (( "(") (binary_expression "(int)ppppppdVar6[3] + (int)ppppppdVar30" (cast_expression "(int)ppppppdVar6[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppdVar6[3]" (identifier "ppppppdVar6") ([ "[") (number_literal "3") (] "]"))) (+ "+") (cast_expression "(int)ppppppdVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar30"))) () ")")))) (; ";")) (if_statement "if (pcVar4 + -3 < (code *)0x2) {\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }" (if "if") (parenthesized_expression "(pcVar4 + -3 < (code *)0x2)" (( "(") (binary_expression "pcVar4 + -3 < (code *)0x2" (binary_expression "pcVar4 + -3" (identifier "pcVar4") (+ "+") (number_literal "-3")) (< "<") (cast_expression "(code *)0x2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")")) (compound_statement "{\n        if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }\n        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);\n        ppppppdVar14 = (double ******)pppppdStack_198;\n        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);\n        pppppdVar10 = pppppdStack_198;\n        pcVar36 = pcStack_1c0;\n        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;\n        ppppppdVar17 = (double ******)&DAT_00030000;\n        if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }\n        ppppppdVar17 = (double ******)&DAT_000300fd;\n        ppppppdVar22 = (double ******)pppppdStack_198;\n        goto LAB_000b5e90;\n      }" ({ "{") (if_statement "if ((char)*(code *)pdVar12 < '\0') {\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }\n        else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }" (if "if") (parenthesized_expression "((char)*(code *)pdVar12 < '\0')" (( "(") (binary_expression "(char)*(code *)pdVar12 < '\0'" (cast_expression "(char)*(code *)pdVar12" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(code *)pdVar12" (* "*") (cast_expression "(code *)pdVar12" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pdVar12")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);\n          ppppppdVar30 = (double ******)ppppppdVar6[2];\n        }" ({ "{") (expression_statement "iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);" (assignment_expression "iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198)" (identifier "iVar5") (= "=") (call_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))" (( "(") (pointer_expression "*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388)" (* "*") (cast_expression "(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388)" (( "(") (binary_expression "*(int *)(pcStack_1c0 + -0x7d78) + 0x3388" (pointer_expression "*(int *)(pcStack_1c0 + -0x7d78)" (* "*") (cast_expression "(int *)(pcStack_1c0 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1c0 + -0x7d78)" (( "(") (binary_expression "pcStack_1c0 + -0x7d78" (identifier "pcStack_1c0") (+ "+") (number_literal "-0x7d78")) () ")")))) (+ "+") (number_literal "0x3388")) () ")")))) () ")")) (argument_list "(pdVar12,&pppppdStack_198)" (( "(") (identifier "pdVar12") (, ",") (pointer_expression "&pppppdStack_198" (& "&") (identifier "pppppdStack_198")) () ")")))) (; ";")) (expression_statement "ppppppdVar30 = (double ******)ppppppdVar6[2];" (assignment_expression "ppppppdVar30 = (double ******)ppppppdVar6[2]" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)ppppppdVar6[2]" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }" (else "else") (compound_statement "{\n          iVar5 = 1;\n          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;\n        }" ({ "{") (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (expression_statement "pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;" (assignment_expression "pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12" (identifier "pppppdStack_198") (= "=") (binary_expression "(double *****)(uint)(byte)*(code *)pdVar12" (cast_expression "(double *****)(uint)(byte)" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")")))) (* "*") (cast_expression "(code *)pdVar12" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pdVar12")))) (; ";")) (} "}")))) (expression_statement "ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);" (assignment_expression "ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30)" (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(double *****)(iVar5 + (int)ppppppdVar30)" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar5 + (int)ppppppdVar30)" (( "(") (binary_expression "iVar5 + (int)ppppppdVar30" (identifier "iVar5") (+ "+") (cast_expression "(int)ppppppdVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar30"))) () ")")))) (; ";")) (expression_statement "ppppppdVar14 = (double ******)pppppdStack_198;" (assignment_expression "ppppppdVar14 = (double ******)pppppdStack_198" (identifier "ppppppdVar14") (= "=") (cast_expression "(double ******)pppppdStack_198" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_198"))) (; ";")) (expression_statement "ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);" (assignment_expression "ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6)" (identifier "ppppppdVar7") (= "=") (cast_expression "(double ******)FUN_000b57e0(ppppppdVar6)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000b57e0(ppppppdVar6)" (identifier "FUN_000b57e0") (argument_list "(ppppppdVar6)" (( "(") (identifier "ppppppdVar6") () ")"))))) (; ";")) (expression_statement "pppppdVar10 = pppppdStack_198;" (assignment_expression "pppppdVar10 = pppppdStack_198" (identifier "pppppdVar10") (= "=") (identifier "pppppdStack_198")) (; ";")) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" (identifier "pcVar36") (= "=") (identifier "pcStack_1c0")) (; ";")) (if_statement "if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;" (if "if") (parenthesized_expression "(ppppppdVar7 != (double ******)0x0)" (( "(") (binary_expression "ppppppdVar7 != (double ******)0x0" (identifier "ppppppdVar7") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";"))) (expression_statement "ppppppdVar17 = (double ******)&DAT_00030000;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_00030000" (identifier "ppppppdVar17") (= "=") (cast_expression "(double ******)&DAT_00030000" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00030000" (& "&") (identifier "DAT_00030000")))) (; ";")) (if_statement "if (-1 < (int)pppppdStack_198) {\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }" (if "if") (parenthesized_expression "(-1 < (int)pppppdStack_198)" (( "(") (binary_expression "-1 < (int)pppppdStack_198" (number_literal "-1") (< "<") (cast_expression "(int)pppppdStack_198" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppdStack_198"))) () ")")) (compound_statement "{\n          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }\n        }" ({ "{") (if_statement "if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }" (if "if") (parenthesized_expression "((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2])" (( "(") (binary_expression "(int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]" (cast_expression "(int)pppppdStack_198" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppdStack_198")) (<= "<=") (binary_expression "(int)ppppppdVar6[4] - (int)ppppppdVar6[2]" (cast_expression "(int)ppppppdVar6[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppdVar6[4]" (identifier "ppppppdVar6") ([ "[") (number_literal "4") (] "]"))) (- "-") (cast_expression "(int)ppppppdVar6[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]"))))) () ")")) (compound_statement "{\n            pppppdStack_1a0 = *ppppppdVar29;\n            ppppppdVar29 = (double ******)ppppppdVar6[3];\n            pppppdStack_1a4 = ppppppdVar6[2];\n            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();\n            ppppppdVar30 = (double ******)pppppdStack_1a4;\n            ppppppdVar22 = (double ******)pppppdVar10;\n            if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }\n            ppppppdVar7 = (double ******)&DAT_00000007;\n            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n            pcVar36 = pcStack_1c0;\n            goto LAB_000b5de4;\n          }" ({ "{") (expression_statement "pppppdStack_1a0 = *ppppppdVar29;" (assignment_expression "pppppdStack_1a0 = *ppppppdVar29" (identifier "pppppdStack_1a0") (= "=") (pointer_expression "*ppppppdVar29" (* "*") (identifier "ppppppdVar29"))) (; ";")) (expression_statement "ppppppdVar29 = (double ******)ppppppdVar6[3];" (assignment_expression "ppppppdVar29 = (double ******)ppppppdVar6[3]" (identifier "ppppppdVar29") (= "=") (cast_expression "(double ******)ppppppdVar6[3]" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppdVar6[3]" (identifier "ppppppdVar6") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "pppppdStack_1a4 = ppppppdVar6[2];" (assignment_expression "pppppdStack_1a4 = ppppppdVar6[2]" (identifier "pppppdStack_1a4") (= "=") (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();" (assignment_expression "ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))()" (identifier "ppppppdVar21") (= "=") (cast_expression "(double ******)(**(code **)(pcStack_1c0 + -0x7d98))()" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(pcStack_1c0 + -0x7d98))()" (parenthesized_expression "(**(code **)(pcStack_1c0 + -0x7d98))" (( "(") (pointer_expression "**(code **)(pcStack_1c0 + -0x7d98)" (* "*") (pointer_expression "*(code **)(pcStack_1c0 + -0x7d98)" (* "*") (cast_expression "(code **)(pcStack_1c0 + -0x7d98)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c0 + -0x7d98)" (( "(") (binary_expression "pcStack_1c0 + -0x7d98" (identifier "pcStack_1c0") (+ "+") (number_literal "-0x7d98")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppppppdVar30 = (double ******)pppppdStack_1a4;" (assignment_expression "ppppppdVar30 = (double ******)pppppdStack_1a4" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)pppppdStack_1a4" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_1a4"))) (; ";")) (expression_statement "ppppppdVar22 = (double ******)pppppdVar10;" (assignment_expression "ppppppdVar22 = (double ******)pppppdVar10" (identifier "ppppppdVar22") (= "=") (cast_expression "(double ******)pppppdVar10" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdVar10"))) (; ";")) (if_statement "if (ppppppdVar21 == (double ******)0x0) {\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }" (if "if") (parenthesized_expression "(ppppppdVar21 == (double ******)0x0)" (( "(") (binary_expression "ppppppdVar21 == (double ******)0x0" (identifier "ppppppdVar21") (== "==") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);\n              pppppdStack_19c = (double *****)ppppppdVar21;\n              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );\n              if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }\n            }" ({ "{") (expression_statement "ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);" (assignment_expression "ppppppdVar14 = (double ******)((int)pppppdVar10 + 1)" (identifier "ppppppdVar14") (= "=") (cast_expression "(double ******)((int)pppppdVar10 + 1)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)pppppdVar10 + 1)" (( "(") (binary_expression "(int)pppppdVar10 + 1" (cast_expression "(int)pppppdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppdVar10")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pppppdStack_19c = (double *****)ppppppdVar21;" (assignment_expression "pppppdStack_19c = (double *****)ppppppdVar21" (identifier "pppppdStack_19c") (= "=") (cast_expression "(double *****)ppppppdVar21" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar21"))) (; ";")) (expression_statement "iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    );" (assignment_expression "iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    )" (identifier "iVar5") (= "=") (call_expression "(*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    )" (parenthesized_expression "(*pcStack_1ac)" (( "(") (pointer_expression "*pcStack_1ac" (* "*") (identifier "pcStack_1ac")) () ")")) (argument_list "((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)\n                                    )" (( "(") (binary_expression "(uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)" (call_expression "(uint)(ppppppdVar14 < pppppdVar10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ppppppdVar14 < pppppdVar10)" (( "(") (binary_expression "ppppppdVar14 < pppppdVar10" (identifier "ppppppdVar14") (< "<") (identifier "pppppdVar10")) () ")"))) (+ "+") (parenthesized_expression "((int)pppppdVar10 >> 0x1f)" (( "(") (binary_expression "(int)pppppdVar10 >> 0x1f" (cast_expression "(int)pppppdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppdVar10")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (if_statement "if (iVar5 != 0) {\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                ppppppdVar30 = (double ******)pppppdVar10;\n                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));\n                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);\n                pcStack_1c0 = pcVar36;\n                pppppdStack_198 = (double *****)ppppppdVar14;\n                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;\n                goto LAB_000b5de4;\n              }" ({ "{") (expression_statement "ppppppdVar30 = (double ******)pppppdVar10;" (assignment_expression "ppppppdVar30 = (double ******)pppppdVar10" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)pppppdVar10" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdVar10"))) (; ";")) (expression_statement "uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));" (assignment_expression "uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4))" (identifier "uVar18") (= "=") (call_expression "(**(code **)(pcStack_1c0 + -0x7af4))\n                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4))" (parenthesized_expression "(**(code **)(pcStack_1c0 + -0x7af4))" (( "(") (pointer_expression "**(code **)(pcStack_1c0 + -0x7af4)" (* "*") (pointer_expression "*(code **)(pcStack_1c0 + -0x7af4)" (* "*") (cast_expression "(code **)(pcStack_1c0 + -0x7af4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c0 + -0x7af4)" (( "(") (binary_expression "pcStack_1c0 + -0x7af4" (identifier "pcStack_1c0") (+ "+") (number_literal "-0x7af4")) () ")"))))) () ")")) (argument_list "(iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4))" (( "(") (identifier "iVar5") (, ",") (cast_expression "(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppdVar29 + (int)pppppdStack_1a4)" (( "(") (binary_expression "(int)ppppppdVar29 + (int)pppppdStack_1a4" (cast_expression "(int)ppppppdVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar29")) (+ "+") (cast_expression "(int)pppppdStack_1a4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppdStack_1a4"))) () ")"))) () ")")))) (; ";")) (if_statement "if ((double ******)pppppdStack_1a0 == (double ******)0x0) {\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }\n                else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }" (if "if") (parenthesized_expression "((double ******)pppppdStack_1a0 == (double ******)0x0)" (( "(") (binary_expression "(double ******)pppppdStack_1a0 == (double ******)0x0" (cast_expression "(double ******)pppppdStack_1a0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_1a0")) (== "==") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_19c;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }" ({ "{") (expression_statement "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);" (assignment_expression "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)ppppppdVar6[2] + (int)pppppdStack_198)" (( "(") (binary_expression "(int)ppppppdVar6[2] + (int)pppppdStack_198" (cast_expression "(int)ppppppdVar6[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]"))) (+ "+") (cast_expression "(int)pppppdStack_198" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppdStack_198"))) () ")")))) (; ";")) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" (identifier "pcVar36") (= "=") (identifier "pcStack_1c0")) (; ";")) (expression_statement "ppppppdVar7 = (double ******)pppppdStack_19c;" (assignment_expression "ppppppdVar7 = (double ******)pppppdStack_19c" (identifier "ppppppdVar7") (= "=") (cast_expression "(double ******)pppppdStack_19c" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_19c"))) (; ";")) (expression_statement "ppppppdVar14 = (double ******)pppppdStack_198;" (assignment_expression "ppppppdVar14 = (double ******)pppppdStack_198" (identifier "ppppppdVar14") (= "=") (cast_expression "(double ******)pppppdStack_198" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_198"))) (; ";")) (} "}")) (else_clause "else {\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }" (else "else") (compound_statement "{\n                  pppppdStack_1a4 = pppppdStack_19c;\n                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);\n                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);\n                  ppppppdVar30 = (double ******)pppppdVar10;\n                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);\n                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);\n                  pcVar36 = pcStack_1c0;\n                  ppppppdVar7 = (double ******)pppppdStack_1a4;\n                  ppppppdVar14 = (double ******)pppppdStack_198;\n                }" ({ "{") (expression_statement "pppppdStack_1a4 = pppppdStack_19c;" (assignment_expression "pppppdStack_1a4 = pppppdStack_19c" (identifier "pppppdStack_1a4") (= "=") (identifier "pppppdStack_19c")) (; ";")) (expression_statement "ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);" (assignment_expression "ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3)" (identifier "ppppppdVar17") (= "=") (cast_expression "(double ******)(uint)(pcVar4 == (code *)0x3)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(uint)(pcVar4 == (code *)0x3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar4 == (code *)0x3)" (( "(") (binary_expression "pcVar4 == (code *)0x3" (identifier "pcVar4") (== "==") (cast_expression "(code *)0x3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) () ")"))))) (; ";")) (expression_statement "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);" (assignment_expression "iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4)" (identifier "iStack_1c8") (= "=") (pointer_expression "*(int *)(pcStack_1c0 + -0x7fb4)" (* "*") (cast_expression "(int *)(pcStack_1c0 + -0x7fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1c0 + -0x7fb4)" (( "(") (binary_expression "pcStack_1c0 + -0x7fb4" (identifier "pcStack_1c0") (+ "+") (number_literal "-0x7fb4")) () ")"))))) (; ";")) (expression_statement "ppppppdVar30 = (double ******)pppppdVar10;" (assignment_expression "ppppppdVar30 = (double ******)pppppdVar10" (identifier "ppppppdVar30") (= "=") (cast_expression "(double ******)pppppdVar10" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdVar10"))) (; ";")) (expression_statement "(*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);" (call_expression "(*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18)" (parenthesized_expression "(*(code *)(iStack_1a8 + -0x2aec))" (( "(") (pointer_expression "*(code *)(iStack_1a8 + -0x2aec)" (* "*") (cast_expression "(code *)(iStack_1a8 + -0x2aec)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_1a8 + -0x2aec)" (( "(") (binary_expression "iStack_1a8 + -0x2aec" (identifier "iStack_1a8") (+ "+") (number_literal "-0x2aec")) () ")")))) () ")")) (argument_list "(pppppdStack_1a0,uVar18)" (( "(") (identifier "pppppdStack_1a0") (, ",") (identifier "uVar18") () ")"))) (; ";")) (expression_statement "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);" (assignment_expression "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)ppppppdVar6[2] + (int)pppppdStack_198)" (( "(") (binary_expression "(int)ppppppdVar6[2] + (int)pppppdStack_198" (cast_expression "(int)ppppppdVar6[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]"))) (+ "+") (cast_expression "(int)pppppdStack_198" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppdStack_198"))) () ")")))) (; ";")) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" (identifier "pcVar36") (= "=") (identifier "pcStack_1c0")) (; ";")) (expression_statement "ppppppdVar7 = (double ******)pppppdStack_1a4;" (assignment_expression "ppppppdVar7 = (double ******)pppppdStack_1a4" (identifier "ppppppdVar7") (= "=") (cast_expression "(double ******)pppppdStack_1a4" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_1a4"))) (; ";")) (expression_statement "ppppppdVar14 = (double ******)pppppdStack_198;" (assignment_expression "ppppppdVar14 = (double ******)pppppdStack_198" (identifier "ppppppdVar14") (= "=") (cast_expression "(double ******)pppppdStack_198" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_198"))) (; ";")) (} "}")))) (expression_statement "ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);" (assignment_expression "ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1)" (identifier "ppppppdVar21") (= "=") (cast_expression "(double ******)((int)ppppppdVar33 + 1)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppdVar33 + 1)" (( "(") (binary_expression "(int)ppppppdVar33 + 1" (cast_expression "(int)ppppppdVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar33")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pcStack_1c0 = pcVar36;" (assignment_expression "pcStack_1c0 = pcVar36" (identifier "pcStack_1c0") (= "=") (identifier "pcVar36")) (; ";")) (expression_statement "pppppdStack_198 = (double *****)ppppppdVar14;" (assignment_expression "pppppdStack_198 = (double *****)ppppppdVar14" (identifier "pppppdStack_198") (= "=") (cast_expression "(double *****)ppppppdVar14" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar14"))) (; ";")) (if_statement "if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;" (if "if") (parenthesized_expression "((int)ppppppdVar21 < (int)ppppppdVar15)" (( "(") (binary_expression "(int)ppppppdVar21 < (int)ppppppdVar15" (cast_expression "(int)ppppppdVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar21")) (< "<") (cast_expression "(int)ppppppdVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar15"))) () ")")) (goto_statement "goto LAB_000b5dac;" (goto "goto") (statement_identifier "LAB_000b5dac") (; ";"))) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";")) (} "}"))) (} "}"))) (expression_statement "ppppppdVar7 = (double ******)&DAT_00000007;" (assignment_expression "ppppppdVar7 = (double ******)&DAT_00000007" (identifier "ppppppdVar7") (= "=") (cast_expression "(double ******)&DAT_00000007" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (expression_statement "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);" (assignment_expression "ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198)" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)ppppppdVar6[2] + (int)pppppdStack_198)" (( "(") (binary_expression "(int)ppppppdVar6[2] + (int)pppppdStack_198" (cast_expression "(int)ppppppdVar6[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]"))) (+ "+") (cast_expression "(int)pppppdStack_198" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppdStack_198"))) () ")")))) (; ";")) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" (identifier "pcVar36") (= "=") (identifier "pcStack_1c0")) (; ";")) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";")) (} "}"))) (} "}"))) (expression_statement "ppppppdVar17 = (double ******)&DAT_000300fd;" (assignment_expression "ppppppdVar17 = (double ******)&DAT_000300fd" (identifier "ppppppdVar17") (= "=") (cast_expression "(double ******)&DAT_000300fd" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_000300fd" (& "&") (identifier "DAT_000300fd")))) (; ";")) (expression_statement "ppppppdVar22 = (double ******)pppppdStack_198;" (assignment_expression "ppppppdVar22 = (double ******)pppppdStack_198" (identifier "ppppppdVar22") (= "=") (cast_expression "(double ******)pppppdStack_198" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_198"))) (; ";")) (goto_statement "goto LAB_000b5e90;" (goto "goto") (statement_identifier "LAB_000b5e90") (; ";")) (} "}"))) (expression_statement "ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);" (assignment_expression "ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1)" (identifier "ppppppdVar34") (= "=") (cast_expression "(double ******)((int)ppppppdVar33 + 1)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppdVar33 + 1)" (( "(") (binary_expression "(int)ppppppdVar33 + 1" (cast_expression "(int)ppppppdVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar33")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);" (assignment_expression "ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2)" (identifier "ppppppdVar14") (= "=") (cast_expression "(double ******)(uint)(pcVar4 + -1 < (code *)0x2)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(uint)(pcVar4 + -1 < (code *)0x2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar4 + -1 < (code *)0x2)" (( "(") (binary_expression "pcVar4 + -1 < (code *)0x2" (binary_expression "pcVar4 + -1" (identifier "pcVar4") (+ "+") (number_literal "-1")) (< "<") (cast_expression "(code *)0x2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")"))))) (; ";")) (if_statement "if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;" (if "if") (parenthesized_expression "(ppppppdVar14 != (double ******)0x0)" (( "(") (binary_expression "ppppppdVar14 != (double ******)0x0" (identifier "ppppppdVar14") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto code_r0x000b6070;" (goto "goto") (statement_identifier "code_r0x000b6070") (; ";"))) (} "}"))) (expression_statement "ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);" (assignment_expression "ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1)" (identifier "ppppppdVar33") (= "=") (cast_expression "(double ******)((int)ppppppdVar33 + 1)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppdVar33 + 1)" (( "(") (binary_expression "(int)ppppppdVar33 + 1" (cast_expression "(int)ppppppdVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar33")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "ppppppdVar21 = ppppppdVar16;" (assignment_expression "ppppppdVar21 = ppppppdVar16" (identifier "ppppppdVar21") (= "=") (identifier "ppppppdVar16")) (; ";")) (expression_statement "ppppppdVar24 = ppppppdVar15;" (assignment_expression "ppppppdVar24 = ppppppdVar15" (identifier "ppppppdVar24") (= "=") (identifier "ppppppdVar15")) (; ";")) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" (identifier "pcVar36") (= "=") (identifier "pcStack_1c0")) (; ";")) (expression_statement "unaff_s8 = ppppppdVar6;" (assignment_expression "unaff_s8 = ppppppdVar6" (identifier "unaff_s8") (= "=") (identifier "ppppppdVar6")) (; ";")) (if_statement "if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;" (if "if") (parenthesized_expression "((int)ppppppdVar15 <= (int)ppppppdVar33)" (( "(") (binary_expression "(int)ppppppdVar15 <= (int)ppppppdVar33" (cast_expression "(int)ppppppdVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar15")) (<= "<=") (cast_expression "(int)ppppppdVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar33"))) () ")")) (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  ppppppdVar7 = (double ******)0x0;" (statement_identifier "LAB_000b5e64") (: ":") (expression_statement "ppppppdVar7 = (double ******)0x0;" (assignment_expression "ppppppdVar7 = (double ******)0x0" (identifier "ppppppdVar7") (= "=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "ppppppdVar16 = ppppppdVar21;" (assignment_expression "ppppppdVar16 = ppppppdVar21" (identifier "ppppppdVar16") (= "=") (identifier "ppppppdVar21")) (; ";")) (expression_statement "ppppppdVar15 = ppppppdVar24;" (assignment_expression "ppppppdVar15 = ppppppdVar24" (identifier "ppppppdVar15") (= "=") (identifier "ppppppdVar24")) (; ";")) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" (identifier "pcVar36") (= "=") (identifier "pcStack_1c0")) (; ";")) (expression_statement "ppppppdVar6 = unaff_s8;" (assignment_expression "ppppppdVar6 = unaff_s8" (identifier "ppppppdVar6") (= "=") (identifier "unaff_s8")) (; ";")) (labeled_statement "LAB_000b5de4:\n  if (iStack_18c == *piVar31) {\n    return ppppppdVar7;\n  }" (statement_identifier "LAB_000b5de4") (: ":") (if_statement "if (iStack_18c == *piVar31) {\n    return ppppppdVar7;\n  }" (if "if") (parenthesized_expression "(iStack_18c == *piVar31)" (( "(") (binary_expression "iStack_18c == *piVar31" (identifier "iStack_18c") (== "==") (pointer_expression "*piVar31" (* "*") (identifier "piVar31"))) () ")")) (compound_statement "{\n    return ppppppdVar7;\n  }" ({ "{") (return_statement "return ppppppdVar7;" (return "return") (identifier "ppppppdVar7") (; ";")) (} "}")))) (expression_statement "pcVar36 = *(code **)(pcVar36 + -0x7b28);" (assignment_expression "pcVar36 = *(code **)(pcVar36 + -0x7b28)" (identifier "pcVar36") (= "=") (pointer_expression "*(code **)(pcVar36 + -0x7b28)" (* "*") (cast_expression "(code **)(pcVar36 + -0x7b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar36 + -0x7b28)" (( "(") (binary_expression "pcVar36 + -0x7b28" (identifier "pcVar36") (+ "+") (number_literal "-0x7b28")) () ")"))))) (; ";")) (expression_statement "pcVar37 = FUN_000b6188;" (assignment_expression "pcVar37 = FUN_000b6188" (identifier "pcVar37") (= "=") (identifier "FUN_000b6188")) (; ";")) (expression_statement "iVar5 = iStack_18c;" (assignment_expression "iVar5 = iStack_18c" (identifier "iVar5") (= "=") (identifier "iStack_18c")) (; ";")) (expression_statement "(*pcVar36)();" (call_expression "(*pcVar36)()" (parenthesized_expression "(*pcVar36)" (( "(") (pointer_expression "*pcVar36" (* "*") (identifier "pcVar36")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar23 = *(int **)(pcVar36 + 0xdac9c);" (assignment_expression "piVar23 = *(int **)(pcVar36 + 0xdac9c)" (identifier "piVar23") (= "=") (pointer_expression "*(int **)(pcVar36 + 0xdac9c)" (* "*") (cast_expression "(int **)(pcVar36 + 0xdac9c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar36 + 0xdac9c)" (( "(") (binary_expression "pcVar36 + 0xdac9c" (identifier "pcVar36") (+ "+") (number_literal "0xdac9c")) () ")"))))) (; ";")) (expression_statement "iVar28 = *(int *)(iVar5 + 0x5c);" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x5c)" (identifier "iVar28") (= "=") (pointer_expression "*(int *)(iVar5 + 0x5c)" (* "*") (cast_expression "(int *)(iVar5 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x5c)" (( "(") (binary_expression "iVar5 + 0x5c" (identifier "iVar5") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (expression_statement "iStack_204 = *piVar23;" (assignment_expression "iStack_204 = *piVar23" (identifier "iStack_204") (= "=") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) (; ";")) (expression_statement "pppppdStack_200 = (double *****)ppppppdVar16;" (assignment_expression "pppppdStack_200 = (double *****)ppppppdVar16" (identifier "pppppdStack_200") (= "=") (cast_expression "(double *****)ppppppdVar16" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar16"))) (; ";")) (expression_statement "iStack_1fc = iVar20;" (assignment_expression "iStack_1fc = iVar20" (identifier "iStack_1fc") (= "=") (identifier "iVar20")) (; ";")) (expression_statement "pppppdStack_1f8 = (double *****)ppppppdVar15;" (assignment_expression "pppppdStack_1f8 = (double *****)ppppppdVar15" (identifier "pppppdStack_1f8") (= "=") (cast_expression "(double *****)ppppppdVar15" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar15"))) (; ";")) (expression_statement "pppppdStack_1f4 = (double *****)ppppppdVar22;" (assignment_expression "pppppdStack_1f4 = (double *****)ppppppdVar22" (identifier "pppppdStack_1f4") (= "=") (cast_expression "(double *****)ppppppdVar22" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar22"))) (; ";")) (expression_statement "pppppdStack_1f0 = (double *****)ppppppdVar29;" (assignment_expression "pppppdStack_1f0 = (double *****)ppppppdVar29" (identifier "pppppdStack_1f0") (= "=") (cast_expression "(double *****)ppppppdVar29" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar29"))) (; ";")) (expression_statement "pcStack_1ec = pcVar4;" (assignment_expression "pcStack_1ec = pcVar4" (identifier "pcStack_1ec") (= "=") (identifier "pcVar4")) (; ";")) (expression_statement "piStack_1e8 = piVar31;" (assignment_expression "piStack_1e8 = piVar31" (identifier "piStack_1e8") (= "=") (identifier "piVar31")) (; ";")) (expression_statement "pppppdStack_1e4 = (double *****)ppppppdVar33;" (assignment_expression "pppppdStack_1e4 = (double *****)ppppppdVar33" (identifier "pppppdStack_1e4") (= "=") (cast_expression "(double *****)ppppppdVar33" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar33"))) (; ";")) (expression_statement "pppppdStack_1e0 = (double *****)ppppppdVar6;" (assignment_expression "pppppdStack_1e0 = (double *****)ppppppdVar6" (identifier "pppppdStack_1e0") (= "=") (cast_expression "(double *****)ppppppdVar6" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar6"))) (; ";")) (expression_statement "pcStack_1dc = pcVar37;" (assignment_expression "pcStack_1dc = pcVar37" (identifier "pcStack_1dc") (= "=") (identifier "pcVar37")) (; ";")) (if_statement "if (iVar28 != 0) {\n    iVar20 = *(int *)(iVar5 + 0x4c);\n    iVar25 = 0;\n    if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }\n    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);\n  }" (if "if") (parenthesized_expression "(iVar28 != 0)" (( "(") (binary_expression "iVar28 != 0" (identifier "iVar28") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar20 = *(int *)(iVar5 + 0x4c);\n    iVar25 = 0;\n    if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }\n    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);\n  }" ({ "{") (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" (identifier "iVar25") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < iVar20) {\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }" (if "if") (parenthesized_expression "(0 < iVar20)" (( "(") (binary_expression "0 < iVar20" (number_literal "0") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n      iVar27 = *(int *)(pcVar36 + 0xdaa20);\n      do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);\n    }" ({ "{") (expression_statement "iVar27 = *(int *)(pcVar36 + 0xdaa20);" (assignment_expression "iVar27 = *(int *)(pcVar36 + 0xdaa20)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(pcVar36 + 0xdaa20)" (* "*") (cast_expression "(int *)(pcVar36 + 0xdaa20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar36 + 0xdaa20)" (( "(") (binary_expression "pcVar36 + 0xdaa20" (identifier "pcVar36") (+ "+") (number_literal "0xdaa20")) () ")"))))) (; ";")) (do_statement "do {\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      } while (iVar25 < iVar20 << 1);" (do "do") (compound_statement "{\n        iVar20 = iVar25 * 4;\n        iVar25 = iVar25 + 1;\n        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = *(int *)(iVar5 + 0x5c);\n      }" ({ "{") (expression_statement "iVar20 = iVar25 * 4;" (assignment_expression "iVar20 = iVar25 * 4" (identifier "iVar20") (= "=") (binary_expression "iVar25 * 4" (identifier "iVar25") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar25 = iVar25 + 1;" (assignment_expression "iVar25 = iVar25 + 1" (identifier "iVar25") (= "=") (binary_expression "iVar25 + 1" (identifier "iVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));" (call_expression "(*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20))" (parenthesized_expression "(*(code *)(iVar27 + -0x18d4))" (( "(") (pointer_expression "*(code *)(iVar27 + -0x18d4)" (* "*") (cast_expression "(code *)(iVar27 + -0x18d4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar27 + -0x18d4)" (( "(") (binary_expression "iVar27 + -0x18d4" (identifier "iVar27") (+ "+") (number_literal "-0x18d4")) () ")")))) () ")")) (argument_list "(*(undefined4 *)(iVar28 + iVar20))" (( "(") (pointer_expression "*(undefined4 *)(iVar28 + iVar20)" (* "*") (cast_expression "(undefined4 *)(iVar28 + iVar20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + iVar20)" (( "(") (binary_expression "iVar28 + iVar20" (identifier "iVar28") (+ "+") (identifier "iVar20")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "iVar28 = *(int *)(iVar5 + 0x5c);" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x5c)" (identifier "iVar28") (= "=") (pointer_expression "*(int *)(iVar5 + 0x5c)" (* "*") (cast_expression "(int *)(iVar5 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x5c)" (( "(") (binary_expression "iVar5 + 0x5c" (identifier "iVar5") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar25 < iVar20 << 1)" (( "(") (binary_expression "iVar25 < iVar20 << 1" (identifier "iVar25") (< "<") (binary_expression "iVar20 << 1" (identifier "iVar20") (<< "<<") (number_literal "1"))) () ")")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);" (call_expression "(**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdabd0))" (( "(") (pointer_expression "**(code **)(pcVar36 + 0xdabd0)" (* "*") (pointer_expression "*(code **)(pcVar36 + 0xdabd0)" (* "*") (cast_expression "(code **)(pcVar36 + 0xdabd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar36 + 0xdabd0)" (( "(") (binary_expression "pcVar36 + 0xdabd0" (identifier "pcVar36") (+ "+") (number_literal "0xdabd0")) () ")"))))) () ")")) (argument_list "(iVar28,0,iVar20 << 3)" (( "(") (identifier "iVar28") (, ",") (number_literal "0") (, ",") (binary_expression "iVar20 << 3" (identifier "iVar20") (<< "<<") (number_literal "3")) () ")"))) (; ";")) (} "}"))) (expression_statement "ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2)" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)FUN_000b57e0(iVar5,2)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000b57e0(iVar5,2)" (identifier "FUN_000b57e0") (argument_list "(iVar5,2)" (( "(") (identifier "iVar5") (, ",") (number_literal "2") () ")"))))) (; ";")) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" (* "*") (cast_expression "(double *******)(iVar5 + 0x40)" (( "(") (type_descriptor "double *******" (primitive_type "double") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar5 + 0x40)" (( "(") (binary_expression "iVar5 + 0x40" (identifier "iVar5") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "ppppppdVar16")) (; ";")) (if_statement "if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;" (if "if") (parenthesized_expression "(ppppppdVar16 != (double ******)0x0)" (( "(") (binary_expression "ppppppdVar16 != (double ******)0x0" (identifier "ppppppdVar16") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";"))) (if_statement "if (*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)) {\nLAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;\n    goto LAB_000b6458;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8))" (( "(") (binary_expression "*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0x10)" (* "*") (cast_expression "(int *)(iVar5 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")")))) (<= "<=") (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\nLAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;\n    goto LAB_000b6458;\n  }" ({ "{") (labeled_statement "LAB_000b6494:\n    ppppppdVar16 = (double ******)0x65;" (statement_identifier "LAB_000b6494") (: ":") (expression_statement "ppppppdVar16 = (double ******)0x65;" (assignment_expression "ppppppdVar16 = (double ******)0x65" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)0x65" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x65"))) (; ";"))) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";")) (} "}"))) (expression_statement "(*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5);" (call_expression "(*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5)" (parenthesized_expression "(*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4)" (* "*") (cast_expression "(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4)" (( "(") (binary_expression "*(int *)(pcVar36 + 0xdaa1c) + 0x27a4" (pointer_expression "*(int *)(pcVar36 + 0xdaa1c)" (* "*") (cast_expression "(int *)(pcVar36 + 0xdaa1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar36 + 0xdaa1c)" (( "(") (binary_expression "pcVar36 + 0xdaa1c" (identifier "pcVar36") (+ "+") (number_literal "0xdaa1c")) () ")")))) (+ "+") (number_literal "0x27a4")) () ")")))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))) (; ";")) (expression_statement "iVar28 = *(int *)(iVar5 + 8);" (assignment_expression "iVar28 = *(int *)(iVar5 + 8)" (identifier "iVar28") (= "=") (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar25 = *(int *)(pcVar36 + 0xdaa20);" (assignment_expression "iVar25 = *(int *)(pcVar36 + 0xdaa20)" (identifier "iVar25") (= "=") (pointer_expression "*(int *)(pcVar36 + 0xdaa20)" (* "*") (cast_expression "(int *)(pcVar36 + 0xdaa20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar36 + 0xdaa20)" (( "(") (binary_expression "pcVar36 + 0xdaa20" (identifier "pcVar36") (+ "+") (number_literal "0xdaa20")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar5 + 4) = iVar28;" (assignment_expression "*(int *)(iVar5 + 4) = iVar28" (pointer_expression "*(int *)(iVar5 + 4)" (* "*") (cast_expression "(int *)(iVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar28")) (; ";")) (expression_statement "*(int *)(iVar5 + 8) = iVar28 + 1;" (assignment_expression "*(int *)(iVar5 + 8) = iVar28 + 1" (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "iVar28 + 1" (identifier "iVar28") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar1 = *(byte *)(iVar20 + iVar28);" (assignment_expression "bVar1 = *(byte *)(iVar20 + iVar28)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(iVar20 + iVar28)" (* "*") (cast_expression "(byte *)(iVar20 + iVar28)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + iVar28)" (( "(") (binary_expression "iVar20 + iVar28" (identifier "iVar20") (+ "+") (identifier "iVar28")) () ")"))))) (; ";")) (while_statement "while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {\n    if (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }\n    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);\n    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar5 + 0x30) = 0;\n    iStack_208 = iStack_208 - iVar28;\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;\n    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;\n    iVar28 = *(int *)(iVar5 + 0x4c) * 8;\n    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);\n    (**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);\n    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n    *(int *)(iVar5 + 0x58) = iVar28;\n    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;\n    ppppppdVar16 = (double ******)pppppdStack_20c;\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;\n    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n    iVar28 = *(int *)(iVar5 + 8);\n    *(int *)(iVar5 + 4) = iVar28;\n    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;\n    iVar20 = *(int *)(iVar5 + 0xc);\n    *(int *)(iVar5 + 8) = iVar28 + 1;\n    bVar1 = *(byte *)(iVar20 + iVar28);\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 (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }\n    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);\n    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }\n    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n    bVar1 = *pbVar11;\n    uVar8 = (uint)bVar1;\n    if ((char)bVar1 < '\0') {\n      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }\n    if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }\n    *(undefined4 *)(iVar5 + 0x30) = 0;\n    iStack_208 = iStack_208 - iVar28;\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;\n    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;\n    iVar28 = *(int *)(iVar5 + 0x4c) * 8;\n    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);\n    (**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);\n    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n    *(int *)(iVar5 + 0x58) = iVar28;\n    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;\n    ppppppdVar16 = (double ******)pppppdStack_20c;\n    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;\n    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n    iVar28 = *(int *)(iVar5 + 8);\n    *(int *)(iVar5 + 4) = iVar28;\n    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;\n    iVar20 = *(int *)(iVar5 + 0xc);\n    *(int *)(iVar5 + 8) = iVar28 + 1;\n    bVar1 = *(byte *)(iVar20 + iVar28);\n  }" ({ "{") (if_statement "if (ppppppdVar17 != (double ******)0x0) {\n      *ppppppdVar17 = (double *****)0x1;\n    }" (if "if") (parenthesized_expression "(ppppppdVar17 != (double ******)0x0)" (( "(") (binary_expression "ppppppdVar17 != (double ******)0x0" (identifier "ppppppdVar17") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *ppppppdVar17 = (double *****)0x1;\n    }" ({ "{") (expression_statement "*ppppppdVar17 = (double *****)0x1;" (assignment_expression "*ppppppdVar17 = (double *****)0x1" (pointer_expression "*ppppppdVar17" (* "*") (identifier "ppppppdVar17")) (= "=") (cast_expression "(double *****)0x1" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x1"))) (; ";")) (} "}"))) (expression_statement "*(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);" (assignment_expression "*(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50)" (pointer_expression "*(uint *)(iVar5 + 0x38)" (* "*") (cast_expression "(uint *)(iVar5 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (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 "pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);" (assignment_expression "pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208)" (identifier "pppppdStack_20c") (= "=") (cast_expression "(double *****)FUN_000b5998(iVar5,&iStack_208)" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "FUN_000b5998(iVar5,&iStack_208)" (identifier "FUN_000b5998") (argument_list "(iVar5,&iStack_208)" (( "(") (identifier "iVar5") (, ",") (pointer_expression "&iStack_208" (& "&") (identifier "iStack_208")) () ")"))))) (; ";")) (if_statement "if ((double ******)pppppdStack_20c != (double ******)0x0) {\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }" (if "if") (parenthesized_expression "((double ******)pppppdStack_20c != (double ******)0x0)" (( "(") (binary_expression "(double ******)pppppdStack_20c != (double ******)0x0" (cast_expression "(double ******)pppppdStack_20c" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_20c")) (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      ppppppdVar16 = (double ******)pppppdStack_20c;\n      goto LAB_000b6458;\n    }" ({ "{") (labeled_statement "LAB_000b6434:\n      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;" (statement_identifier "LAB_000b6434") (: ":") (expression_statement "*(double ******)(iVar5 + 0x40) = pppppdStack_20c;" (assignment_expression "*(double ******)(iVar5 + 0x40) = pppppdStack_20c" (pointer_expression "*(double ******)(iVar5 + 0x40)" (* "*") (cast_expression "(double ******)(iVar5 + 0x40)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(iVar5 + 0x40)" (( "(") (binary_expression "iVar5 + 0x40" (identifier "iVar5") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "pppppdStack_20c")) (; ";"))) (expression_statement "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);" (assignment_expression "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c)" (pointer_expression "*(int *)(iVar5 + 0x5c)" (* "*") (cast_expression "(int *)(iVar5 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x5c)" (( "(") (binary_expression "iVar5 + 0x5c" (identifier "iVar5") (+ "+") (number_literal "0x5c")) () ")")))) (= "=") (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" (identifier "iVar28") (= "=") (binary_expression "*(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (binary_expression "*(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")")))) (* "*") (number_literal "8")))) (; ";")) (expression_statement "*(int *)(iVar5 + 0x58) = iVar28;" (assignment_expression "*(int *)(iVar5 + 0x58) = iVar28" (pointer_expression "*(int *)(iVar5 + 0x58)" (* "*") (cast_expression "(int *)(iVar5 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x58)" (( "(") (binary_expression "iVar5 + 0x58" (identifier "iVar5") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "iVar28")) (; ";")) (expression_statement "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);" (assignment_expression "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c)" (pointer_expression "*(int *)(iVar5 + 0x48)" (* "*") (cast_expression "(int *)(iVar5 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x48)" (( "(") (binary_expression "iVar5 + 0x48" (identifier "iVar5") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (binary_expression "iVar28 + *(int *)(iVar5 + 0x4c)" (identifier "iVar28") (+ "+") (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")")))))) (; ";")) (expression_statement "ppppppdVar16 = (double ******)pppppdStack_20c;" (assignment_expression "ppppppdVar16 = (double ******)pppppdStack_20c" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)pppppdStack_20c" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_20c"))) (; ";")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";")) (} "}"))) (expression_statement "pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));" (assignment_expression "pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" (identifier "pbVar11") (= "=") (cast_expression "(byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" (( "(") (binary_expression "*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (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      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }\n    else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 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      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);\n      uVar8 = *(uint *)(iVar5 + 0x4c);\n    }" ({ "{") (expression_statement "iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);" (assignment_expression "iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c)" (identifier "iVar28") (= "=") (call_expression "(*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c)" (parenthesized_expression "(*(code *)(iVar25 + 0x3388))" (( "(") (pointer_expression "*(code *)(iVar25 + 0x3388)" (* "*") (cast_expression "(code *)(iVar25 + 0x3388)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar25 + 0x3388)" (( "(") (binary_expression "iVar25 + 0x3388" (identifier "iVar25") (+ "+") (number_literal "0x3388")) () ")")))) () ")")) (argument_list "(pbVar11,iVar5 + 0x4c)" (( "(") (identifier "pbVar11") (, ",") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")")))) (; ";")) (expression_statement "uVar8 = *(uint *)(iVar5 + 0x4c);" (assignment_expression "uVar8 = *(uint *)(iVar5 + 0x4c)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(iVar5 + 0x4c)" (* "*") (cast_expression "(uint *)(iVar5 + 0x4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }" (else "else") (compound_statement "{\n      iVar28 = 1;\n      *(uint *)(iVar5 + 0x4c) = uVar8;\n    }" ({ "{") (expression_statement "iVar28 = 1;" (assignment_expression "iVar28 = 1" (identifier "iVar28") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(uint *)(iVar5 + 0x4c) = uVar8;" (assignment_expression "*(uint *)(iVar5 + 0x4c) = uVar8" (pointer_expression "*(uint *)(iVar5 + 0x4c)" (* "*") (cast_expression "(uint *)(iVar5 + 0x4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (} "}")))) (if_statement "if ((int)uVar8 < 1) {\n      (**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 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 **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);\n      ppppppdVar16 = (double ******)&DAT_0000000b;\n      *(undefined4 *)(iVar5 + 0x40) = 0xb;\n      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);\n      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;\n      *(int *)(iVar5 + 0x58) = iVar28;\n      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);\n      goto LAB_000b6458;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(pcVar36 + 0xdaa58))\n                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdaa58))" (( "(") (pointer_expression "**(code **)(pcVar36 + 0xdaa58)" (* "*") (pointer_expression "*(code **)(pcVar36 + 0xdaa58)" (* "*") (cast_expression "(code **)(pcVar36 + 0xdaa58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar36 + 0xdaa58)" (( "(") (binary_expression "pcVar36 + 0xdaa58" (identifier "pcVar36") (+ "+") (number_literal "0xdaa58")) () ")"))))) () ")")) (argument_list "(0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,\n                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c)" (( "(") (number_literal "0xb") (, ",") (binary_expression "*(int *)(pcVar36 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(pcVar36 + 0xda7d4)" (* "*") (cast_expression "(int *)(pcVar36 + 0xda7d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar36 + 0xda7d4)" (( "(") (binary_expression "pcVar36 + 0xda7d4" (identifier "pcVar36") (+ "+") (number_literal "0xda7d4")) () ")")))) (+ "+") (number_literal "-0x6378")) (, ",") (binary_expression "*(int *)(pcVar36 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(pcVar36 + 0xda7d4)" (* "*") (cast_expression "(int *)(pcVar36 + 0xda7d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar36 + 0xda7d4)" (( "(") (binary_expression "pcVar36 + 0xda7d4" (identifier "pcVar36") (+ "+") (number_literal "0xda7d4")) () ")")))) (+ "+") (number_literal "-0x5e64")) (, ",") (number_literal "0x3018b") (, ",") (binary_expression "*(int *)(pcVar36 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(pcVar36 + 0xda7d0)" (* "*") (cast_expression "(int *)(pcVar36 + 0xda7d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar36 + 0xda7d0)" (( "(") (binary_expression "pcVar36 + 0xda7d0" (identifier "pcVar36") (+ "+") (number_literal "0xda7d0")) () ")")))) (+ "+") (number_literal "0x625c")) () ")"))) (; ";")) (expression_statement "ppppppdVar16 = (double ******)&DAT_0000000b;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_0000000b" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)&DAT_0000000b" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_0000000b" (& "&") (identifier "DAT_0000000b")))) (; ";")) (expression_statement "*(undefined4 *)(iVar5 + 0x40) = 0xb;" (assignment_expression "*(undefined4 *)(iVar5 + 0x40) = 0xb" (pointer_expression "*(undefined4 *)(iVar5 + 0x40)" (* "*") (cast_expression "(undefined4 *)(iVar5 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x40)" (( "(") (binary_expression "iVar5 + 0x40" (identifier "iVar5") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (number_literal "0xb")) (; ";")) (expression_statement "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);" (assignment_expression "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c)" (pointer_expression "*(int *)(iVar5 + 0x5c)" (* "*") (cast_expression "(int *)(iVar5 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x5c)" (( "(") (binary_expression "iVar5 + 0x5c" (identifier "iVar5") (+ "+") (number_literal "0x5c")) () ")")))) (= "=") (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" (identifier "iVar28") (= "=") (binary_expression "*(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (binary_expression "*(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")")))) (* "*") (number_literal "8")))) (; ";")) (expression_statement "*(int *)(iVar5 + 0x58) = iVar28;" (assignment_expression "*(int *)(iVar5 + 0x58) = iVar28" (pointer_expression "*(int *)(iVar5 + 0x58)" (* "*") (cast_expression "(int *)(iVar5 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x58)" (( "(") (binary_expression "iVar5 + 0x58" (identifier "iVar5") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "iVar28")) (; ";")) (expression_statement "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);" (assignment_expression "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c)" (pointer_expression "*(int *)(iVar5 + 0x48)" (* "*") (cast_expression "(int *)(iVar5 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x48)" (( "(") (binary_expression "iVar5 + 0x48" (identifier "iVar5") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (binary_expression "iVar28 + *(int *)(iVar5 + 0x4c)" (identifier "iVar28") (+ "+") (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")")))))) (; ";")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(iVar5 + 0x30) = 0;" (assignment_expression "*(undefined4 *)(iVar5 + 0x30) = 0" (pointer_expression "*(undefined4 *)(iVar5 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar5 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x30)" (( "(") (binary_expression "iVar5 + 0x30" (identifier "iVar5") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_208 = iStack_208 - iVar28;" (assignment_expression "iStack_208 = iStack_208 - iVar28" (identifier "iStack_208") (= "=") (binary_expression "iStack_208 - iVar28" (identifier "iStack_208") (- "-") (identifier "iVar28"))) (; ";")) (expression_statement "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;" (assignment_expression "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28" (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(int *)(iVar5 + 8) + iVar28" (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")")))) (+ "+") (identifier "iVar28"))) (; ";")) (expression_statement "FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);" (call_expression "FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c)" (identifier "FUN_000b4d08") (argument_list "(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) (, ",") (binary_expression "uVar8 * 8 + iStack_208" (binary_expression "uVar8 * 8" (identifier "uVar8") (* "*") (number_literal "8")) (+ "+") (identifier "iStack_208")) (, ",") (pointer_expression "&pppppdStack_20c" (& "&") (identifier "pppppdStack_20c")) () ")"))) (; ";")) (if_statement "if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;" (if "if") (parenthesized_expression "((double ******)pppppdStack_20c != (double ******)0x0)" (( "(") (binary_expression "(double ******)pppppdStack_20c != (double ******)0x0" (cast_expression "(double ******)pppppdStack_20c" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_20c")) (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b6434;" (goto "goto") (statement_identifier "LAB_000b6434") (; ";"))) (expression_statement "iVar28 = *(int *)(iVar5 + 0x4c) * 8;" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x4c) * 8" (identifier "iVar28") (= "=") (binary_expression "*(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")")))) (* "*") (number_literal "8"))) (; ";")) (expression_statement "(**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);" (call_expression "(**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdabd0))" (( "(") (pointer_expression "**(code **)(pcVar36 + 0xdabd0)" (* "*") (pointer_expression "*(code **)(pcVar36 + 0xdabd0)" (* "*") (cast_expression "(code **)(pcVar36 + 0xdabd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar36 + 0xdabd0)" (( "(") (binary_expression "pcVar36 + 0xdabd0" (identifier "pcVar36") (+ "+") (number_literal "0xdabd0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar5 + 0x2c),0,iVar28)" (( "(") (pointer_expression "*(undefined4 *)(iVar5 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(iVar5 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (, ",") (number_literal "0") (, ",") (identifier "iVar28") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208);" (call_expression "(**(code **)(pcVar36 + 0xdaca4))\n              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdaca4))" (( "(") (pointer_expression "**(code **)(pcVar36 + 0xdaca4)" (* "*") (pointer_expression "*(code **)(pcVar36 + 0xdaca4)" (* "*") (cast_expression "(code **)(pcVar36 + 0xdaca4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar36 + 0xdaca4)" (( "(") (binary_expression "pcVar36 + 0xdaca4" (identifier "pcVar36") (+ "+") (number_literal "0xdaca4")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),\n               iStack_208)" (( "(") (binary_expression "*(int *)(iVar5 + 0x2c) + iVar28" (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (identifier "iVar28")) (, ",") (binary_expression "*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) (, ",") (identifier "iStack_208") () ")"))) (; ";")) (expression_statement "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" (identifier "iVar28") (= "=") (binary_expression "*(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (binary_expression "*(int *)(iVar5 + 0x4c) * 8" (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")")))) (* "*") (number_literal "8")))) (; ";")) (expression_statement "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);" (assignment_expression "*(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c)" (pointer_expression "*(int *)(iVar5 + 0x5c)" (* "*") (cast_expression "(int *)(iVar5 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x5c)" (( "(") (binary_expression "iVar5 + 0x5c" (identifier "iVar5") (+ "+") (number_literal "0x5c")) () ")")))) (= "=") (pointer_expression "*(int *)(iVar5 + 0x2c)" (* "*") (cast_expression "(int *)(iVar5 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar5 + 0x58) = iVar28;" (assignment_expression "*(int *)(iVar5 + 0x58) = iVar28" (pointer_expression "*(int *)(iVar5 + 0x58)" (* "*") (cast_expression "(int *)(iVar5 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x58)" (( "(") (binary_expression "iVar5 + 0x58" (identifier "iVar5") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "iVar28")) (; ";")) (expression_statement "*(double ******)(iVar5 + 0x40) = pppppdStack_20c;" (assignment_expression "*(double ******)(iVar5 + 0x40) = pppppdStack_20c" (pointer_expression "*(double ******)(iVar5 + 0x40)" (* "*") (cast_expression "(double ******)(iVar5 + 0x40)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(iVar5 + 0x40)" (( "(") (binary_expression "iVar5 + 0x40" (identifier "iVar5") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "pppppdStack_20c")) (; ";")) (expression_statement "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);" (assignment_expression "*(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c)" (pointer_expression "*(int *)(iVar5 + 0x48)" (* "*") (cast_expression "(int *)(iVar5 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x48)" (( "(") (binary_expression "iVar5 + 0x48" (identifier "iVar5") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (binary_expression "iVar28 + *(int *)(iVar5 + 0x4c)" (identifier "iVar28") (+ "+") (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")")))))) (; ";")) (expression_statement "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;" (assignment_expression "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208" (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(int *)(iVar5 + 8) + iStack_208" (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")")))) (+ "+") (identifier "iStack_208"))) (; ";")) (expression_statement "ppppppdVar16 = (double ******)pppppdStack_20c;" (assignment_expression "ppppppdVar16 = (double ******)pppppdStack_20c" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)pppppdStack_20c" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_20c"))) (; ";")) (if_statement "if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;" (if "if") (parenthesized_expression "((double ******)pppppdStack_20c != (double ******)0x0)" (( "(") (binary_expression "(double ******)pppppdStack_20c != (double ******)0x0" (cast_expression "(double ******)pppppdStack_20c" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_20c")) (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";"))) (expression_statement "ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2)" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)FUN_000b57e0(iVar5,2)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000b57e0(iVar5,2)" (identifier "FUN_000b57e0") (argument_list "(iVar5,2)" (( "(") (identifier "iVar5") (, ",") (number_literal "2") () ")"))))) (; ";")) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" (* "*") (cast_expression "(double *******)(iVar5 + 0x40)" (( "(") (type_descriptor "double *******" (primitive_type "double") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar5 + 0x40)" (( "(") (binary_expression "iVar5 + 0x40" (identifier "iVar5") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "ppppppdVar16")) (; ";")) (if_statement "if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;" (if "if") (parenthesized_expression "(ppppppdVar16 != (double ******)0x0)" (( "(") (binary_expression "ppppppdVar16 != (double ******)0x0" (identifier "ppppppdVar16") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";"))) (expression_statement "iVar28 = *(int *)(iVar5 + 8);" (assignment_expression "iVar28 = *(int *)(iVar5 + 8)" (identifier "iVar28") (= "=") (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar5 + 4) = iVar28;" (assignment_expression "*(int *)(iVar5 + 4) = iVar28" (pointer_expression "*(int *)(iVar5 + 4)" (* "*") (cast_expression "(int *)(iVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar28")) (; ";")) (if_statement "if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x10) <= iVar28)" (( "(") (binary_expression "*(int *)(iVar5 + 0x10) <= iVar28" (pointer_expression "*(int *)(iVar5 + 0x10)" (* "*") (cast_expression "(int *)(iVar5 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")")))) (<= "<=") (identifier "iVar28")) () ")")) (goto_statement "goto LAB_000b6494;" (goto "goto") (statement_identifier "LAB_000b6494") (; ";"))) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar5 + 8) = iVar28 + 1;" (assignment_expression "*(int *)(iVar5 + 8) = iVar28 + 1" (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "iVar28 + 1" (identifier "iVar28") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar1 = *(byte *)(iVar20 + iVar28);" (assignment_expression "bVar1 = *(byte *)(iVar20 + iVar28)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(iVar20 + iVar28)" (* "*") (cast_expression "(byte *)(iVar20 + iVar28)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + iVar28)" (( "(") (binary_expression "iVar20 + iVar28" (identifier "iVar20") (+ "+") (identifier "iVar28")) () ")"))))) (; ";")) (} "}"))) (if_statement "if ((*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))) {\n    uVar18 = 0x301e0;\n  }\n  else {\n    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" (if "if") (parenthesized_expression "((*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0))))" (( "(") (binary_expression "(*(int *)(iVar5 + 0x48) == 0) ||\n     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))" (parenthesized_expression "(*(int *)(iVar5 + 0x48) == 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x48) == 0" (pointer_expression "*(int *)(iVar5 + 0x48)" (* "*") (cast_expression "(int *)(iVar5 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x48)" (( "(") (binary_expression "iVar5 + 0x48" (identifier "iVar5") (+ "+") (number_literal "0x48")) () ")")))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))" (( "(") (parenthesized_expression "(iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0))" (( "(") (comma_expression "iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x38)" (identifier "iVar28") (= "=") (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")"))))) (, ",") (binary_expression "iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)" (binary_expression "iVar28 != 0" (identifier "iVar28") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(*(int *)(iVar5 + 0x3c) != 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x3c) != 0" (pointer_expression "*(int *)(iVar5 + 0x3c)" (* "*") (cast_expression "(int *)(iVar5 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x3c)" (( "(") (binary_expression "iVar5 + 0x3c" (identifier "iVar5") (+ "+") (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    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" (else "else") (compound_statement "{\n    iVar25 = *(int *)(iVar5 + 8);\n    *(uint *)(iVar5 + 0x50) = uVar8;\n    *(int *)(iVar5 + 8) = iVar25 + 1;\n    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);\n    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }\n    uVar18 = 0x301e6;\n  }" ({ "{") (expression_statement "iVar25 = *(int *)(iVar5 + 8);" (assignment_expression "iVar25 = *(int *)(iVar5 + 8)" (identifier "iVar25") (= "=") (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar5 + 0x50) = uVar8;" (assignment_expression "*(uint *)(iVar5 + 0x50) = uVar8" (pointer_expression "*(uint *)(iVar5 + 0x50)" (* "*") (cast_expression "(uint *)(iVar5 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x50)" (( "(") (binary_expression "iVar5 + 0x50" (identifier "iVar5") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(int *)(iVar5 + 8) = iVar25 + 1;" (assignment_expression "*(int *)(iVar5 + 8) = iVar25 + 1" (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "iVar25 + 1" (identifier "iVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);" (assignment_expression "*(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25)" (pointer_expression "*(uint *)(iVar5 + 0x54)" (* "*") (cast_expression "(uint *)(iVar5 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x54)" (( "(") (binary_expression "iVar5 + 0x54" (identifier "iVar5") (+ "+") (number_literal "0x54")) () ")")))) (= "=") (binary_expression "(uint)*(byte *)(iVar20 + iVar25)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar20 + iVar25)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + iVar25)" (( "(") (binary_expression "iVar20 + iVar25" (identifier "iVar20") (+ "+") (identifier "iVar25")) () ")"))))) (; ";")) (if_statement "if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {\n      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\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      iVar20 = *(int *)(iVar5 + 0x4c);\n      if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }\n      iVar19 = *(int *)(iVar5 + 0x5c);\n      iVar27 = iVar19 + iVar20 * 4;\n      iVar25 = iVar19;\n      if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }\n      if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }\nLAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;\n      goto LAB_000b6458;\n    }" ({ "{") (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (if_statement "if (ppppppdVar14 != (double ******)0x0) {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }" (if "if") (parenthesized_expression "(ppppppdVar14 != (double ******)0x0)" (( "(") (binary_expression "ppppppdVar14 != (double ******)0x0" (identifier "ppppppdVar14") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }\n        if (uVar8 != 0x17) goto LAB_000b65d4;\n        iVar20 = iVar20 << 1;\n        goto LAB_000b65d4;\n      }" ({ "{") (if_statement "if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );\n        }" (if "if") (parenthesized_expression "(iVar28 != 0)" (( "(") (binary_expression "iVar28 != 0" (identifier "iVar28") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (uVar8 != 9) goto LAB_000b65d4;\n          if (iVar20 < 1) goto LAB_000b6830;\n          pcVar9 = *(char **)(iVar5 + 0x58);\n          pcVar13 = pcVar9 + iVar20;\n          iVar20 = 0;\n          do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == 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 (iVar20 < 1) goto LAB_000b6830;" (if "if") (parenthesized_expression "(iVar20 < 1)" (( "(") (binary_expression "iVar20 < 1" (identifier "iVar20") (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_000b6830;" (goto "goto") (statement_identifier "LAB_000b6830") (; ";"))) (expression_statement "pcVar9 = *(char **)(iVar5 + 0x58);" (assignment_expression "pcVar9 = *(char **)(iVar5 + 0x58)" (identifier "pcVar9") (= "=") (pointer_expression "*(char **)(iVar5 + 0x58)" (* "*") (cast_expression "(char **)(iVar5 + 0x58)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x58)" (( "(") (binary_expression "iVar5 + 0x58" (identifier "iVar5") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "pcVar13 = pcVar9 + iVar20;" (assignment_expression "pcVar13 = pcVar9 + iVar20" (identifier "pcVar13") (= "=") (binary_expression "pcVar9 + iVar20" (identifier "pcVar9") (+ "+") (identifier "iVar20"))) (; ";")) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          } while( true );" (do "do") (compound_statement "{\n            if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 1;\n            }\n            pcVar9 = pcVar9 + 1;\n            if (pcVar13 == pcVar9) goto LAB_000b65d4;\n          }" ({ "{") (if_statement "if (*pcVar9 != '\0') {\n              iVar20 = iVar20 + 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              iVar20 = iVar20 + 1;\n            }" ({ "{") (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (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 (pcVar13 == pcVar9) goto LAB_000b65d4;" (if "if") (parenthesized_expression "(pcVar13 == pcVar9)" (( "(") (binary_expression "pcVar13 == pcVar9" (identifier "pcVar13") (== "==") (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 "iVar20 = iVar20 << 1;" (assignment_expression "iVar20 = iVar20 << 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 << 1" (identifier "iVar20") (<< "<<") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_000b65d4;" (goto "goto") (statement_identifier "LAB_000b65d4") (; ";")) (} "}"))) (expression_statement "iVar19 = *(int *)(iVar5 + 0x5c);" (assignment_expression "iVar19 = *(int *)(iVar5 + 0x5c)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(iVar5 + 0x5c)" (* "*") (cast_expression "(int *)(iVar5 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x5c)" (( "(") (binary_expression "iVar5 + 0x5c" (identifier "iVar5") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (expression_statement "iVar27 = iVar19 + iVar20 * 4;" (assignment_expression "iVar27 = iVar19 + iVar20 * 4" (identifier "iVar27") (= "=") (binary_expression "iVar19 + iVar20 * 4" (identifier "iVar19") (+ "+") (binary_expression "iVar20 * 4" (identifier "iVar20") (* "*") (number_literal "4")))) (; ";")) (expression_statement "iVar25 = iVar19;" (assignment_expression "iVar25 = iVar19" (identifier "iVar25") (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (*(int *)(iVar5 + 0x3c) != 0) {\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x3c) != 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x3c) != 0" (pointer_expression "*(int *)(iVar5 + 0x3c)" (* "*") (cast_expression "(int *)(iVar5 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x3c)" (( "(") (binary_expression "iVar5 + 0x3c" (identifier "iVar5") (+ "+") (number_literal "0x3c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar25 = iVar27;\n        iVar27 = iVar19;\n      }" ({ "{") (expression_statement "iVar25 = iVar27;" (assignment_expression "iVar25 = iVar27" (identifier "iVar25") (= "=") (identifier "iVar27")) (; ";")) (expression_statement "iVar27 = iVar19;" (assignment_expression "iVar27 = iVar19" (identifier "iVar27") (= "=") (identifier "iVar19")) (; ";")) (} "}"))) (if_statement "if (uVar8 == 0x12) {\nLAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }\n      else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\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        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }\n        iVar20 = *(int *)(iVar5 + 0x4c);\n        iVar28 = 0;\n        if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }\n      }" ({ "{") (labeled_statement "LAB_000b6678:\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);" (statement_identifier "LAB_000b6678") (: ":") (expression_statement "ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27)" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000b5d20(iVar5,iVar20,0,iVar27)" (identifier "FUN_000b5d20") (argument_list "(iVar5,iVar20,0,iVar27)" (( "(") (identifier "iVar5") (, ",") (identifier "iVar20") (, ",") (number_literal "0") (, ",") (identifier "iVar27") () ")"))))) (; ";"))) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" (* "*") (cast_expression "(double *******)(iVar5 + 0x40)" (( "(") (type_descriptor "double *******" (primitive_type "double") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar5 + 0x40)" (( "(") (binary_expression "iVar5 + 0x40" (identifier "iVar5") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "ppppppdVar16")) (; ";")) (if_statement "if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;" (if "if") (parenthesized_expression "(ppppppdVar16 != (double ******)0x0)" (( "(") (binary_expression "ppppppdVar16 != (double ******)0x0" (identifier "ppppppdVar16") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";"))) (if_statement "if (*(int *)(iVar5 + 0x38) == 0) {\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }\n        else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x38) == 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x38) == 0" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) goto LAB_000b6788;\n        }" ({ "{") (if_statement "if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x3c) == 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x3c) == 0" (pointer_expression "*(int *)(iVar5 + 0x3c)" (* "*") (cast_expression "(int *)(iVar5 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x3c)" (( "(") (binary_expression "iVar5 + 0x3c" (identifier "iVar5") (+ "+") (number_literal "0x3c")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b6734;" (goto "goto") (statement_identifier "LAB_000b6734") (; ";"))) (expression_statement "iVar28 = *(int *)(iVar5 + 0x50);" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x50)" (identifier "iVar28") (= "=") (pointer_expression "*(int *)(iVar5 + 0x50)" (* "*") (cast_expression "(int *)(iVar5 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x50)" (( "(") (binary_expression "iVar5 + 0x50" (identifier "iVar5") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (if_statement "if (iVar28 != 0x17) goto LAB_000b6788;" (if "if") (parenthesized_expression "(iVar28 != 0x17)" (( "(") (binary_expression "iVar28 != 0x17" (identifier "iVar28") (!= "!=") (number_literal "0x17")) () ")")) (goto_statement "goto LAB_000b6788;" (goto "goto") (statement_identifier "LAB_000b6788") (; ";"))) (} "}")) (else_clause "else {\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" (else "else") (compound_statement "{\n          iVar28 = *(int *)(iVar5 + 0x50);\n          if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }\n        }" ({ "{") (expression_statement "iVar28 = *(int *)(iVar5 + 0x50);" (assignment_expression "iVar28 = *(int *)(iVar5 + 0x50)" (identifier "iVar28") (= "=") (pointer_expression "*(int *)(iVar5 + 0x50)" (* "*") (cast_expression "(int *)(iVar5 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x50)" (( "(") (binary_expression "iVar5 + 0x50" (identifier "iVar5") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (if_statement "if (iVar28 != 0x17) {\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }" (if "if") (parenthesized_expression "(iVar28 != 0x17)" (( "(") (binary_expression "iVar28 != 0x17" (identifier "iVar28") (!= "!=") (number_literal "0x17")) () ")")) (compound_statement "{\n            iVar20 = *(int *)(iVar5 + 0x3c);\n            goto LAB_000b6780;\n          }" ({ "{") (expression_statement "iVar20 = *(int *)(iVar5 + 0x3c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x3c)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar5 + 0x3c)" (* "*") (cast_expression "(int *)(iVar5 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x3c)" (( "(") (binary_expression "iVar5 + 0x3c" (identifier "iVar5") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (goto_statement "goto LAB_000b6780;" (goto "goto") (statement_identifier "LAB_000b6780") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" (identifier "iVar28") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < iVar20) {\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }" (if "if") (parenthesized_expression "(0 < iVar20)" (( "(") (binary_expression "0 < iVar20" (number_literal "0") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n          do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);\n        }" ({ "{") (do_statement "do {\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          } while (iVar28 < iVar20);" (do "do") (compound_statement "{\n            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }\n            iVar28 = iVar28 + 1;\n          }" ({ "{") (if_statement "if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0'" (pointer_expression "*(char *)(*(int *)(iVar5 + 0x58) + iVar28)" (* "*") (cast_expression "(char *)(*(int *)(iVar5 + 0x58) + iVar28)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0x58) + iVar28)" (( "(") (binary_expression "*(int *)(iVar5 + 0x58) + iVar28" (pointer_expression "*(int *)(iVar5 + 0x58)" (* "*") (cast_expression "(int *)(iVar5 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x58)" (( "(") (binary_expression "iVar5 + 0x58" (identifier "iVar5") (+ "+") (number_literal "0x58")) () ")")))) (+ "+") (identifier "iVar28")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);\n              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }\n              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;\n              iVar20 = *(int *)(iVar5 + 0x4c);\n            }" ({ "{") (expression_statement "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);" (assignment_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =\n                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4)" (pointer_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" (( "(") (binary_expression "*(int *)(iVar5 + 0x5c) + iVar28 * 4" (pointer_expression "*(int *)(iVar5 + 0x5c)" (* "*") (cast_expression "(int *)(iVar5 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x5c)" (( "(") (binary_expression "iVar5 + 0x5c" (identifier "iVar5") (+ "+") (number_literal "0x5c")) () ")")))) (+ "+") (binary_expression "iVar28 * 4" (identifier "iVar28") (* "*") (number_literal "4"))) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4)" (( "(") (binary_expression "*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4" (pointer_expression "*(int *)(iVar5 + 0x5c)" (* "*") (cast_expression "(int *)(iVar5 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x5c)" (( "(") (binary_expression "iVar5 + 0x5c" (identifier "iVar5") (+ "+") (number_literal "0x5c")) () ")")))) (+ "+") (binary_expression "(iVar20 + iVar28) * 4" (parenthesized_expression "(iVar20 + iVar28)" (( "(") (binary_expression "iVar20 + iVar28" (identifier "iVar20") (+ "+") (identifier "iVar28")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {\n                uVar18 = 0x30212;\n                goto LAB_000b653c;\n              }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0" (pointer_expression "*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0x5c) + iVar28 * 4)" (( "(") (binary_expression "*(int *)(iVar5 + 0x5c) + iVar28 * 4" (pointer_expression "*(int *)(iVar5 + 0x5c)" (* "*") (cast_expression "(int *)(iVar5 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x5c)" (( "(") (binary_expression "iVar5 + 0x5c" (identifier "iVar5") (+ "+") (number_literal "0x5c")) () ")")))) (+ "+") (binary_expression "iVar28 * 4" (identifier "iVar28") (* "*") (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 *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4)" (( "(") (binary_expression "*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4" (pointer_expression "*(int *)(iVar5 + 0x5c)" (* "*") (cast_expression "(int *)(iVar5 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x5c)" (( "(") (binary_expression "iVar5 + 0x5c" (identifier "iVar5") (+ "+") (number_literal "0x5c")) () ")")))) (+ "+") (binary_expression "(iVar28 + *(int *)(iVar5 + 0x4c)) * 4" (parenthesized_expression "(iVar28 + *(int *)(iVar5 + 0x4c))" (( "(") (binary_expression "iVar28 + *(int *)(iVar5 + 0x4c)" (identifier "iVar28") (+ "+") (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")"))))) () ")")) (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar28 = iVar28 + 1;" (assignment_expression "iVar28 = iVar28 + 1" (identifier "iVar28") (= "=") (binary_expression "iVar28 + 1" (identifier "iVar28") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar28 < iVar20)" (( "(") (binary_expression "iVar28 < iVar20" (identifier "iVar28") (< "<") (identifier "iVar20")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }" (else "else") (compound_statement "{\n        if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }\n        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);\n        *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;\n        if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }\n        if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }\nLAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }\n        if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }\n      }" ({ "{") (if_statement "if (iVar28 != 0) {\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 0x58);\n        }" (if "if") (parenthesized_expression "(iVar28 != 0)" (( "(") (binary_expression "iVar28 != 0" (identifier "iVar28") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (uVar8 != 9) goto LAB_000b6678;\n          ppppppdVar14 = *(double *******)(iVar5 + 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 "ppppppdVar14 = *(double *******)(iVar5 + 0x58);" (assignment_expression "ppppppdVar14 = *(double *******)(iVar5 + 0x58)" (identifier "ppppppdVar14") (= "=") (pointer_expression "*(double *******)(iVar5 + 0x58)" (* "*") (cast_expression "(double *******)(iVar5 + 0x58)" (( "(") (type_descriptor "double *******" (primitive_type "double") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar5 + 0x58)" (( "(") (binary_expression "iVar5 + 0x58" (identifier "iVar5") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (} "}"))) (expression_statement "ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25)" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25)" (identifier "FUN_000b5d20") (argument_list "(iVar5,iVar20,ppppppdVar14,iVar25)" (( "(") (identifier "iVar5") (, ",") (identifier "iVar20") (, ",") (identifier "ppppppdVar14") (, ",") (identifier "iVar25") () ")"))))) (; ";")) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" (* "*") (cast_expression "(double *******)(iVar5 + 0x40)" (( "(") (type_descriptor "double *******" (primitive_type "double") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar5 + 0x40)" (( "(") (binary_expression "iVar5 + 0x40" (identifier "iVar5") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "ppppppdVar16")) (; ";")) (if_statement "if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;" (if "if") (parenthesized_expression "(ppppppdVar16 != (double ******)0x0)" (( "(") (binary_expression "ppppppdVar16 != (double ******)0x0" (identifier "ppppppdVar16") (!= "!=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";"))) (if_statement "if (*(int *)(iVar5 + 0x50) != 9) {\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x50) != 9)" (( "(") (binary_expression "*(int *)(iVar5 + 0x50) != 9" (pointer_expression "*(int *)(iVar5 + 0x50)" (* "*") (cast_expression "(int *)(iVar5 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x50)" (( "(") (binary_expression "iVar5 + 0x50" (identifier "iVar5") (+ "+") (number_literal "0x50")) () ")")))) (!= "!=") (number_literal "9")) () ")")) (compound_statement "{\n          iVar20 = *(int *)(iVar5 + 0x4c);\n          goto LAB_000b6678;\n        }" ({ "{") (expression_statement "iVar20 = *(int *)(iVar5 + 0x4c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x4c)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar5 + 0x4c)" (* "*") (cast_expression "(int *)(iVar5 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x4c)" (( "(") (binary_expression "iVar5 + 0x4c" (identifier "iVar5") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (goto_statement "goto LAB_000b6678;" (goto "goto") (statement_identifier "LAB_000b6678") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar5 + 0x38) == 0) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }\n        else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x38) == 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x38) == 0" (pointer_expression "*(int *)(iVar5 + 0x38)" (* "*") (cast_expression "(int *)(iVar5 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;\n          iVar28 = 9;\n        }" ({ "{") (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)&DAT_00000064" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000064" (& "&") (identifier "DAT_00000064")))) (; ";")) (if_statement "if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0x3c) == 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x3c) == 0" (pointer_expression "*(int *)(iVar5 + 0x3c)" (* "*") (cast_expression "(int *)(iVar5 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x3c)" (( "(") (binary_expression "iVar5 + 0x3c" (identifier "iVar5") (+ "+") (number_literal "0x3c")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";"))) (expression_statement "iVar28 = 9;" (assignment_expression "iVar28 = 9" (identifier "iVar28") (= "=") (number_literal "9")) (; ";")) (} "}")) (else_clause "else {\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }" (else "else") (compound_statement "{\n          iVar20 = *(int *)(iVar5 + 0x3c);\n          iVar28 = 9;\nLAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          if (iVar20 == 0) goto LAB_000b6458;\n        }" ({ "{") (expression_statement "iVar20 = *(int *)(iVar5 + 0x3c);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0x3c)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar5 + 0x3c)" (* "*") (cast_expression "(int *)(iVar5 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x3c)" (( "(") (binary_expression "iVar5 + 0x3c" (identifier "iVar5") (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "iVar28 = 9;" (assignment_expression "iVar28 = 9" (identifier "iVar28") (= "=") (number_literal "9")) (; ";")) (labeled_statement "LAB_000b6780:\n          ppppppdVar16 = (double ******)&DAT_00000064;" (statement_identifier "LAB_000b6780") (: ":") (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)&DAT_00000064" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000064" (& "&") (identifier "DAT_00000064")))) (; ";"))) (if_statement "if (iVar20 == 0) goto LAB_000b6458;" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";"))) (} "}")))) (labeled_statement "LAB_000b6788:\n        if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" (statement_identifier "LAB_000b6788") (: ":") (if_statement "if (iVar28 == 0x12) {\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" (if "if") (parenthesized_expression "(iVar28 == 0x12)" (( "(") (binary_expression "iVar28 == 0x12" (identifier "iVar28") (== "==") (number_literal "0x12")) () ")")) (compound_statement "{\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          *(undefined4 *)(iVar5 + 0x50) = 9;\n          goto LAB_000b6458;\n        }" ({ "{") (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)&DAT_00000064" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000064" (& "&") (identifier "DAT_00000064")))) (; ";")) (expression_statement "*(undefined4 *)(iVar5 + 0x50) = 9;" (assignment_expression "*(undefined4 *)(iVar5 + 0x50) = 9" (pointer_expression "*(undefined4 *)(iVar5 + 0x50)" (* "*") (cast_expression "(undefined4 *)(iVar5 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x50)" (( "(") (binary_expression "iVar5 + 0x50" (identifier "iVar5") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (number_literal "9")) (; ";")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";")) (} "}")))) (if_statement "if (iVar28 == 9) {\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }" (if "if") (parenthesized_expression "(iVar28 == 9)" (( "(") (binary_expression "iVar28 == 9" (identifier "iVar28") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n          *(undefined4 *)(iVar5 + 0x50) = 0x12;\n          ppppppdVar16 = (double ******)&DAT_00000064;\n          goto LAB_000b6458;\n        }" ({ "{") (expression_statement "*(undefined4 *)(iVar5 + 0x50) = 0x12;" (assignment_expression "*(undefined4 *)(iVar5 + 0x50) = 0x12" (pointer_expression "*(undefined4 *)(iVar5 + 0x50)" (* "*") (cast_expression "(undefined4 *)(iVar5 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x50)" (( "(") (binary_expression "iVar5 + 0x50" (identifier "iVar5") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (number_literal "0x12")) (; ";")) (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)&DAT_00000064" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000064" (& "&") (identifier "DAT_00000064")))) (; ";")) (goto_statement "goto LAB_000b6458;" (goto "goto") (statement_identifier "LAB_000b6458") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_000b6734:\n      ppppppdVar16 = (double ******)&DAT_00000064;" (statement_identifier "LAB_000b6734") (: ":") (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)&DAT_00000064" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000064" (& "&") (identifier "DAT_00000064")))) (; ";"))) (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 **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c);" (statement_identifier "LAB_000b653c") (: ":") (expression_statement "(**(code **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c);" (call_expression "(**(code **)(pcVar36 + 0xdaa58))\n            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c)" (parenthesized_expression "(**(code **)(pcVar36 + 0xdaa58))" (( "(") (pointer_expression "**(code **)(pcVar36 + 0xdaa58)" (* "*") (pointer_expression "*(code **)(pcVar36 + 0xdaa58)" (* "*") (cast_expression "(code **)(pcVar36 + 0xdaa58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar36 + 0xdaa58)" (( "(") (binary_expression "pcVar36 + 0xdaa58" (identifier "pcVar36") (+ "+") (number_literal "0xdaa58")) () ")"))))) () ")")) (argument_list "(0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,\n             *(int *)(pcVar36 + 0xda7d0) + 0x625c)" (( "(") (number_literal "0xb") (, ",") (binary_expression "*(int *)(pcVar36 + 0xda7d4) + -0x6378" (pointer_expression "*(int *)(pcVar36 + 0xda7d4)" (* "*") (cast_expression "(int *)(pcVar36 + 0xda7d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar36 + 0xda7d4)" (( "(") (binary_expression "pcVar36 + 0xda7d4" (identifier "pcVar36") (+ "+") (number_literal "0xda7d4")) () ")")))) (+ "+") (number_literal "-0x6378")) (, ",") (binary_expression "*(int *)(pcVar36 + 0xda7d4) + -0x5e64" (pointer_expression "*(int *)(pcVar36 + 0xda7d4)" (* "*") (cast_expression "(int *)(pcVar36 + 0xda7d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar36 + 0xda7d4)" (( "(") (binary_expression "pcVar36 + 0xda7d4" (identifier "pcVar36") (+ "+") (number_literal "0xda7d4")) () ")")))) (+ "+") (number_literal "-0x5e64")) (, ",") (identifier "uVar18") (, ",") (binary_expression "*(int *)(pcVar36 + 0xda7d0) + 0x625c" (pointer_expression "*(int *)(pcVar36 + 0xda7d0)" (* "*") (cast_expression "(int *)(pcVar36 + 0xda7d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar36 + 0xda7d0)" (( "(") (binary_expression "pcVar36 + 0xda7d0" (identifier "pcVar36") (+ "+") (number_literal "0xda7d0")) () ")")))) (+ "+") (number_literal "0x625c")) () ")"))) (; ";"))) (expression_statement "ppppppdVar16 = (double ******)&DAT_0000000b;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_0000000b" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)&DAT_0000000b" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_0000000b" (& "&") (identifier "DAT_0000000b")))) (; ";")) (expression_statement "*(undefined4 *)(iVar5 + 0x40) = 0xb;" (assignment_expression "*(undefined4 *)(iVar5 + 0x40) = 0xb" (pointer_expression "*(undefined4 *)(iVar5 + 0x40)" (* "*") (cast_expression "(undefined4 *)(iVar5 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x40)" (( "(") (binary_expression "iVar5 + 0x40" (identifier "iVar5") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (number_literal "0xb")) (; ";")) (labeled_statement "LAB_000b6458:\n  while (iStack_204 != *piVar23) {\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }" (statement_identifier "LAB_000b6458") (: ":") (while_statement "while (iStack_204 != *piVar23) {\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }" (while "while") (parenthesized_expression "(iStack_204 != *piVar23)" (( "(") (binary_expression "iStack_204 != *piVar23" (identifier "iStack_204") (!= "!=") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) () ")")) (compound_statement "{\n    (**(code **)(pcVar36 + 0xdac70))();\nLAB_000b6830:\n    iVar20 = 0;\nLAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);\n    *(double *******)(iVar5 + 0x40) = ppppppdVar16;\n    if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }\n  }" ({ "{") (expression_statement "(**(code **)(pcVar36 + 0xdac70))();" (call_expression "(**(code **)(pcVar36 + 0xdac70))()" (parenthesized_expression "(**(code **)(pcVar36 + 0xdac70))" (( "(") (pointer_expression "**(code **)(pcVar36 + 0xdac70)" (* "*") (pointer_expression "*(code **)(pcVar36 + 0xdac70)" (* "*") (cast_expression "(code **)(pcVar36 + 0xdac70)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar36 + 0xdac70)" (( "(") (binary_expression "pcVar36 + 0xdac70" (identifier "pcVar36") (+ "+") (number_literal "0xdac70")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000b6830:\n    iVar20 = 0;" (statement_identifier "LAB_000b6830") (: ":") (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_000b65d4:\n    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);" (statement_identifier "LAB_000b65d4") (: ":") (expression_statement "ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);" (assignment_expression "ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30)" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000b5b8c(iVar5,iVar20,ppppppdVar30)" (identifier "FUN_000b5b8c") (argument_list "(iVar5,iVar20,ppppppdVar30)" (( "(") (identifier "iVar5") (, ",") (identifier "iVar20") (, ",") (identifier "ppppppdVar30") () ")"))))) (; ";"))) (expression_statement "*(double *******)(iVar5 + 0x40) = ppppppdVar16;" (assignment_expression "*(double *******)(iVar5 + 0x40) = ppppppdVar16" (pointer_expression "*(double *******)(iVar5 + 0x40)" (* "*") (cast_expression "(double *******)(iVar5 + 0x40)" (( "(") (type_descriptor "double *******" (primitive_type "double") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar5 + 0x40)" (( "(") (binary_expression "iVar5 + 0x40" (identifier "iVar5") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "ppppppdVar16")) (; ";")) (if_statement "if (ppppppdVar16 == (double ******)0x0) {\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }" (if "if") (parenthesized_expression "(ppppppdVar16 == (double ******)0x0)" (( "(") (binary_expression "ppppppdVar16 == (double ******)0x0" (identifier "ppppppdVar16") (== "==") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));\n      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;\n      ppppppdVar16 = (double ******)&DAT_00000064;\n    }" ({ "{") (expression_statement "*ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));" (assignment_expression "*ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" (pointer_expression "*ppppppdVar14" (* "*") (identifier "ppppppdVar14")) (= "=") (cast_expression "(double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8))" (( "(") (binary_expression "*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8)" (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")"))))) () ")")))) (; ";")) (expression_statement "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;" (assignment_expression "*(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30" (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(int *)(iVar5 + 8) + (int)*ppppppdVar30" (pointer_expression "*(int *)(iVar5 + 8)" (* "*") (cast_expression "(int *)(iVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")")))) (+ "+") (cast_expression "(int)*ppppppdVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*ppppppdVar30" (* "*") (identifier "ppppppdVar30"))))) (; ";")) (expression_statement "ppppppdVar16 = (double ******)&DAT_00000064;" (assignment_expression "ppppppdVar16 = (double ******)&DAT_00000064" (identifier "ppppppdVar16") (= "=") (cast_expression "(double ******)&DAT_00000064" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000064" (& "&") (identifier "DAT_00000064")))) (; ";")) (} "}"))) (} "}")))) (return_statement "return ppppppdVar16;" (return "return") (identifier "ppppppdVar16") (; ";")) (labeled_statement "code_r0x000b6070:\n  ppppppdVar30 = *(double *******)pdVar12;" (statement_identifier "code_r0x000b6070") (: ":") (expression_statement "ppppppdVar30 = *(double *******)pdVar12;" (assignment_expression "ppppppdVar30 = *(double *******)pdVar12" (identifier "ppppppdVar30") (= "=") (pointer_expression "*(double *******)pdVar12" (* "*") (cast_expression "(double *******)pdVar12" (( "(") (type_descriptor "double *******" (primitive_type "double") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "pdVar12")))) (; ";"))) (expression_statement "ppppppdVar17 = *(double *******)((int)pdVar12 + 4);" (assignment_expression "ppppppdVar17 = *(double *******)((int)pdVar12 + 4)" (identifier "ppppppdVar17") (= "=") (pointer_expression "*(double *******)((int)pdVar12 + 4)" (* "*") (cast_expression "(double *******)((int)pdVar12 + 4)" (( "(") (type_descriptor "double *******" (primitive_type "double") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (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 "int")) () ")") (identifier "pdVar12")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "dVar38 = *pdVar12;" (assignment_expression "dVar38 = *pdVar12" (identifier "dVar38") (= "=") (pointer_expression "*pdVar12" (* "*") (identifier "pdVar12"))) (; ";")) (expression_statement "uVar3 = *(ushort *)(ppppppdVar24 + 2);" (assignment_expression "uVar3 = *(ushort *)(ppppppdVar24 + 2)" (identifier "uVar3") (= "=") (pointer_expression "*(ushort *)(ppppppdVar24 + 2)" (* "*") (cast_expression "(ushort *)(ppppppdVar24 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppdVar24 + 2)" (( "(") (binary_expression "ppppppdVar24 + 2" (identifier "ppppppdVar24") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "ppppppdVar14 = (double ******)(uVar3 & 0x2400);" (assignment_expression "ppppppdVar14 = (double ******)(uVar3 & 0x2400)" (identifier "ppppppdVar14") (= "=") (cast_expression "(double ******)(uVar3 & 0x2400)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(uVar3 & 0x2400)" (( "(") (binary_expression "uVar3 & 0x2400" (identifier "uVar3") (& "&") (number_literal "0x2400")) () ")")))) (; ";")) (expression_statement "ppppppdVar21 = ppppppdVar34;" (assignment_expression "ppppppdVar21 = ppppppdVar34" (identifier "ppppppdVar21") (= "=") (identifier "ppppppdVar34")) (; ";")) (if_statement "if (pcVar4 == (code *)0x1) {\n    if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }\n  }\n  else {\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }" (if "if") (parenthesized_expression "(pcVar4 == (code *)0x1)" (( "(") (binary_expression "pcVar4 == (code *)0x1" (identifier "pcVar4") (== "==") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n    if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }\n  }" ({ "{") (if_statement "if ((uVar3 & 0x2400) == 0) {\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }" (if "if") (parenthesized_expression "((uVar3 & 0x2400) == 0)" (( "(") (binary_expression "(uVar3 & 0x2400) == 0" (parenthesized_expression "(uVar3 & 0x2400)" (( "(") (binary_expression "uVar3 & 0x2400" (identifier "uVar3") (& "&") (number_literal "0x2400")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      ppppppdVar24[1] = (double *****)ppppppdVar17;\n      *ppppppdVar24 = (double *****)ppppppdVar30;\n      *(undefined2 *)(ppppppdVar24 + 2) = 4;\n    }" ({ "{") (expression_statement "ppppppdVar24[1] = (double *****)ppppppdVar17;" (assignment_expression "ppppppdVar24[1] = (double *****)ppppppdVar17" (subscript_expression "ppppppdVar24[1]" (identifier "ppppppdVar24") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(double *****)ppppppdVar17" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar17"))) (; ";")) (expression_statement "*ppppppdVar24 = (double *****)ppppppdVar30;" (assignment_expression "*ppppppdVar24 = (double *****)ppppppdVar30" (pointer_expression "*ppppppdVar24" (* "*") (identifier "ppppppdVar24")) (= "=") (cast_expression "(double *****)ppppppdVar30" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar30"))) (; ";")) (expression_statement "*(undefined2 *)(ppppppdVar24 + 2) = 4;" (assignment_expression "*(undefined2 *)(ppppppdVar24 + 2) = 4" (pointer_expression "*(undefined2 *)(ppppppdVar24 + 2)" (* "*") (cast_expression "(undefined2 *)(ppppppdVar24 + 2)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppdVar24 + 2)" (( "(") (binary_expression "ppppppdVar24 + 2" (identifier "ppppppdVar24") (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "4")) (; ";")) (} "}")) (else_clause "else {\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }" (else "else") (compound_statement "{\n      pppppdStack_1a4 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);\n      ppppppdVar21 = (double ******)pppppdStack_1a4;\n    }" ({ "{") (expression_statement "pppppdStack_1a4 = (double *****)ppppppdVar34;" (assignment_expression "pppppdStack_1a4 = (double *****)ppppppdVar34" (identifier "pppppdStack_1a4") (= "=") (cast_expression "(double *****)ppppppdVar34" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar34"))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);" (call_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))" (( "(") (pointer_expression "*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc)" (* "*") (cast_expression "(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc)" (( "(") (binary_expression "*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc" (pointer_expression "*(int *)(pcStack_1c0 + -0x7d78)" (* "*") (cast_expression "(int *)(pcStack_1c0 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1c0 + -0x7d78)" (( "(") (binary_expression "pcStack_1c0 + -0x7d78" (identifier "pcStack_1c0") (+ "+") (number_literal "-0x7d78")) () ")")))) (+ "+") (number_literal "-0x20fc")) () ")")))) () ")")) (argument_list "(ppppppdVar24)" (( "(") (identifier "ppppppdVar24") () ")"))) (; ";")) (expression_statement "ppppppdVar21 = (double ******)pppppdStack_1a4;" (assignment_expression "ppppppdVar21 = (double ******)pppppdStack_1a4" (identifier "ppppppdVar21") (= "=") (cast_expression "(double ******)pppppdStack_1a4" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_1a4"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }" (else "else") (compound_statement "{\n    pppppdStack_198 = (double *****)ppppppdVar30;\n    pppppdStack_194 = (double *****)ppppppdVar17;\n    if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }\n    if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }\n  }" ({ "{") (expression_statement "pppppdStack_198 = (double *****)ppppppdVar30;" (assignment_expression "pppppdStack_198 = (double *****)ppppppdVar30" (identifier "pppppdStack_198") (= "=") (cast_expression "(double *****)ppppppdVar30" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar30"))) (; ";")) (expression_statement "pppppdStack_194 = (double *****)ppppppdVar17;" (assignment_expression "pppppdStack_194 = (double *****)ppppppdVar17" (identifier "pppppdStack_194") (= "=") (cast_expression "(double *****)ppppppdVar17" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar17"))) (; ";")) (if_statement "if ((uVar3 & 0x2400) == 0) {\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }\n    else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }" (if "if") (parenthesized_expression "((uVar3 & 0x2400) == 0)" (( "(") (binary_expression "(uVar3 & 0x2400) == 0" (parenthesized_expression "(uVar3 & 0x2400)" (( "(") (binary_expression "uVar3 & 0x2400" (identifier "uVar3") (& "&") (number_literal "0x2400")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined2 *)(ppppppdVar24 + 2) = 1;\n    }" ({ "{") (expression_statement "*(undefined2 *)(ppppppdVar24 + 2) = 1;" (assignment_expression "*(undefined2 *)(ppppppdVar24 + 2) = 1" (pointer_expression "*(undefined2 *)(ppppppdVar24 + 2)" (* "*") (cast_expression "(undefined2 *)(ppppppdVar24 + 2)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppdVar24 + 2)" (( "(") (binary_expression "ppppppdVar24 + 2" (identifier "ppppppdVar24") (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }" (else "else") (compound_statement "{\n      pppppdStack_1a4 = (double *****)ppppppdVar24;\n      pppppdStack_1a0 = (double *****)ppppppdVar34;\n      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);\n      ppppppdVar24 = (double ******)pppppdStack_1a4;\n      ppppppdVar21 = (double ******)pppppdStack_1a0;\n    }" ({ "{") (expression_statement "pppppdStack_1a4 = (double *****)ppppppdVar24;" (assignment_expression "pppppdStack_1a4 = (double *****)ppppppdVar24" (identifier "pppppdStack_1a4") (= "=") (cast_expression "(double *****)ppppppdVar24" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar24"))) (; ";")) (expression_statement "pppppdStack_1a0 = (double *****)ppppppdVar34;" (assignment_expression "pppppdStack_1a0 = (double *****)ppppppdVar34" (identifier "pppppdStack_1a0") (= "=") (cast_expression "(double *****)ppppppdVar34" (( "(") (type_descriptor "double *****" (primitive_type "double") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppppdVar34"))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);" (call_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))" (( "(") (pointer_expression "*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170)" (* "*") (cast_expression "(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170)" (( "(") (binary_expression "*(int *)(pcStack_1c0 + -0x7d78) + -0x2170" (pointer_expression "*(int *)(pcStack_1c0 + -0x7d78)" (* "*") (cast_expression "(int *)(pcStack_1c0 + -0x7d78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_1c0 + -0x7d78)" (( "(") (binary_expression "pcStack_1c0 + -0x7d78" (identifier "pcStack_1c0") (+ "+") (number_literal "-0x7d78")) () ")")))) (+ "+") (number_literal "-0x2170")) () ")")))) () ")")) (argument_list "(ppppppdVar24)" (( "(") (identifier "ppppppdVar24") () ")"))) (; ";")) (expression_statement "ppppppdVar24 = (double ******)pppppdStack_1a4;" (assignment_expression "ppppppdVar24 = (double ******)pppppdStack_1a4" (identifier "ppppppdVar24") (= "=") (cast_expression "(double ******)pppppdStack_1a4" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_1a4"))) (; ";")) (expression_statement "ppppppdVar21 = (double ******)pppppdStack_1a0;" (assignment_expression "ppppppdVar21 = (double ******)pppppdStack_1a0" (identifier "ppppppdVar21") (= "=") (cast_expression "(double ******)pppppdStack_1a0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppdStack_1a0"))) (; ";")) (} "}")))) (if_statement "if (!NAN(dVar38)) {\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }" (if "if") (parenthesized_expression "(!NAN(dVar38))" (( "(") (unary_expression "!NAN(dVar38)" (! "!") (call_expression "NAN(dVar38)" (identifier "NAN") (argument_list "(dVar38)" (( "(") (identifier "dVar38") () ")")))) () ")")) (compound_statement "{\n      *(double *)ppppppdVar24 = dVar38;\n      *(undefined2 *)(ppppppdVar24 + 2) = 8;\n    }" ({ "{") (expression_statement "*(double *)ppppppdVar24 = dVar38;" (assignment_expression "*(double *)ppppppdVar24 = dVar38" (pointer_expression "*(double *)ppppppdVar24" (* "*") (cast_expression "(double *)ppppppdVar24" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppdVar24"))) (= "=") (identifier "dVar38")) (; ";")) (expression_statement "*(undefined2 *)(ppppppdVar24 + 2) = 8;" (assignment_expression "*(undefined2 *)(ppppppdVar24 + 2) = 8" (pointer_expression "*(undefined2 *)(ppppppdVar24 + 2)" (* "*") (cast_expression "(undefined2 *)(ppppppdVar24 + 2)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppdVar24 + 2)" (( "(") (binary_expression "ppppppdVar24 + 2" (identifier "ppppppdVar24") (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "8")) (; ";")) (} "}"))) (} "}")))) (expression_statement "ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15);" (assignment_expression "ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15)" (identifier "ppppppdVar29") (= "=") (cast_expression "(double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15)" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(uint)((int)ppppppdVar34 < (int)ppppppdVar15)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)ppppppdVar34 < (int)ppppppdVar15)" (( "(") (binary_expression "(int)ppppppdVar34 < (int)ppppppdVar15" (cast_expression "(int)ppppppdVar34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar34")) (< "<") (cast_expression "(int)ppppppdVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppdVar15"))) () ")"))))) (; ";")) (expression_statement "ppppppdVar6[2] = ppppppdVar6[2] + 2;" (assignment_expression "ppppppdVar6[2] = ppppppdVar6[2] + 2" (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "ppppppdVar6[2] + 2" (subscript_expression "ppppppdVar6[2]" (identifier "ppppppdVar6") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (ppppppdVar29 == (double ******)0x0) {\n    ppppppdVar7 = (double ******)0x0;\n    ppppppdVar33 = ppppppdVar34;\n    pcVar36 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }" (if "if") (parenthesized_expression "(ppppppdVar29 == (double ******)0x0)" (( "(") (binary_expression "ppppppdVar29 == (double ******)0x0" (identifier "ppppppdVar29") (== "==") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    ppppppdVar7 = (double ******)0x0;\n    ppppppdVar33 = ppppppdVar34;\n    pcVar36 = pcStack_1c0;\n    goto LAB_000b5de4;\n  }" ({ "{") (expression_statement "ppppppdVar7 = (double ******)0x0;" (assignment_expression "ppppppdVar7 = (double ******)0x0" (identifier "ppppppdVar7") (= "=") (cast_expression "(double ******)0x0" (( "(") (type_descriptor "double ******" (primitive_type "double") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppdVar33 = ppppppdVar34;" (assignment_expression "ppppppdVar33 = ppppppdVar34" (identifier "ppppppdVar33") (= "=") (identifier "ppppppdVar34")) (; ";")) (expression_statement "pcVar36 = pcStack_1c0;" (assignment_expression "pcVar36 = pcStack_1c0" (identifier "pcVar36") (= "=") (identifier "pcStack_1c0")) (; ";")) (goto_statement "goto LAB_000b5de4;" (goto "goto") (statement_identifier "LAB_000b5de4") (; ";")) (} "}"))) (goto_statement "goto LAB_000b5dac;" (goto "goto") (statement_identifier "LAB_000b5dac") (; ";")) (} "}")))

/* DWARF original prototype: int sessionChangegroupOutput(sqlite3_changegroup * pGrp,
   _func_int_void_ptr_void_ptr_int * xOutput, void * pOut, int * pnOut, void * * ppOut,
   sqlite3_changegroup * pGrp) */

int function_1
              (type_1 *pGrp,type_2 *var_1,void *var_2,
              int *pnOut,void **ppOut,type_1 *pGrp_1)

{
  type_3 bVar1;
  type_4 var_54;
  int *var_11;
  type_5 *var_28;
  type_6 *var_21;
  type_7 *var_34;
  int var_25;
  type_8 *var_43;
  type_9 *var_48;
  type_10 var_29;
  int var_4;
  type_3 *pbVar12;
  type_7 *pIn;
  double *pdVar13;
  type_9 *var_49;
  type_2 *var_15;
  type_7 *nByte;
  type_7 *var_37;
  type_7 *var_30;
  type_7 *var_33;
  type_6 *var_26;
  int *var_42;
  type_11 uVar20;
  type_12 **var_50;
  type_12 **apOut;
  int *unaff_s0;
  int var_24;
  int var_16;
  type_7 *var_38;
  type_13 *unaff_s1;
  type_13 *pSVar25;
  type_7 *pSVar26;
  type_12 **apOut_00;
  type_2 *unaff_s2;
  type_2 *p_Var27;
  type_7 *var_31;
  type_14 *unaff_s3;
  type_14 *var_9;
  type_7 *pSVar30;
  type_13 *p;
  type_7 *var_10;
  void *unaff_s6;
  type_9 *var_46;
  int *piVar33;
  type_7 *unaff_s7;
  type_7 *pSVar34;
  type_7 *pSVar35;
  type_14 *var_12;
  type_7 *var_5;
  type_5 *var_19;
  type_5 *pcVar38;
  double dVar39;
  type_6 *var_45;
  int var_47;
  int var_52;
  type_7 *pSStack_200;
  type_7 *pSStack_1fc;
  type_7 *pSStack_1f8;
  type_7 *pSStack_1f4;
  type_7 *pSStack_1f0;
  type_5 *pcStack_1ec;
  int *piStack_1e8;
  type_7 *pSStack_1e4;
  type_7 *pSStack_1e0;
  type_5 *pcStack_1dc;
  int iStack_1c8;
  type_5 *var_35;
  int *var_36;
  type_5 *pcStack_1b0;
  type_5 *pcStack_1ac;
  int var_40;
  type_7 *pSStack_1a4;
  type_7 *var_39;
  type_7 *pSStack_19c;
  type_7 *pSStack_198;
  int *piStack_194;
  type_7 *var_41;
  type_7 *pSStack_188;
  type_7 *pSStack_184;
  type_7 *pSStack_180;
  type_7 *pSStack_17c;
  type_7 *pSStack_178;
  type_5 *pcStack_174;
  int *piStack_170;
  type_7 *pSStack_16c;
  type_7 *pSStack_168;
  type_5 *pcStack_164;
  type_5 *var_32;
  type_7 *pSStack_13c;
  type_7 SStack_138;
  type_5 *pcStack_10c;
  int iStack_f8;
  type_5 *var_22;
  type_10 var_23;
  type_7 *var_27;
  int *piStack_dc;
  type_13 *pSStack_d8;
  type_2 *p_Stack_d4;
  type_14 *puStack_d0;
  type_13 *pSStack_cc;
  type_5 *pcStack_c8;
  type_5 *pcStack_c4;
  type_14 *var_18;
  type_8 var_13 [8];
  type_7 *var_17;
  int *piStack_98;
  type_13 *pSStack_94;
  type_2 *p_Stack_90;
  type_14 *puStack_8c;
  void *pvStack_88;
  type_9 *p_Stack_84;
  void *pvStack_80;
  type_7 *pSStack_7c;
  type_7 *pSStack_78;
  type_5 *pcStack_74;
  int var_8;
  type_13 buf;
  
  var_12 = PTR___stack_chk_guard_00190e24;
  var_8 = 0;
  buf.aBuf = (type_6 *)0x0;
  buf.nBuf = 0;
  buf.nAlloc = 0;
  var_11 = *(int **)PTR___stack_chk_guard_00190e24;
  var_42 = pnOut;
  if (var_1 == (type_2 *)0x0) {
    var_33 = (type_7 *)var_2;
    if (var_2 == (void *)0x0) {
      var_15 = (type_2 *)0x0;
      goto LAB_000b57b8;
    }
  }
  else {
    var_28 = (type_5 *)(var_3 + 0x5290);
    unaff_s2 = (type_2 *)(var_3 + 0x5224);
    unaff_s3 = var_3 + 0x4ef4;
    var_30 = (type_7 *)var_2;
    var_10 = (type_7 *)var_1;
    do {
      if ((var_10->buf).nBuf == 0) {
LAB_000b5618:
        var_10 = (type_7 *)var_10->bNoDiscard;
        var_33 = var_30;
        var_15 = (type_2 *)buf.aBuf;
        var_30 = (type_7 *)buf.nBuf;
      }
      else {
        unaff_s0 = &var_8;
        unaff_s1 = &buf;
        var_1 = (type_2 *)pGrp->var_8;
        var_30 = var_10;
        var_42 = unaff_s0;
        (*var_28)(unaff_s1);
        var_9 = PTR_aBuiltinFunc_29540_1408__00190948;
        var_4 = (var_10->buf).nAlloc;
        if (var_4 < 1) goto LAB_000b5618;
        unaff_s6 = (void *)0x0;
        do {
          var_5 = *(type_7 **)(var_10->xInput + (int)unaff_s6 * 4);
          if (var_5 != (type_7 *)0x0) {
            do {
              var_6(unaff_s1,(type_6)var_5->bNoDiscard,unaff_s0);
              var_6(unaff_s1,(type_6)var_5->iCurrent,unaff_s0);
              var_30 = (type_7 *)var_5->iNext;
              var_1 = (type_2 *)var_5->aData;
              var_42 = unaff_s0;
              var_7(unaff_s1,(type_6 *)var_1,(int)var_30,unaff_s0);
              if (((var_8 == 0) && (var_30 = (type_7 *)buf.nBuf, var_2 != (void *)0x0)) &&
                 (var_1 = (type_2 *)buf.aBuf,
                 *(int *)(var_9 + -0xba0) <= buf.nBuf)) {
                var_8 = (*(type_5 *)var_2)(pnOut);
                buf.nBuf = 0;
              }
              var_5 = (type_7 *)var_5->nData;
            } while (var_5 != (type_7 *)0x0);
            var_4 = (var_10->buf).nAlloc;
            var_5 = (type_7 *)0x0;
          }
          unaff_s6 = (void *)((int)unaff_s6 + 1);
        } while ((int)unaff_s6 < var_4);
        var_10 = (type_7 *)var_10->bNoDiscard;
        var_33 = var_30;
        var_15 = (type_2 *)buf.aBuf;
        var_30 = (type_7 *)buf.nBuf;
        unaff_s7 = (type_7 *)var_9;
      }
      buf.aBuf = (type_6 *)var_15;
      buf.nBuf = (int)var_30;
      if (var_8 != 0) goto LAB_000b5730;
    } while (var_10 != (type_7 *)0x0);
    if (var_2 == (void *)0x0) {
LAB_000b57b8:
      buf.aBuf = (type_6 *)0x0;
      pGrp_1->var_8 = (int)var_15;
      *ppOut = (void *)buf.nBuf;
      var_33 = (type_7 *)buf.nBuf;
    }
    else {
      var_33 = var_30;
      if (0 < (int)var_30) {
        var_8 = (*(type_5 *)var_2)(pnOut);
        var_1 = var_15;
        var_33 = var_30;
      }
    }
  }
LAB_000b5730:
  var_28 = (type_5 *)buf.aBuf;
  (*(type_5 *)PTR_sqlite3_free_0019096c)(buf.aBuf);
  if (var_11 == *(int **)var_12) {
    return var_8;
  }
  var_19 = var_20;
  var_12 = PTR___stack_chk_fail_00190df8;
  (*(type_5 *)PTR___stack_chk_fail_00190df8)();
  var_18 = var_12 + 0xe3140;
  var_46 = *(type_9 **)(var_12 + 0xdb644);
  var_13._0_4_ = 0;
  var_17 = *(type_7 **)var_46;
  var_4 = 0;
  var_15 = var_1;
  piVar33 = unaff_s0;
  p_Var27 = unaff_s2;
  piStack_98 = unaff_s0;
  pSStack_94 = unaff_s1;
  p_Stack_90 = unaff_s2;
  puStack_8c = unaff_s3;
  pvStack_88 = var_2;
  p_Stack_84 = var_28;
  pvStack_80 = unaff_s6;
  pSStack_7c = unaff_s7;
  pSStack_78 = var_5;
  pcStack_74 = var_19;
  if (var_11[8] != 0) {
    piVar33 = var_11;
    if (var_11[10] == 0) {
      var_4 = 0;
      p_Var27 = var_1;
      if (var_11[4] <= (int)(var_1 + var_11[2])) {
        p = (type_13 *)(var_11 + 5);
        var_9 = *(type_14 **)(var_12 + 0xdb168);
        var_10 = (type_7 *)(var_13 + 4);
        pSVar25 = (type_13 *)(*(int *)(var_12 + 0xdb44c) + 0x4d08);
        var_28 = (type_5 *)(*(int *)(var_12 + 0xdb3c4) + 0x27a4);
        do {
          var_13._4_4_ = *(type_11 *)(var_9 + -0xba0);
          if (*var_11 == 0) {
            (*var_28)(var_11);
          }
          var_33 = (type_7 *)var_13;
          var_4 = var_14(p,var_13._4_4_,(int *)var_13);
          unaff_s1 = pSVar25;
          unaff_s3 = var_9;
          var_2 = p;
          unaff_s7 = (type_7 *)var_13;
          var_5 = var_10;
          if (var_4 == 0) {
            var_33 = var_10;
            var_13._0_4_ = (*(type_5 *)var_11[8])(var_11[9],var_11[5] + var_11[6]);
            if (var_13._4_4_ == 0) {
              var_11[4] = var_11[6];
              var_11[10] = 1;
              var_11[3] = var_11[5];
              var_4 = var_13._0_4_;
              var_15 = (type_2 *)0x1;
              break;
            }
            var_16 = var_13._4_4_ + var_11[6];
            var_15 = (type_2 *)var_11[10];
            var_11[6] = var_16;
          }
          else {
            var_16 = var_11[6];
            var_15 = (type_2 *)var_11[10];
          }
          var_11[4] = var_16;
          var_11[3] = var_11[5];
          var_4 = var_13._0_4_;
          if (((var_15 != (type_2 *)0x0) ||
              ((int)(var_1 + var_11[2]) < var_16)) || (var_13._0_4_ != 0)) break;
        } while( true );
      }
    }
    else {
      var_4 = 0;
    }
  }
  if (var_17 == *(type_7 **)var_46) {
    return var_4;
  }
  var_19 = *(type_5 **)(var_18 + -0x7b28);
  pcVar38 = var_44;
  var_10 = var_17;
  var_13._0_4_ = var_4;
  (*var_19)();
  var_22 = var_19 + 0xe2f88;
  var_30 = (type_7 *)&DAT_00000009;
  var_11 = *(int **)(var_19 + 0xdb48c);
  var_4 = *(int *)(var_19 + 0xdb294);
  var_23 = 0;
  var_27 = (type_7 *)*var_11;
  piStack_dc = piVar33;
  pSStack_d8 = unaff_s1;
  p_Stack_d4 = p_Var27;
  puStack_d0 = unaff_s3;
  pSStack_cc = (type_13 *)var_2;
  pcStack_c8 = var_28;
  pcStack_c4 = pcVar38;
  var_21 = (type_6 *)var_20(var_10,9);
  if (var_21 == (type_6 *)0x0) {
    bVar1 = var_10->aData[var_10->iNext];
    if ((char)bVar1 < '\0') {
      var_24 = (*(type_5 *)(*(int *)(var_22 + -0x7d78) + 0x3388))
                         (var_10->aData + var_10->iNext,&var_23);
      if (0x10000 < var_23) {
        var_42 = (int *)&DAT_00030133;
        iStack_f8 = *(int *)(var_22 + -0x7fc8) + 0x625c;
        var_33 = (type_7 *)(*(int *)(var_22 + -0x7fc4) + -0x5e64);
        var_30 = (type_7 *)(*(int *)(var_22 + -0x7fc4) + -0x6378);
        var_16 = var_24 + 1;
        (**(type_5 **)(var_22 + -0x7d40))(0xb);
        var_21 = &DAT_0000000b;
        goto LAB_000b5ad4;
      }
    }
    else {
      var_24 = 1;
      var_23 = (type_10)bVar1;
    }
    var_30 = (type_7 *)(var_24 + var_23 + 100);
    var_21 = (type_6 *)var_20(var_10,(int)var_30);
    var_24 = var_24 + var_23;
    if (var_21 == (type_6 *)0x0) {
      do {
        var_30 = (type_7 *)var_10->iNext;
        var_33 = (type_7 *)var_10->nData;
        var_26 = (type_6 *)((int)&var_30->bNoDiscard + var_24);
        if ((int)var_26 < (int)var_33) {
          var_42 = (int *)var_10->aData;
          var_25 = var_24;
          if (*(type_6 *)((int)var_42 + (int)var_26) == '\0') {
            var_16 = var_24 + 1;
            goto LAB_000b5ad4;
          }
          while( true ) {
            var_24 = var_25 + 1;
            var_26 = (type_6 *)((int)&var_30->bNoDiscard + var_24);
            if ((int)var_33 <= (int)var_26) break;
            var_16 = var_25 + 2;
            var_25 = var_24;
            if (*(type_6 *)((int)var_42 + (int)var_26) == '\0') goto LAB_000b5ad4;
          }
        }
        var_30 = (type_7 *)(var_24 + 100);
        var_26 = (type_6 *)var_20(var_10,(int)var_30);
      } while (var_26 == (type_6 *)0x0);
      var_16 = var_24 + 1;
      var_21 = var_26;
    }
    else {
      var_16 = var_24 + 1;
    }
  }
  else {
    var_16 = 1;
  }
LAB_000b5ad4:
  *(int *)var_15 = var_16;
  if (var_27 == (type_7 *)*var_11) {
    return (int)var_21;
  }
  var_28 = *(type_5 **)(var_22 + -0x7b28);
  var_19 = var_53;
  pSVar26 = var_27;
  (*var_28)();
  var_32 = var_28 + 0xe2d94;
  pSVar34 = &SStack_138;
  var_31 = (type_7 *)0x0;
  var_38 = (type_7 *)0x0;
  piVar33 = *(int **)(var_28 + 0xdb298);
  SStack_138.iCurrent = *piVar33;
  pSVar30 = (type_7 *)(*(int *)(var_28 + 0xdb0a0) + 0x57e0);
  var_28 = (type_5 *)(*(int *)(var_28 + 0xdb01c) + 0x3388);
  var_24 = 0;
  nByte = var_30;
  pSStack_13c = var_33;
  SStack_138.iNext = var_16;
  SStack_138.aData = var_21;
  SStack_138.nData = (int)var_11;
  SStack_138.buf.aBuf = (type_6 *)var_15;
  SStack_138.buf.nBuf = var_4 + 0x57e0;
  SStack_138.buf.nAlloc = (int)var_10;
  SStack_138.xInput = var_46;
  SStack_138.pIn = unaff_s7;
  SStack_138.bEof = (int)var_5;
  pcStack_10c = var_19;
  if (0 < (int)var_30) {
    do {
      nByte = (type_7 *)((int)&var_38->iNext + 2);
      while( true ) {
        var_24 = var_20(pSVar26,(int)nByte);
        if (var_24 != 0) goto LAB_000b5c24;
        var_5 = (type_7 *)((int)&var_38->bNoDiscard + 1);
        var_42 = (int *)pSVar26->iNext;
        var_29 = (type_10)(pSVar26->aData + (int)var_42)[(int)var_38];
        var_31 = (type_7 *)((int)&var_31->bNoDiscard + 1);
        if (var_29 - 3 < 2) break;
        var_38 = (type_7 *)((int)&var_38->iNext + 1);
        if (1 < var_29 - 1) {
          var_38 = var_5;
        }
        nByte = (type_7 *)((int)&var_38->iNext + 2);
        if (var_30 == var_31) goto LAB_000b5c24;
      }
      var_42 = (int *)((int)var_42 + (int)var_5);
      pbVar12 = pSVar26->aData + (int)var_42;
      bVar1 = *pbVar12;
      if ((char)bVar1 < '\0') {
        var_4 = (*var_28)(pbVar12,pSVar34);
      }
      else {
        var_4 = 1;
        SStack_138.bNoDiscard = (type_10)bVar1;
      }
      var_5 = (type_7 *)((int)&var_5->bNoDiscard + var_4);
      var_38 = (type_7 *)((int)&var_5->bNoDiscard + SStack_138.bNoDiscard);
      nByte = var_38;
      var_24 = var_20(pSVar26,(int)var_38);
    } while ((var_24 == 0) && (var_24 = 0, (int)var_31 < (int)var_30));
  }
LAB_000b5c24:
  pSStack_13c->bNoDiscard = (int)var_38;
  if ((type_7 *)SStack_138.iCurrent == (type_7 *)*piVar33) {
    return var_24;
  }
  var_19 = *(type_5 **)(var_32 + -0x7b28);
  pcVar38 = var_51;
  pIn = (type_7 *)SStack_138.iCurrent;
  (*var_19)();
  var_35 = var_19 + 0xe2c00;
  var_11 = *(int **)(var_19 + 0xdb104);
  var_41 = (type_7 *)*var_11;
  var_37 = nByte;
  var_10 = var_33;
  var_36 = var_42;
  pSStack_188 = var_38;
  pSStack_184 = pSVar26;
  pSStack_180 = var_31;
  pSStack_17c = pSVar30;
  pSStack_178 = var_30;
  pcStack_174 = var_28;
  piStack_170 = piVar33;
  pSStack_16c = pSVar34;
  pSStack_168 = var_5;
  pcStack_164 = pcVar38;
  if (0 < (int)nByte) {
    var_38 = (type_7 *)0x0;
    var_28 = *(type_5 **)(var_19 + 0xdae88);
    pcStack_1b0 = var_28 + 0x924;
    pcStack_1ac = (type_5 *)(*(int *)(var_19 + 0xdae88) + -0x2b48);
    pSVar26 = (type_7 *)(*(int *)(var_19 + 0xdaf0c) + 0x57e0);
    var_40 = *(int *)(var_19 + 0xdaea0);
LAB_000b5dac:
    pSVar30 = (type_7 *)0x1;
    pSVar34 = var_38;
    var_19 = var_35;
LAB_000b5db4:
    while ((var_33 != (type_7 *)0x0 &&
           (*(type_6 *)((int)&pSVar34->bNoDiscard + (int)&var_33->bNoDiscard) == '\0'))) {
      pSVar34 = (type_7 *)((int)&pSVar34->bNoDiscard + 1);
      var_34 = (type_7 *)0x0;
      if ((int)nByte <= (int)pSVar34) goto LAB_000b5de4;
    }
    var_37 = (type_7 *)&DAT_00000009;
    var_34 = (type_7 *)var_20(pIn,9);
    var_19 = var_35;
    if (var_34 != (type_7 *)0x0) goto LAB_000b5de4;
    var_4 = pIn->iNext;
    var_37 = (type_7 *)(var_4 + 1);
    if (pIn->nData <= var_4) {
      var_42 = (int *)0x300ea;
LAB_000b5e90:
      iStack_1c8 = *(int *)(var_35 + -0x7fc8) + 0x625c;
      var_10 = (type_7 *)(*(int *)(var_35 + -0x7fc4) + -0x5e64);
      var_37 = (type_7 *)(*(int *)(var_35 + -0x7fc4) + -0x6378);
      (**(type_5 **)(var_35 + -0x7d40))(0xb);
      var_34 = (type_7 *)&DAT_0000000b;
      var_19 = var_35;
      goto LAB_000b5de4;
    }
    pIn->iNext = (int)var_37;
    var_28 = (type_5 *)(type_10)pIn->aData[var_4];
    if (var_28 != (type_5 *)0x0) {
      var_42 = (int *)&DAT_00000028;
      var_10 = (type_7 *)0x0;
      var_30 = (type_7 *)(var_36 + (int)pSVar34);
      var_31 = (type_7 *)(*pcStack_1b0)(0);
      if (var_31 == (type_7 *)0x0) {
        var_34 = (type_7 *)&DAT_00000007;
        var_30->bNoDiscard = 0;
        var_19 = var_35;
        goto LAB_000b5de4;
      }
      *(type_15 *)&var_31->iNext = 1;
      var_31->xInput = (type_9 *)0x0;
      var_30->bNoDiscard = (int)var_31;
      var_10 = (type_7 *)pIn->iNext;
      pdVar13 = (double *)(pIn->aData + (int)var_10);
      if (var_28 + -3 < &SUB_00000002) {
        if ((char)*(type_3 *)pdVar13 < '\0') {
          var_4 = (*(type_5 *)(*(int *)(var_35 + -0x7d78) + 0x3388))(pdVar13,&pSStack_198);
          var_10 = (type_7 *)pIn->iNext;
        }
        else {
          var_4 = 1;
          pSStack_198 = (type_7 *)(type_10)*(type_3 *)pdVar13;
        }
        pIn->iNext = (int)((int)&var_10->bNoDiscard + var_4);
        var_37 = pSStack_198;
        var_34 = (type_7 *)var_20(pIn,(int)pSStack_198);
        var_38 = pSStack_198;
        var_19 = var_35;
        if (var_34 != (type_7 *)0x0) goto LAB_000b5de4;
        var_42 = (int *)0x30000;
        if (-1 < (int)pSStack_198) {
          if ((int)pSStack_198 <= pIn->nData - pIn->iNext) {
            var_39 = (type_7 *)var_30->bNoDiscard;
            var_30 = (type_7 *)pIn->aData;
            pSStack_1a4 = (type_7 *)pIn->iNext;
            var_31 = (type_7 *)(**(type_5 **)(var_35 + -0x7d98))();
            var_10 = pSStack_1a4;
            pSVar30 = var_38;
            if (var_31 == (type_7 *)0x0) {
              var_37 = (type_7 *)((int)&var_38->bNoDiscard + 1);
              pSStack_19c = var_31;
              var_4 = (*pcStack_1ac)((type_10)(var_37 < var_38) + ((int)var_38 >> 0x1f));
              if (var_4 != 0) {
                var_10 = var_38;
                uVar20 = (**(type_5 **)(var_35 + -0x7af4))
                                   (var_4,(type_6 *)((int)&pSStack_1a4->bNoDiscard +
                                                 (int)&var_30->bNoDiscard));
                if (var_39 == (type_7 *)0x0) {
                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);
                  var_19 = var_35;
                  var_34 = pSStack_19c;
                  var_37 = pSStack_198;
                }
                else {
                  pSStack_1a4 = pSStack_19c;
                  var_42 = (int *)(type_10)(var_28 == (type_5 *)0x3);
                  iStack_1c8 = *(int *)(var_35 + -0x7fb4);
                  var_10 = var_38;
                  (*(type_5 *)(var_40 + -0x2aec))(var_39,uVar20);
                  pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);
                  var_19 = var_35;
                  var_34 = pSStack_1a4;
                  var_37 = pSStack_198;
                }
                var_38 = (type_7 *)((int)&pSVar34->bNoDiscard + 1);
                var_35 = var_19;
                pSStack_198 = var_37;
                if ((int)var_38 < (int)nByte) goto LAB_000b5dac;
                goto LAB_000b5de4;
              }
            }
            var_34 = (type_7 *)&DAT_00000007;
            pIn->iNext = (int)((int)&pSStack_198->bNoDiscard + pIn->iNext);
            var_19 = var_35;
            goto LAB_000b5de4;
          }
        }
        var_42 = (int *)0x300fd;
        pSVar30 = pSStack_198;
        goto LAB_000b5e90;
      }
      pSVar35 = (type_7 *)((int)&pSVar34->bNoDiscard + 1);
      var_37 = (type_7 *)(type_10)(var_28 + -1 < &SUB_00000002);
      if (var_37 != (type_7 *)0x0) goto code_r0x000b6070;
    }
    pSVar34 = (type_7 *)((int)&pSVar34->bNoDiscard + 1);
    var_38 = var_33;
    var_31 = nByte;
    var_19 = var_35;
    var_5 = pIn;
    if ((int)nByte <= (int)pSVar34) goto LAB_000b5e64;
    goto LAB_000b5db4;
  }
LAB_000b5e64:
  var_34 = (type_7 *)0x0;
  var_33 = var_38;
  nByte = var_31;
  var_19 = var_35;
  pIn = var_5;
LAB_000b5de4:
  if (var_41 == (type_7 *)*var_11) {
    return (int)var_34;
  }
  var_19 = *(type_5 **)(var_19 + -0x7b28);
  pcVar38 = sessionChangesetNext;
  var_38 = var_41;
  (*var_19)();
  piVar33 = *(int **)(var_19 + 0xdac9c);
  var_4 = var_38[2].iCurrent;
  var_52 = *piVar33;
  pSStack_200 = var_33;
  pSStack_1fc = pSVar26;
  pSStack_1f8 = nByte;
  pSStack_1f4 = pSVar30;
  pSStack_1f0 = var_30;
  pcStack_1ec = var_28;
  piStack_1e8 = var_11;
  pSStack_1e4 = pSVar34;
  pSStack_1e0 = pIn;
  pcStack_1dc = pcVar38;
  if (var_4 != 0) {
    var_46 = var_38[1].xInput;
    var_16 = 0;
    if (0 < (int)var_46) {
      var_24 = *(int *)(var_19 + 0xdaa20);
      do {
        var_25 = var_16 * 4;
        var_16 = var_16 + 1;
        (*(type_5 *)(var_24 + -0x18d4))(*(type_11 *)(var_4 + var_25));
        var_46 = var_38[1].xInput;
        var_4 = var_38[2].iCurrent;
      } while (var_16 < (int)var_46 << 1);
    }
    (**(type_5 **)(var_19 + 0xdabd0))(var_4,0,(int)var_46 << 3);
  }
  var_21 = (type_6 *)var_20(var_38,2);
  var_38[1].buf.aBuf = var_21;
  if (var_21 != (type_6 *)0x0) goto LAB_000b6458;
  if (var_38->nData <= var_38->iNext) {
LAB_000b6494:
    var_21 = (type_6 *)0x65;
    goto LAB_000b6458;
  }
  (*(type_5 *)(*(int *)(var_19 + 0xdaa1c) + 0x27a4))(var_38);
  var_4 = var_38->iNext;
  var_21 = var_38->aData;
  var_16 = *(int *)(var_19 + 0xdaa20);
  var_38->iCurrent = var_4;
  var_38->iNext = var_4 + 1;
  bVar1 = var_21[var_4];
  while (var_43 = (type_8 *)(type_10)bVar1, ((type_10)var_43 & 0xfb) == 0x50) {
    if (var_42 != (int *)0x0) {
      *var_42 = 1;
    }
    var_38[1].aData = (type_6 *)(type_10)(var_43 == (type_8 *)0x50);
    var_45 = (type_6 *)var_44(var_38,&var_47);
    if (var_45 != (type_6 *)0x0) {
LAB_000b6434:
      var_46 = var_38[1].xInput;
      var_4 = var_38[1].bNoDiscard;
      var_38[1].buf.aBuf = var_45;
      var_38[2].iCurrent = var_4;
      var_4 = var_4 + (int)var_46 * 8;
      var_38[2].bNoDiscard = var_4;
      var_38[1].buf.nAlloc = (int)(var_46 + var_4);
      var_21 = var_45;
      goto LAB_000b6458;
    }
    bVar1 = var_38->aData[var_38->iNext];
    var_46 = (type_9 *)(type_10)bVar1;
    if ((char)bVar1 < '\0') {
      var_4 = (*(type_5 *)(var_16 + 0x3388))(var_38->aData + var_38->iNext,&var_38[1].xInput);
      var_46 = var_38[1].xInput;
    }
    else {
      var_4 = 1;
      var_38[1].xInput = var_46;
    }
    if ((int)var_46 < 1) {
      (**(type_5 **)(var_19 + 0xdaa58))
                (0xb,*(int *)(var_19 + 0xda7d4) + -0x6378,*(int *)(var_19 + 0xda7d4) + -0x5e64,
                 0x3018b,*(int *)(var_19 + 0xda7d0) + 0x625c);
      var_21 = (type_6 *)0xb;
      var_46 = var_38[1].xInput;
      var_4 = var_38[1].bNoDiscard;
      var_38[1].buf.aBuf = (type_6 *)0xb;
      var_38[2].iCurrent = var_4;
      var_4 = var_4 + (int)var_46 * 8;
      var_38[2].bNoDiscard = var_4;
      var_38[1].buf.nAlloc = (int)(var_46 + var_4);
      goto LAB_000b6458;
    }
    var_24 = var_38->iNext;
    var_38[1].iCurrent = 0;
    var_47 = var_47 - var_4;
    var_38->iNext = var_24 + var_4;
    var_14((type_13 *)(var_38 + 1),(int)var_46 * 8 + var_47,
                      (int *)&var_45);
    if (var_45 != (type_6 *)0x0) goto LAB_000b6434;
    var_4 = (int)var_38[1].xInput * 8;
    (**(type_5 **)(var_19 + 0xdabd0))(var_38[1].bNoDiscard,0,var_4);
    (**(type_5 **)(var_19 + 0xdaca4))
              (var_38[1].bNoDiscard + var_4,var_38->aData + var_38->iNext,var_47);
    var_46 = var_38[1].xInput;
    var_24 = var_38->iNext;
    var_4 = var_38[1].bNoDiscard + (int)var_46 * 8;
    var_38[2].iCurrent = var_38[1].bNoDiscard;
    var_38[2].bNoDiscard = var_4;
    var_38[1].buf.aBuf = var_45;
    var_38[1].buf.nAlloc = (int)(var_46 + var_4);
    var_38->iNext = var_24 + var_47;
    var_21 = var_45;
    if (var_45 != (type_6 *)0x0) goto LAB_000b6458;
    var_21 = (type_6 *)var_20(var_38,2);
    var_38[1].buf.aBuf = var_21;
    if (var_21 != (type_6 *)0x0) goto LAB_000b6458;
    var_4 = var_38->iNext;
    var_38->iCurrent = var_4;
    if (var_38->nData <= var_4) goto LAB_000b6494;
    var_21 = var_38->aData;
    var_38->iNext = var_4 + 1;
    bVar1 = var_21[var_4];
  }
  if ((var_38[1].buf.nAlloc == 0) ||
     ((var_26 = var_38[1].aData, var_26 != (type_6 *)0x0 && (var_38[1].nData != 0)))) {
    uVar20 = 0x301e0;
  }
  else {
    var_4 = var_38->iNext;
    var_38[1].pIn = var_43;
    var_38->iNext = var_4 + 1;
    var_38[1].bEof = (type_10)var_21[var_4];
    if ((var_43 < &DAT_00000018) && ((int)((0x840200U >> ((type_10)var_43 & 0x1f)) << 0x1f) < 0)) {
      var_46 = var_38[1].xInput;
      if (var_37 != (type_7 *)0x0) {
        if (var_26 != (type_6 *)0x0) {
          if (var_43 != &DAT_00000009) goto LAB_000b65d4;
          if ((int)var_46 < 1) goto LAB_000b6830;
          var_48 = (type_9 *)var_38[2].bNoDiscard;
          var_49 = var_46 + (int)var_48;
          var_46 = (type_9 *)0x0;
          do {
            if (*var_48 != (type_9)0x0) {
              var_46 = var_46 + 1;
            }
            var_48 = var_48 + 1;
            if (var_49 == var_48) goto LAB_000b65d4;
          } while( true );
        }
        if (var_43 != &DAT_00000017) goto LAB_000b65d4;
        var_46 = (type_9 *)((int)var_46 << 1);
        goto LAB_000b65d4;
      }
      var_50 = (type_12 **)var_38[2].iCurrent;
      apOut = var_50;
      apOut_00 = var_50 + (int)var_46;
      if (var_38[1].nData != 0) {
        apOut = var_50 + (int)var_46;
        apOut_00 = var_50;
      }
      if (var_43 == (type_8 *)0x12) {
LAB_000b6678:
        var_21 = (type_6 *)var_51(var_38,(int)var_46,(type_6 *)0x0,apOut_00);
        var_38[1].buf.aBuf = var_21;
        if (var_21 != (type_6 *)0x0) goto LAB_000b6458;
        if (var_38[1].aData == (type_6 *)0x0) {
          if (var_38[1].nData == 0) goto LAB_000b6734;
          var_43 = (type_8 *)var_38[1].pIn;
          if (var_43 != &DAT_00000017) goto LAB_000b6788;
        }
        else {
          var_43 = (type_8 *)var_38[1].pIn;
          if (var_43 != &DAT_00000017) {
            var_4 = var_38[1].nData;
            goto LAB_000b6780;
          }
        }
        var_46 = var_38[1].xInput;
        var_4 = 0;
        if (0 < (int)var_46) {
          do {
            if (*(char *)(var_38[2].bNoDiscard + var_4) != '\0') {
              *(type_11 *)(var_38[2].iCurrent + var_4 * 4) =
                   *(type_11 *)(var_38[2].iCurrent + (int)(var_46 + var_4) * 4);
              if (*(int *)(var_38[2].iCurrent + var_4 * 4) == 0) {
                uVar20 = 0x30212;
                goto LAB_000b653c;
              }
              *(type_11 *)(var_38[2].iCurrent + (int)(var_38[1].xInput + var_4) * 4) = 0;
              var_46 = var_38[1].xInput;
            }
            var_4 = var_4 + 1;
          } while (var_4 < (int)var_46);
        }
      }
      else {
        if (var_26 != (type_6 *)0x0) {
          if (var_43 != &DAT_00000009) goto LAB_000b6678;
          var_37 = (type_7 *)var_38[2].bNoDiscard;
        }
        var_21 = (type_6 *)var_51(var_38,(int)var_46,(type_6 *)var_37,apOut);
        var_38[1].buf.aBuf = var_21;
        if (var_21 != (type_6 *)0x0) goto LAB_000b6458;
        if ((type_8 *)var_38[1].pIn != &DAT_00000009) {
          var_46 = var_38[1].xInput;
          goto LAB_000b6678;
        }
        if (var_38[1].aData == (type_6 *)0x0) {
          var_21 = (type_6 *)0x64;
          if (var_38[1].nData == 0) goto LAB_000b6458;
          var_43 = &DAT_00000009;
        }
        else {
          var_4 = var_38[1].nData;
          var_43 = &DAT_00000009;
LAB_000b6780:
          var_21 = (type_6 *)0x64;
          if (var_4 == 0) goto LAB_000b6458;
        }
LAB_000b6788:
        if (var_43 == (type_8 *)0x12) {
          var_21 = (type_6 *)0x64;
          var_38[1].pIn = &DAT_00000009;
          goto LAB_000b6458;
        }
        if (var_43 == &DAT_00000009) {
          var_38[1].pIn = (void *)0x12;
          var_21 = (type_6 *)0x64;
          goto LAB_000b6458;
        }
      }
LAB_000b6734:
      var_21 = (type_6 *)0x64;
      goto LAB_000b6458;
    }
    uVar20 = 0x301e6;
  }
LAB_000b653c:
  (**(type_5 **)(var_19 + 0xdaa58))
            (0xb,*(int *)(var_19 + 0xda7d4) + -0x6378,*(int *)(var_19 + 0xda7d4) + -0x5e64,uVar20,
             *(int *)(var_19 + 0xda7d0) + 0x625c);
  var_21 = (type_6 *)0xb;
  var_38[1].buf.aBuf = (type_6 *)0xb;
LAB_000b6458:
  while (var_52 != *piVar33) {
    (**(type_5 **)(var_19 + 0xdac70))();
LAB_000b6830:
    var_46 = (type_9 *)0x0;
LAB_000b65d4:
    var_21 = (type_6 *)var_53(var_38,(int)var_46,&var_10->bNoDiscard);
    var_38[1].buf.aBuf = var_21;
    if (var_21 == (type_6 *)0x0) {
      var_37->bNoDiscard = (int)(var_38->aData + var_38->iNext);
      var_38->iNext = var_38->iNext + var_10->bNoDiscard;
      var_21 = (type_6 *)0x64;
    }
  }
  return (int)var_21;
code_r0x000b6070:
  var_10 = *(type_7 **)pdVar13;
  var_42 = *(int **)((int)pdVar13 + 4);
  dVar39 = *pdVar13;
  var_54 = *(type_4 *)&var_31->iNext;
  var_37 = (type_7 *)(var_54 & 0x2400);
  var_38 = pSVar35;
  if (var_28 == (type_5 *)0x1) {
    if ((var_54 & 0x2400) == 0) {
      var_31->iCurrent = (int)var_42;
      var_31->bNoDiscard = (int)var_10;
      *(type_15 *)&var_31->iNext = 4;
    }
    else {
      pSStack_1a4 = pSVar35;
      (*(type_5 *)(*(int *)(var_35 + -0x7d78) + -0x20fc))(var_31);
      var_38 = pSStack_1a4;
    }
  }
  else {
    pSStack_198 = var_10;
    piStack_194 = var_42;
    if ((var_54 & 0x2400) == 0) {
      *(type_15 *)&var_31->iNext = 1;
    }
    else {
      pSStack_1a4 = var_31;
      var_39 = pSVar35;
      (*(type_5 *)(*(int *)(var_35 + -0x7d78) + -0x2170))(var_31);
      var_31 = pSStack_1a4;
      var_38 = var_39;
    }
    if (!var_55(dVar39)) {
      *(double *)var_31 = dVar39;
      *(type_15 *)&var_31->iNext = 8;
    }
  }
  var_30 = (type_7 *)(type_10)((int)pSVar35 < (int)nByte);
  pIn->iNext = pIn->iNext + 8;
  if (var_30 == (type_7 *)0x0) {
    var_34 = (type_7 *)0x0;
    pSVar34 = pSVar35;
    var_19 = var_35;
    goto LAB_000b5de4;
  }
  goto LAB_000b5dac;
}


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

double ******
MASKED(undefined4 *param_1,double ******param_2,double ******param_3,double ******param_4,
            undefined4 *param_5,undefined4 *param_6)

{
  byte bVar1;
  code cVar2;
  ushort uVar3;
  code *pcVar4;
  int iVar5;
  double ******ppppppdVar6;
  double ******ppppppdVar7;
  uint uVar8;
  char *pcVar9;
  double *****pppppdVar10;
  byte *pbVar11;
  double *pdVar12;
  char *pcVar13;
  double ******ppppppdVar14;
  double ******ppppppdVar15;
  double ******ppppppdVar16;
  double ******ppppppdVar17;
  undefined4 uVar18;
  int iVar19;
  double ******unaff_s0;
  int iVar20;
  double ******ppppppdVar21;
  double ******unaff_s1;
  double ******ppppppdVar22;
  double ******unaff_s2;
  int *piVar23;
  double ******ppppppdVar24;
  int iVar25;
  undefined *unaff_s3;
  undefined *puVar26;
  int iVar27;
  int iVar28;
  double ******ppppppdVar29;
  double ******ppppppdVar30;
  int unaff_s6;
  int *piVar31;
  undefined4 *puVar32;
  double ******unaff_s7;
  double ******ppppppdVar33;
  double ******ppppppdVar34;
  undefined *puVar35;
  double ******unaff_s8;
  code *pcVar36;
  code *pcVar37;
  double dVar38;
  double *****pppppdStack_20c;
  int iStack_208;
  int iStack_204;
  double *****pppppdStack_200;
  int iStack_1fc;
  double *****pppppdStack_1f8;
  double *****pppppdStack_1f4;
  double *****pppppdStack_1f0;
  code *pcStack_1ec;
  int *piStack_1e8;
  double *****pppppdStack_1e4;
  double *****pppppdStack_1e0;
  code *pcStack_1dc;
  int iStack_1c8;
  code *pcStack_1c0;
  double *****pppppdStack_1b4;
  code *pcStack_1b0;
  code *pcStack_1ac;
  int iStack_1a8;
  double *****pppppdStack_1a4;
  double *****pppppdStack_1a0;
  double *****pppppdStack_19c;
  double *****pppppdStack_198;
  double *****pppppdStack_194;
  int iStack_18c;
  double *****pppppdStack_188;
  int iStack_184;
  double *****pppppdStack_180;
  double *****pppppdStack_17c;
  double *****pppppdStack_178;
  code *pcStack_174;
  undefined4 *puStack_170;
  double *****pppppdStack_16c;
  double *****pppppdStack_168;
  code *pcStack_164;
  code *pcStack_148;
  double *****pppppdStack_13c;
  double ****ppppdStack_138;
  double *****pppppdStack_134;
  double ****ppppdStack_130;
  double *****pppppdStack_12c;
  int *piStack_128;
  double *****pppppdStack_124;
  int iStack_120;
  int iStack_11c;
  int *piStack_118;
  double *****pppppdStack_114;
  double *****pppppdStack_110;
  code *pcStack_10c;
  int iStack_f8;
  code *pcStack_f0;
  uint uStack_e8;
  int iStack_e4;
  double *****pppppdStack_dc;
  double *****pppppdStack_d8;
  double *****pppppdStack_d4;
  undefined *puStack_d0;
  double *****pppppdStack_cc;
  double *****pppppdStack_c8;
  code *pcStack_c4;
  undefined *puStack_b0;
  double *****pppppdStack_a4;
  double ****ppppdStack_a0;
  int iStack_9c;
  double *****pppppdStack_98;
  double *****pppppdStack_94;
  double *****pppppdStack_90;
  undefined *puStack_8c;
  double *****pppppdStack_88;
  double *****pppppdStack_84;
  int iStack_80;
  double *****pppppdStack_7c;
  double *****pppppdStack_78;
  code *pcStack_74;
  double *****local_3c;
  double *****local_38;
  double *****local_34;
  undefined4 local_30;
  double *****local_2c;
  
  puVar35 = PTR___stack_chk_guard_00190e24;
  local_3c = (double *****)0x0;
  local_38 = (double *****)0x0;
  local_34 = (double *****)0x0;
  local_30 = 0;
  local_2c = *(double ******)PTR___stack_chk_guard_00190e24;
  ppppppdVar17 = param_4;
  if (param_2 == (double ******)0x0) {
    ppppppdVar16 = param_3;
    if (param_3 == (double ******)0x0) {
      ppppppdVar30 = (double ******)0x0;
      goto LAB_000b57b8;
    }
  }
  else {
    pcVar4 = (code *)(PTR_LAB_00190c2c + 0x5290);
    unaff_s2 = (double ******)(PTR_LAB_00190c2c + 0x5224);
    unaff_s3 = PTR_LAB_00190c2c + 0x4ef4;
    ppppppdVar15 = param_3;
    ppppppdVar29 = param_2;
    do {
      if (ppppppdVar29[6] == (double *****)0x0) {
LAB_000b5618:
        ppppppdVar29 = (double ******)*ppppppdVar29;
        ppppppdVar16 = ppppppdVar15;
        ppppppdVar30 = (double ******)local_38;
        ppppppdVar15 = (double ******)local_34;
      }
      else {
        unaff_s0 = &local_3c;
        unaff_s1 = &local_38;
        param_2 = (double ******)*param_1;
        ppppppdVar15 = ppppppdVar29;
        ppppppdVar17 = unaff_s0;
        (*pcVar4)(unaff_s1);
        puVar26 = PTR_DAT_00190948;
        pppppdVar10 = ppppppdVar29[7];
        if ((int)pppppdVar10 < 1) goto LAB_000b5618;
        unaff_s6 = 0;
        do {
          unaff_s8 = (double ******)ppppppdVar29[8][unaff_s6];
          if (unaff_s8 != (double ******)0x0) {
            do {
              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 3),unaff_s0);
              FUN_000b5224(unaff_s1,*(code *)((int)unaff_s8 + 7),unaff_s0);
              ppppppdVar15 = (double ******)unaff_s8[2];
              param_2 = (double ******)unaff_s8[3];
              ppppppdVar17 = unaff_s0;
              FUN_000b4ef4(unaff_s1);
              if ((((double ******)local_3c == (double ******)0x0) &&
                  (ppppppdVar15 = (double ******)local_34, param_3 != (double ******)0x0)) &&
                 (param_2 = (double ******)local_38, *(int *)(puVar26 + -0xba0) <= (int)local_34)) {
                local_3c = (double *****)(*(code *)param_3)(param_4);
                local_34 = (double *****)0x0;
              }
              unaff_s8 = (double ******)unaff_s8[4];
            } while (unaff_s8 != (double ******)0x0);
            pppppdVar10 = ppppppdVar29[7];
            unaff_s8 = (double ******)0x0;
          }
          unaff_s6 = unaff_s6 + 1;
        } while (unaff_s6 < (int)pppppdVar10);
        ppppppdVar29 = (double ******)*ppppppdVar29;
        ppppppdVar16 = ppppppdVar15;
        ppppppdVar30 = (double ******)local_38;
        ppppppdVar15 = (double ******)local_34;
        unaff_s7 = (double ******)puVar26;
      }
      local_38 = (double *****)ppppppdVar30;
      local_34 = (double *****)ppppppdVar15;
      if ((double ******)local_3c != (double ******)0x0) goto LAB_000b5730;
    } while (ppppppdVar29 != (double ******)0x0);
    if (param_3 == (double ******)0x0) {
LAB_000b57b8:
      local_38 = (double *****)0x0;
      *param_6 = ppppppdVar30;
      *param_5 = local_34;
      ppppppdVar16 = (double ******)local_34;
    }
    else {
      ppppppdVar16 = ppppppdVar15;
      if (0 < (int)ppppppdVar15) {
        local_3c = (double *****)(*(code *)param_3)(param_4);
        param_2 = ppppppdVar30;
        ppppppdVar16 = ppppppdVar15;
      }
    }
  }
LAB_000b5730:
  ppppppdVar30 = (double ******)local_38;
  (*(code *)PTR_sqlite3_free_0019096c)(local_38);
  if ((double ******)local_2c == *(double *******)puVar35) {
    return (double ******)local_3c;
  }
  pcVar4 = FUN_000b57e0;
  ppppppdVar15 = (double ******)local_2c;
  puVar35 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_b0 = puVar35 + 0xe3140;
  piVar31 = *(int **)(puVar35 + 0xdb644);
  pppppdStack_a4 = (double *****)0x0;
  iStack_9c = *piVar31;
  ppppppdVar29 = (double ******)0x0;
  ppppppdVar14 = param_2;
  ppppppdVar21 = unaff_s0;
  ppppppdVar24 = unaff_s2;
  pppppdStack_98 = (double *****)unaff_s0;
  pppppdStack_94 = (double *****)unaff_s1;
  pppppdStack_90 = (double *****)unaff_s2;
  puStack_8c = unaff_s3;
  pppppdStack_88 = (double *****)param_3;
  pppppdStack_84 = (double *****)ppppppdVar30;
  iStack_80 = unaff_s6;
  pppppdStack_7c = (double *****)unaff_s7;
  pppppdStack_78 = (double *****)unaff_s8;
  pcStack_74 = pcVar4;
  if (ppppppdVar15[8] != (double *****)0x0) {
    ppppppdVar21 = ppppppdVar15;
    if (ppppppdVar15[10] == (double *****)0x0) {
      ppppppdVar29 = (double ******)0x0;
      ppppppdVar24 = param_2;
      if ((int)ppppppdVar15[4] <= (int)((int)param_2 + (int)ppppppdVar15[2])) {
        param_3 = ppppppdVar15 + 5;
        puVar26 = *(undefined **)(puVar35 + 0xdb168);
        ppppppdVar22 = (double ******)(*(int *)(puVar35 + 0xdb44c) + 0x4d08);
        ppppppdVar30 = (double ******)(*(int *)(puVar35 + 0xdb3c4) + 0x27a4);
        do {
          ppppdStack_a0 = *(double *****)(puVar26 + -0xba0);
          if (*ppppppdVar15 == (double *****)0x0) {
            (*(code *)ppppppdVar30)(ppppppdVar15);
          }
          ppppppdVar16 = &pppppdStack_a4;
          iVar5 = FUN_000b4d08(param_3,ppppdStack_a0);
          unaff_s1 = ppppppdVar22;
          unaff_s3 = puVar26;
          unaff_s7 = &pppppdStack_a4;
          unaff_s8 = (double ******)&ppppdStack_a0;
          if (iVar5 == 0) {
            ppppppdVar16 = (double ******)&ppppdStack_a0;
            pppppdStack_a4 =
                 (double *****)
                 (*(code *)ppppppdVar15[8])
                           (ppppppdVar15[9],(int)ppppppdVar15[5] + (int)ppppppdVar15[6]);
            if ((double *****)ppppdStack_a0 == (double *****)0x0) {
              ppppppdVar15[4] = ppppppdVar15[6];
              ppppppdVar15[10] = (double *****)0x1;
              ppppppdVar15[3] = ppppppdVar15[5];
              ppppppdVar29 = (double ******)pppppdStack_a4;
              ppppppdVar14 = (double ******)0x1;
              break;
            }
            pppppdVar10 = (double *****)((int)ppppdStack_a0 + (int)ppppppdVar15[6]);
            ppppppdVar14 = (double ******)ppppppdVar15[10];
            ppppppdVar15[6] = pppppdVar10;
          }
          else {
            pppppdVar10 = ppppppdVar15[6];
            ppppppdVar14 = (double ******)ppppppdVar15[10];
          }
          ppppppdVar15[4] = pppppdVar10;
          ppppppdVar15[3] = ppppppdVar15[5];
          ppppppdVar29 = (double ******)pppppdStack_a4;
          if (((ppppppdVar14 != (double ******)0x0) ||
              ((int)((int)param_2 + (int)ppppppdVar15[2]) < (int)pppppdVar10)) ||
             ((double ******)pppppdStack_a4 != (double ******)0x0)) break;
        } while( true );
      }
    }
    else {
      ppppppdVar29 = (double ******)0x0;
    }
  }
  if (iStack_9c == *piVar31) {
    return ppppppdVar29;
  }
  pcVar4 = *(code **)(puStack_b0 + -0x7b28);
  pcVar36 = FUN_000b5998;
  iVar5 = iStack_9c;
  pppppdStack_a4 = (double *****)ppppppdVar29;
  (*pcVar4)();
  pcStack_f0 = pcVar4 + 0xe2f88;
  ppppppdVar29 = (double ******)&DAT_00000009;
  piVar23 = *(int **)(pcVar4 + 0xdb48c);
  iVar28 = *(int *)(pcVar4 + 0xdb294);
  uStack_e8 = 0;
  iStack_e4 = *piVar23;
  pppppdStack_dc = (double *****)ppppppdVar21;
  pppppdStack_d8 = (double *****)unaff_s1;
  pppppdStack_d4 = (double *****)ppppppdVar24;
  puStack_d0 = unaff_s3;
  pppppdStack_cc = (double *****)param_3;
  pppppdStack_c8 = (double *****)ppppppdVar30;
  pcStack_c4 = pcVar36;
  ppppppdVar30 = (double ******)FUN_000b57e0();
  if (ppppppdVar30 == (double ******)0x0) {
    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));
    bVar1 = *pbVar11;
    if ((char)bVar1 < '\0') {
      iVar20 = (*(code *)(*(int *)(pcStack_f0 + -0x7d78) + 0x3388))(pbVar11,&uStack_e8);
      if (0x10000 < uStack_e8) {
        ppppppdVar17 = (double ******)&DAT_00030133;
        iStack_f8 = *(int *)(pcStack_f0 + -0x7fc8) + 0x625c;
        ppppppdVar16 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x5e64);
        ppppppdVar29 = (double ******)(*(int *)(pcStack_f0 + -0x7fc4) + -0x6378);
        pppppdVar10 = (double *****)(iVar20 + 1);
        (**(code **)(pcStack_f0 + -0x7d40))(0xb);
        ppppppdVar30 = (double ******)&DAT_0000000b;
        goto LAB_000b5ad4;
      }
    }
    else {
      iVar20 = 1;
      uStack_e8 = (uint)bVar1;
    }
    ppppppdVar29 = (double ******)(iVar20 + uStack_e8 + 100);
    ppppppdVar30 = (double ******)FUN_000b57e0(iVar5);
    iVar20 = iVar20 + uStack_e8;
    if (ppppppdVar30 == (double ******)0x0) {
      do {
        ppppppdVar29 = *(double *******)(iVar5 + 8);
        ppppppdVar16 = *(double *******)(iVar5 + 0x10);
        if (iVar20 + (int)ppppppdVar29 < (int)ppppppdVar16) {
          ppppppdVar17 = *(double *******)(iVar5 + 0xc);
          iVar25 = iVar20;
          if (*(code *)((int)ppppppdVar17 + (int)(iVar20 + (int)ppppppdVar29)) == (code)0x0) {
            pppppdVar10 = (double *****)(iVar20 + 1);
            goto LAB_000b5ad4;
          }
          while( true ) {
            iVar20 = iVar25 + 1;
            if ((int)ppppppdVar16 <= (int)ppppppdVar29 + iVar20) break;
            pppppdVar10 = (double *****)(iVar25 + 2);
            iVar25 = iVar20;
            if (*(code *)((int)ppppppdVar17 + (int)((int)ppppppdVar29 + iVar20)) == (code)0x0)
            goto LAB_000b5ad4;
          }
        }
        ppppppdVar29 = (double ******)(iVar20 + 100);
        ppppppdVar15 = (double ******)FUN_000b57e0(iVar5);
      } while (ppppppdVar15 == (double ******)0x0);
      pppppdVar10 = (double *****)(iVar20 + 1);
      ppppppdVar30 = ppppppdVar15;
    }
    else {
      pppppdVar10 = (double *****)(iVar20 + 1);
    }
  }
  else {
    pppppdVar10 = (double *****)0x1;
  }
LAB_000b5ad4:
  *ppppppdVar14 = pppppdVar10;
  if (iStack_e4 == *piVar23) {
    return ppppppdVar30;
  }
  pcVar4 = *(code **)(pcStack_f0 + -0x7b28);
  pcVar36 = FUN_000b5b8c;
  iVar20 = iStack_e4;
  (*pcVar4)();
  pcStack_148 = pcVar4 + 0xe2d94;
  ppppppdVar33 = (double ******)&ppppdStack_138;
  ppppppdVar24 = (double ******)0x0;
  ppppppdVar21 = (double ******)0x0;
  puVar32 = *(undefined4 **)(pcVar4 + 0xdb298);
  pppppdStack_134 = (double *****)*puVar32;
  ppppppdVar22 = (double ******)(*(int *)(pcVar4 + 0xdb0a0) + 0x57e0);
  pcVar4 = (code *)(*(int *)(pcVar4 + 0xdb01c) + 0x3388);
  ppppppdVar6 = (double ******)0x0;
  ppppppdVar15 = ppppppdVar29;
  pppppdStack_13c = (double *****)ppppppdVar16;
  ppppdStack_130 = (double ****)pppppdVar10;
  pppppdStack_12c = (double *****)ppppppdVar30;
  piStack_128 = piVar23;
  pppppdStack_124 = (double *****)ppppppdVar14;
  iStack_120 = iVar28 + 0x57e0;
  iStack_11c = iVar5;
  piStack_118 = piVar31;
  pppppdStack_114 = (double *****)unaff_s7;
  pppppdStack_110 = (double *****)unaff_s8;
  pcStack_10c = pcVar36;
  if (0 < (int)ppppppdVar29) {
    do {
      ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);
      while( true ) {
        ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);
        if (ppppppdVar6 != (double ******)0x0) goto LAB_000b5c24;
        unaff_s8 = (double ******)((int)ppppppdVar21 + 1);
        ppppppdVar17 = *(double *******)(iVar20 + 8);
        uVar8 = (uint)(byte)((code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc)))
                            [(int)ppppppdVar21];
        ppppppdVar24 = (double ******)((int)ppppppdVar24 + 1);
        if (uVar8 - 3 < 2) break;
        ppppppdVar21 = (double ******)((int)ppppppdVar21 + 9);
        if (1 < uVar8 - 1) {
          ppppppdVar21 = unaff_s8;
        }
        ppppppdVar15 = (double ******)((int)ppppppdVar21 + 10);
        if (ppppppdVar29 == ppppppdVar24) goto LAB_000b5c24;
      }
      ppppppdVar17 = (double ******)((int)ppppppdVar17 + (int)unaff_s8);
      pcVar36 = (code *)((int)ppppppdVar17 + *(int *)(iVar20 + 0xc));
      cVar2 = *pcVar36;
      if ((char)cVar2 < '\0') {
        iVar5 = (*pcVar4)(pcVar36,ppppppdVar33);
      }
      else {
        iVar5 = 1;
        ppppdStack_138 = (double ****)(uint)(byte)cVar2;
      }
      unaff_s8 = (double ******)((int)unaff_s8 + iVar5);
      ppppppdVar21 = (double ******)((int)unaff_s8 + (int)ppppdStack_138);
      ppppppdVar15 = ppppppdVar21;
      ppppppdVar6 = (double ******)FUN_000b57e0(iVar20);
    } while ((ppppppdVar6 == (double ******)0x0) &&
            (ppppppdVar6 = (double ******)0x0, (int)ppppppdVar24 < (int)ppppppdVar29));
  }
LAB_000b5c24:
  *pppppdStack_13c = (double ****)ppppppdVar21;
  if ((double ******)pppppdStack_134 == (double ******)*puVar32) {
    return ppppppdVar6;
  }
  pcVar36 = *(code **)(pcStack_148 + -0x7b28);
  pcVar37 = FUN_000b5d20;
  ppppppdVar6 = (double ******)pppppdStack_134;
  (*pcVar36)();
  pcStack_1c0 = pcVar36 + 0xe2c00;
  piVar31 = *(int **)(pcVar36 + 0xdb104);
  iStack_18c = *piVar31;
  ppppppdVar14 = ppppppdVar15;
  ppppppdVar30 = ppppppdVar16;
  pppppdStack_1b4 = (double *****)ppppppdVar17;
  pppppdStack_188 = (double *****)ppppppdVar21;
  iStack_184 = iVar20;
  pppppdStack_180 = (double *****)ppppppdVar24;
  pppppdStack_17c = (double *****)ppppppdVar22;
  pppppdStack_178 = (double *****)ppppppdVar29;
  pcStack_174 = pcVar4;
  puStack_170 = puVar32;
  pppppdStack_16c = (double *****)ppppppdVar33;
  pppppdStack_168 = (double *****)unaff_s8;
  pcStack_164 = pcVar37;
  if (0 < (int)ppppppdVar15) {
    ppppppdVar21 = (double ******)0x0;
    pcVar4 = *(code **)(pcVar36 + 0xdae88);
    pcStack_1b0 = pcVar4 + 0x924;
    pcStack_1ac = (code *)(*(int *)(pcVar36 + 0xdae88) + -0x2b48);
    iVar20 = *(int *)(pcVar36 + 0xdaf0c) + 0x57e0;
    iStack_1a8 = *(int *)(pcVar36 + 0xdaea0);
LAB_000b5dac:
    ppppppdVar22 = (double ******)0x1;
    ppppppdVar33 = ppppppdVar21;
    pcVar36 = pcStack_1c0;
LAB_000b5db4:
    while ((ppppppdVar16 != (double ******)0x0 &&
           (*(code *)((int)ppppppdVar16 + (int)ppppppdVar33) == (code)0x0))) {
      ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);
      ppppppdVar7 = (double ******)0x0;
      if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5de4;
    }
    ppppppdVar14 = (double ******)&DAT_00000009;
    ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);
    pcVar36 = pcStack_1c0;
    if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;
    pppppdVar10 = ppppppdVar6[2];
    ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);
    if ((int)ppppppdVar6[4] <= (int)pppppdVar10) {
      ppppppdVar17 = (double ******)&DAT_000300ea;
LAB_000b5e90:
      iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fc8) + 0x625c;
      ppppppdVar30 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x5e64);
      ppppppdVar14 = (double ******)(*(int *)(pcStack_1c0 + -0x7fc4) + -0x6378);
      (**(code **)(pcStack_1c0 + -0x7d40))(0xb);
      ppppppdVar7 = (double ******)&DAT_0000000b;
      pcVar36 = pcStack_1c0;
      goto LAB_000b5de4;
    }
    ppppppdVar6[2] = (double *****)ppppppdVar14;
    pcVar4 = (code *)(uint)*(byte *)((int)ppppppdVar6[3] + (int)pppppdVar10);
    if (pcVar4 != (code *)0x0) {
      ppppppdVar17 = (double ******)&DAT_00000028;
      ppppppdVar30 = (double ******)0x0;
      ppppppdVar29 = (double ******)(pppppdStack_1b4 + (int)ppppppdVar33);
      ppppppdVar24 = (double ******)(*pcStack_1b0)(0);
      if (ppppppdVar24 == (double ******)0x0) {
        ppppppdVar7 = (double ******)&DAT_00000007;
        *ppppppdVar29 = (double *****)0x0;
        pcVar36 = pcStack_1c0;
        goto LAB_000b5de4;
      }
      *(undefined2 *)(ppppppdVar24 + 2) = 1;
      ppppppdVar24[8] = (double *****)0x0;
      *ppppppdVar29 = (double *****)ppppppdVar24;
      ppppppdVar30 = (double ******)ppppppdVar6[2];
      pdVar12 = (double *)((int)ppppppdVar6[3] + (int)ppppppdVar30);
      if (pcVar4 + -3 < (code *)0x2) {
        if ((char)*(code *)pdVar12 < '\0') {
          iVar5 = (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + 0x3388))(pdVar12,&pppppdStack_198);
          ppppppdVar30 = (double ******)ppppppdVar6[2];
        }
        else {
          iVar5 = 1;
          pppppdStack_198 = (double *****)(uint)(byte)*(code *)pdVar12;
        }
        ppppppdVar6[2] = (double *****)(iVar5 + (int)ppppppdVar30);
        ppppppdVar14 = (double ******)pppppdStack_198;
        ppppppdVar7 = (double ******)FUN_000b57e0(ppppppdVar6);
        pppppdVar10 = pppppdStack_198;
        pcVar36 = pcStack_1c0;
        if (ppppppdVar7 != (double ******)0x0) goto LAB_000b5de4;
        ppppppdVar17 = (double ******)&DAT_00030000;
        if (-1 < (int)pppppdStack_198) {
          if ((int)pppppdStack_198 <= (int)ppppppdVar6[4] - (int)ppppppdVar6[2]) {
            pppppdStack_1a0 = *ppppppdVar29;
            ppppppdVar29 = (double ******)ppppppdVar6[3];
            pppppdStack_1a4 = ppppppdVar6[2];
            ppppppdVar21 = (double ******)(**(code **)(pcStack_1c0 + -0x7d98))();
            ppppppdVar30 = (double ******)pppppdStack_1a4;
            ppppppdVar22 = (double ******)pppppdVar10;
            if (ppppppdVar21 == (double ******)0x0) {
              ppppppdVar14 = (double ******)((int)pppppdVar10 + 1);
              pppppdStack_19c = (double *****)ppppppdVar21;
              iVar5 = (*pcStack_1ac)((uint)(ppppppdVar14 < pppppdVar10) + ((int)pppppdVar10 >> 0x1f)
                                    );
              if (iVar5 != 0) {
                ppppppdVar30 = (double ******)pppppdVar10;
                uVar18 = (**(code **)(pcStack_1c0 + -0x7af4))
                                   (iVar5,(code *)((int)ppppppdVar29 + (int)pppppdStack_1a4));
                if ((double ******)pppppdStack_1a0 == (double ******)0x0) {
                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);
                  pcVar36 = pcStack_1c0;
                  ppppppdVar7 = (double ******)pppppdStack_19c;
                  ppppppdVar14 = (double ******)pppppdStack_198;
                }
                else {
                  pppppdStack_1a4 = pppppdStack_19c;
                  ppppppdVar17 = (double ******)(uint)(pcVar4 == (code *)0x3);
                  iStack_1c8 = *(int *)(pcStack_1c0 + -0x7fb4);
                  ppppppdVar30 = (double ******)pppppdVar10;
                  (*(code *)(iStack_1a8 + -0x2aec))(pppppdStack_1a0,uVar18);
                  ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);
                  pcVar36 = pcStack_1c0;
                  ppppppdVar7 = (double ******)pppppdStack_1a4;
                  ppppppdVar14 = (double ******)pppppdStack_198;
                }
                ppppppdVar21 = (double ******)((int)ppppppdVar33 + 1);
                pcStack_1c0 = pcVar36;
                pppppdStack_198 = (double *****)ppppppdVar14;
                if ((int)ppppppdVar21 < (int)ppppppdVar15) goto LAB_000b5dac;
                goto LAB_000b5de4;
              }
            }
            ppppppdVar7 = (double ******)&DAT_00000007;
            ppppppdVar6[2] = (double *****)((int)ppppppdVar6[2] + (int)pppppdStack_198);
            pcVar36 = pcStack_1c0;
            goto LAB_000b5de4;
          }
        }
        ppppppdVar17 = (double ******)&DAT_000300fd;
        ppppppdVar22 = (double ******)pppppdStack_198;
        goto LAB_000b5e90;
      }
      ppppppdVar34 = (double ******)((int)ppppppdVar33 + 1);
      ppppppdVar14 = (double ******)(uint)(pcVar4 + -1 < (code *)0x2);
      if (ppppppdVar14 != (double ******)0x0) goto code_r0x000b6070;
    }
    ppppppdVar33 = (double ******)((int)ppppppdVar33 + 1);
    ppppppdVar21 = ppppppdVar16;
    ppppppdVar24 = ppppppdVar15;
    pcVar36 = pcStack_1c0;
    unaff_s8 = ppppppdVar6;
    if ((int)ppppppdVar15 <= (int)ppppppdVar33) goto LAB_000b5e64;
    goto LAB_000b5db4;
  }
LAB_000b5e64:
  ppppppdVar7 = (double ******)0x0;
  ppppppdVar16 = ppppppdVar21;
  ppppppdVar15 = ppppppdVar24;
  pcVar36 = pcStack_1c0;
  ppppppdVar6 = unaff_s8;
LAB_000b5de4:
  if (iStack_18c == *piVar31) {
    return ppppppdVar7;
  }
  pcVar36 = *(code **)(pcVar36 + -0x7b28);
  pcVar37 = FUN_000b6188;
  iVar5 = iStack_18c;
  (*pcVar36)();
  piVar23 = *(int **)(pcVar36 + 0xdac9c);
  iVar28 = *(int *)(iVar5 + 0x5c);
  iStack_204 = *piVar23;
  pppppdStack_200 = (double *****)ppppppdVar16;
  iStack_1fc = iVar20;
  pppppdStack_1f8 = (double *****)ppppppdVar15;
  pppppdStack_1f4 = (double *****)ppppppdVar22;
  pppppdStack_1f0 = (double *****)ppppppdVar29;
  pcStack_1ec = pcVar4;
  piStack_1e8 = piVar31;
  pppppdStack_1e4 = (double *****)ppppppdVar33;
  pppppdStack_1e0 = (double *****)ppppppdVar6;
  pcStack_1dc = pcVar37;
  if (iVar28 != 0) {
    iVar20 = *(int *)(iVar5 + 0x4c);
    iVar25 = 0;
    if (0 < iVar20) {
      iVar27 = *(int *)(pcVar36 + 0xdaa20);
      do {
        iVar20 = iVar25 * 4;
        iVar25 = iVar25 + 1;
        (*(code *)(iVar27 + -0x18d4))(*(undefined4 *)(iVar28 + iVar20));
        iVar20 = *(int *)(iVar5 + 0x4c);
        iVar28 = *(int *)(iVar5 + 0x5c);
      } while (iVar25 < iVar20 << 1);
    }
    (**(code **)(pcVar36 + 0xdabd0))(iVar28,0,iVar20 << 3);
  }
  ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);
  *(double *******)(iVar5 + 0x40) = ppppppdVar16;
  if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;
  if (*(int *)(iVar5 + 0x10) <= *(int *)(iVar5 + 8)) {
LAB_000b6494:
    ppppppdVar16 = (double ******)0x65;
    goto LAB_000b6458;
  }
  (*(code *)(*(int *)(pcVar36 + 0xdaa1c) + 0x27a4))(iVar5);
  iVar28 = *(int *)(iVar5 + 8);
  iVar20 = *(int *)(iVar5 + 0xc);
  iVar25 = *(int *)(pcVar36 + 0xdaa20);
  *(int *)(iVar5 + 4) = iVar28;
  *(int *)(iVar5 + 8) = iVar28 + 1;
  bVar1 = *(byte *)(iVar20 + iVar28);
  while (uVar8 = (uint)bVar1, (uVar8 & 0xfb) == 0x50) {
    if (ppppppdVar17 != (double ******)0x0) {
      *ppppppdVar17 = (double *****)0x1;
    }
    *(uint *)(iVar5 + 0x38) = (uint)(uVar8 == 0x50);
    pppppdStack_20c = (double *****)FUN_000b5998(iVar5,&iStack_208);
    if ((double ******)pppppdStack_20c != (double ******)0x0) {
LAB_000b6434:
      *(double ******)(iVar5 + 0x40) = pppppdStack_20c;
      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);
      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;
      *(int *)(iVar5 + 0x58) = iVar28;
      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);
      ppppppdVar16 = (double ******)pppppdStack_20c;
      goto LAB_000b6458;
    }
    pbVar11 = (byte *)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));
    bVar1 = *pbVar11;
    uVar8 = (uint)bVar1;
    if ((char)bVar1 < '\0') {
      iVar28 = (*(code *)(iVar25 + 0x3388))(pbVar11,iVar5 + 0x4c);
      uVar8 = *(uint *)(iVar5 + 0x4c);
    }
    else {
      iVar28 = 1;
      *(uint *)(iVar5 + 0x4c) = uVar8;
    }
    if ((int)uVar8 < 1) {
      (**(code **)(pcVar36 + 0xdaa58))
                (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,
                 0x3018b,*(int *)(pcVar36 + 0xda7d0) + 0x625c);
      ppppppdVar16 = (double ******)&DAT_0000000b;
      *(undefined4 *)(iVar5 + 0x40) = 0xb;
      *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);
      iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;
      *(int *)(iVar5 + 0x58) = iVar28;
      *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);
      goto LAB_000b6458;
    }
    *(undefined4 *)(iVar5 + 0x30) = 0;
    iStack_208 = iStack_208 - iVar28;
    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iVar28;
    FUN_000b4d08(iVar5 + 0x2c,uVar8 * 8 + iStack_208,&pppppdStack_20c);
    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6434;
    iVar28 = *(int *)(iVar5 + 0x4c) * 8;
    (**(code **)(pcVar36 + 0xdabd0))(*(undefined4 *)(iVar5 + 0x2c),0,iVar28);
    (**(code **)(pcVar36 + 0xdaca4))
              (*(int *)(iVar5 + 0x2c) + iVar28,*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8),
               iStack_208);
    iVar28 = *(int *)(iVar5 + 0x2c) + *(int *)(iVar5 + 0x4c) * 8;
    *(int *)(iVar5 + 0x5c) = *(int *)(iVar5 + 0x2c);
    *(int *)(iVar5 + 0x58) = iVar28;
    *(double ******)(iVar5 + 0x40) = pppppdStack_20c;
    *(int *)(iVar5 + 0x48) = iVar28 + *(int *)(iVar5 + 0x4c);
    *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + iStack_208;
    ppppppdVar16 = (double ******)pppppdStack_20c;
    if ((double ******)pppppdStack_20c != (double ******)0x0) goto LAB_000b6458;
    ppppppdVar16 = (double ******)FUN_000b57e0(iVar5,2);
    *(double *******)(iVar5 + 0x40) = ppppppdVar16;
    if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;
    iVar28 = *(int *)(iVar5 + 8);
    *(int *)(iVar5 + 4) = iVar28;
    if (*(int *)(iVar5 + 0x10) <= iVar28) goto LAB_000b6494;
    iVar20 = *(int *)(iVar5 + 0xc);
    *(int *)(iVar5 + 8) = iVar28 + 1;
    bVar1 = *(byte *)(iVar20 + iVar28);
  }
  if ((*(int *)(iVar5 + 0x48) == 0) ||
     ((iVar28 = *(int *)(iVar5 + 0x38), iVar28 != 0 && (*(int *)(iVar5 + 0x3c) != 0)))) {
    uVar18 = 0x301e0;
  }
  else {
    iVar25 = *(int *)(iVar5 + 8);
    *(uint *)(iVar5 + 0x50) = uVar8;
    *(int *)(iVar5 + 8) = iVar25 + 1;
    *(uint *)(iVar5 + 0x54) = (uint)*(byte *)(iVar20 + iVar25);
    if ((uVar8 < 0x18) && ((int)((0x840200U >> (uVar8 & 0x1f)) << 0x1f) < 0)) {
      iVar20 = *(int *)(iVar5 + 0x4c);
      if (ppppppdVar14 != (double ******)0x0) {
        if (iVar28 != 0) {
          if (uVar8 != 9) goto LAB_000b65d4;
          if (iVar20 < 1) goto LAB_000b6830;
          pcVar9 = *(char **)(iVar5 + 0x58);
          pcVar13 = pcVar9 + iVar20;
          iVar20 = 0;
          do {
            if (*pcVar9 != '\0') {
              iVar20 = iVar20 + 1;
            }
            pcVar9 = pcVar9 + 1;
            if (pcVar13 == pcVar9) goto LAB_000b65d4;
          } while( true );
        }
        if (uVar8 != 0x17) goto LAB_000b65d4;
        iVar20 = iVar20 << 1;
        goto LAB_000b65d4;
      }
      iVar19 = *(int *)(iVar5 + 0x5c);
      iVar27 = iVar19 + iVar20 * 4;
      iVar25 = iVar19;
      if (*(int *)(iVar5 + 0x3c) != 0) {
        iVar25 = iVar27;
        iVar27 = iVar19;
      }
      if (uVar8 == 0x12) {
LAB_000b6678:
        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,0,iVar27);
        *(double *******)(iVar5 + 0x40) = ppppppdVar16;
        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;
        if (*(int *)(iVar5 + 0x38) == 0) {
          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6734;
          iVar28 = *(int *)(iVar5 + 0x50);
          if (iVar28 != 0x17) goto LAB_000b6788;
        }
        else {
          iVar28 = *(int *)(iVar5 + 0x50);
          if (iVar28 != 0x17) {
            iVar20 = *(int *)(iVar5 + 0x3c);
            goto LAB_000b6780;
          }
        }
        iVar20 = *(int *)(iVar5 + 0x4c);
        iVar28 = 0;
        if (0 < iVar20) {
          do {
            if (*(char *)(*(int *)(iVar5 + 0x58) + iVar28) != '\0') {
              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) =
                   *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar20 + iVar28) * 4);
              if (*(int *)(*(int *)(iVar5 + 0x5c) + iVar28 * 4) == 0) {
                uVar18 = 0x30212;
                goto LAB_000b653c;
              }
              *(undefined4 *)(*(int *)(iVar5 + 0x5c) + (iVar28 + *(int *)(iVar5 + 0x4c)) * 4) = 0;
              iVar20 = *(int *)(iVar5 + 0x4c);
            }
            iVar28 = iVar28 + 1;
          } while (iVar28 < iVar20);
        }
      }
      else {
        if (iVar28 != 0) {
          if (uVar8 != 9) goto LAB_000b6678;
          ppppppdVar14 = *(double *******)(iVar5 + 0x58);
        }
        ppppppdVar16 = (double ******)FUN_000b5d20(iVar5,iVar20,ppppppdVar14,iVar25);
        *(double *******)(iVar5 + 0x40) = ppppppdVar16;
        if (ppppppdVar16 != (double ******)0x0) goto LAB_000b6458;
        if (*(int *)(iVar5 + 0x50) != 9) {
          iVar20 = *(int *)(iVar5 + 0x4c);
          goto LAB_000b6678;
        }
        if (*(int *)(iVar5 + 0x38) == 0) {
          ppppppdVar16 = (double ******)&DAT_00000064;
          if (*(int *)(iVar5 + 0x3c) == 0) goto LAB_000b6458;
          iVar28 = 9;
        }
        else {
          iVar20 = *(int *)(iVar5 + 0x3c);
          iVar28 = 9;
LAB_000b6780:
          ppppppdVar16 = (double ******)&DAT_00000064;
          if (iVar20 == 0) goto LAB_000b6458;
        }
LAB_000b6788:
        if (iVar28 == 0x12) {
          ppppppdVar16 = (double ******)&DAT_00000064;
          *(undefined4 *)(iVar5 + 0x50) = 9;
          goto LAB_000b6458;
        }
        if (iVar28 == 9) {
          *(undefined4 *)(iVar5 + 0x50) = 0x12;
          ppppppdVar16 = (double ******)&DAT_00000064;
          goto LAB_000b6458;
        }
      }
LAB_000b6734:
      ppppppdVar16 = (double ******)&DAT_00000064;
      goto LAB_000b6458;
    }
    uVar18 = 0x301e6;
  }
LAB_000b653c:
  (**(code **)(pcVar36 + 0xdaa58))
            (0xb,*(int *)(pcVar36 + 0xda7d4) + -0x6378,*(int *)(pcVar36 + 0xda7d4) + -0x5e64,uVar18,
             *(int *)(pcVar36 + 0xda7d0) + 0x625c);
  ppppppdVar16 = (double ******)&DAT_0000000b;
  *(undefined4 *)(iVar5 + 0x40) = 0xb;
LAB_000b6458:
  while (iStack_204 != *piVar23) {
    (**(code **)(pcVar36 + 0xdac70))();
LAB_000b6830:
    iVar20 = 0;
LAB_000b65d4:
    ppppppdVar16 = (double ******)FUN_000b5b8c(iVar5,iVar20,ppppppdVar30);
    *(double *******)(iVar5 + 0x40) = ppppppdVar16;
    if (ppppppdVar16 == (double ******)0x0) {
      *ppppppdVar14 = (double *****)(*(int *)(iVar5 + 0xc) + *(int *)(iVar5 + 8));
      *(int *)(iVar5 + 8) = *(int *)(iVar5 + 8) + (int)*ppppppdVar30;
      ppppppdVar16 = (double ******)&DAT_00000064;
    }
  }
  return ppppppdVar16;
code_r0x000b6070:
  ppppppdVar30 = *(double *******)pdVar12;
  ppppppdVar17 = *(double *******)((int)pdVar12 + 4);
  dVar38 = *pdVar12;
  uVar3 = *(ushort *)(ppppppdVar24 + 2);
  ppppppdVar14 = (double ******)(uVar3 & 0x2400);
  ppppppdVar21 = ppppppdVar34;
  if (pcVar4 == (code *)0x1) {
    if ((uVar3 & 0x2400) == 0) {
      ppppppdVar24[1] = (double *****)ppppppdVar17;
      *ppppppdVar24 = (double *****)ppppppdVar30;
      *(undefined2 *)(ppppppdVar24 + 2) = 4;
    }
    else {
      pppppdStack_1a4 = (double *****)ppppppdVar34;
      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x20fc))(ppppppdVar24);
      ppppppdVar21 = (double ******)pppppdStack_1a4;
    }
  }
  else {
    pppppdStack_198 = (double *****)ppppppdVar30;
    pppppdStack_194 = (double *****)ppppppdVar17;
    if ((uVar3 & 0x2400) == 0) {
      *(undefined2 *)(ppppppdVar24 + 2) = 1;
    }
    else {
      pppppdStack_1a4 = (double *****)ppppppdVar24;
      pppppdStack_1a0 = (double *****)ppppppdVar34;
      (*(code *)(*(int *)(pcStack_1c0 + -0x7d78) + -0x2170))(ppppppdVar24);
      ppppppdVar24 = (double ******)pppppdStack_1a4;
      ppppppdVar21 = (double ******)pppppdStack_1a0;
    }
    if (!NAN(dVar38)) {
      *(double *)ppppppdVar24 = dVar38;
      *(undefined2 *)(ppppppdVar24 + 2) = 8;
    }
  }
  ppppppdVar29 = (double ******)(uint)((int)ppppppdVar34 < (int)ppppppdVar15);
  ppppppdVar6[2] = ppppppdVar6[2] + 2;
  if (ppppppdVar29 == (double ******)0x0) {
    ppppppdVar7 = (double ******)0x0;
    ppppppdVar33 = ppppppdVar34;
    pcVar36 = pcStack_1c0;
    goto LAB_000b5de4;
  }
  goto LAB_000b5dac;
}

