
void __gmpn_toom62_mul(mp_ptr pp,mp_srcptr ap,mp_size_t an,mp_srcptr bp,mp_size_t bn,mp_ptr scratch)

{
  mp_srcptr pmVar1;
  bool bVar2;
  int iVar3;
  uint uVar4;
  undefined1 *puVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  int iVar15;
  int iVar16;
  mp_limb_t mVar17;
  mp_srcptr pmVar18;
  int iVar19;
  mp_srcptr pmVar20;
  mp_ptr pmVar21;
  mp_limb_t *pmVar22;
  uint uVar23;
  uint *puVar24;
  undefined1 *puVar25;
  uint *puVar26;
  undefined1 *puVar27;
  mp_srcptr pmVar28;
  uint uVar29;
  uint *puVar30;
  mp_ptr pmVar31;
  mp_srcptr pmVar32;
  int iVar33;
  mp_limb_t mVar34;
  uint *puVar35;
  mp_srcptr pmVar36;
  mp_srcptr pmVar37;
  mp_srcptr pmVar38;
  uint uVar39;
  int iVar40;
  int iVar41;
  mp_ptr pmVar42;
  int iVar43;
  undefined1 *puVar44;
  int iVar45;
  mp_ptr pmVar46;
  mp_ptr pmVar47;
  mp_srcptr pmVar48;
  mp_srcptr pmVar49;
  int *piVar50;
  undefined *puVar51;
  code *pcVar52;
  undefined *puVar53;
  undefined4 uVar54;
  undefined4 *puVar55;
  undefined4 uVar56;
  uint auStack_140 [2];
  mp_limb_t amStack_138 [6];
  uint auStack_120 [16];
  mp_limb_t amStack_e0 [6];
  undefined1 auStack_c8 [4];
  undefined4 uStack_c4;
  undefined1 auStack_c0 [4];
  int aiStack_bc [9];
  uint local_64;
  
  puVar51 = PTR___stack_chk_guard_0009d540;
  iVar19 = *(int *)PTR___stack_chk_guard_0009d540;
  if (an < bn * 3) {
    uVar39 = bn + -1 >> 1;
  }
  else {
    uVar39 = (an - 1U) / 6;
  }
  iVar40 = uVar39 + 1;
  iVar45 = uVar39 + 2;
  iVar43 = iVar40 * 4;
  iVar33 = an + iVar40 * -5;
  uVar4 = iVar45 * 4 + 7U & 0xfffffff8;
  puVar25 = &stack0xffffff68 + -uVar4;
  puVar27 = &stack0xffffff68 + uVar4 * -2;
  iVar41 = bn - iVar40;
  puVar44 = &stack0xffffff68 + uVar4 * -5;
  pmVar37 = (mp_srcptr)(&stack0xffffff68 + uVar4 * -6);
  iVar3 = -(iVar43 + 7U & 0xfffffff8);
  pmVar28 = ap + iVar40;
  pmVar38 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -6);
  pmVar36 = pmVar28 + iVar40;
  pmVar48 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -7);
  pmVar49 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -8);
  pmVar32 = pmVar36 + iVar40;
  puVar5 = &stack0xffffff68 + iVar3 + uVar4 * -9;
  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = iVar33;
  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar40;
  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pp;
  uVar6 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar25,puVar27,5,ap);
  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = iVar33;
  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pp;
  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar40;
  uVar7 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)
                    (&stack0xffffff68 + uVar4 * -3,&stack0xffffff68 + uVar4 * -4,5,ap);
  local_64 = uVar7 & 1 | uVar6 & 2;
  iVar8 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,ap,iVar40,1);
  iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar40);
  iVar10 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);
  iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar36,iVar40);
  iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);
  iVar13 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar32,iVar40);
  iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);
  iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar32 + iVar40,iVar40);
  iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);
  pmVar28 = pmVar32 + iVar40 + iVar40;
  iVar16 = (iVar14 + iVar15 + (iVar12 + iVar13 + (iVar10 + iVar11 + (iVar8 + iVar9) * 2) * 2) * 2) *
           2 + iVar16;
  if ((iVar33 != 0) &&
     (iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar33), iVar8 != 0)) {
    if (iVar33 < iVar40) {
      piVar50 = (int *)(puVar44 + iVar33 * 4);
      iVar8 = *piVar50;
      *piVar50 = iVar8 + 1;
      if (iVar8 + 1 == 0) {
        if (iVar40 <= iVar33 + 1) goto LAB_0005dbd4;
        iVar8 = iVar33 + 2;
        iVar9 = *(int *)(puVar44 + (iVar33 + 1) * 4) + 1;
        *(int *)(puVar44 + (iVar33 + 1) * 4) = iVar9;
        while (iVar9 == 0) {
          if (iVar8 == iVar40) goto LAB_0005dbd4;
          iVar8 = iVar8 + 1;
          iVar9 = piVar50[2] + 1;
          piVar50[2] = iVar9;
          piVar50 = piVar50 + 1;
        }
      }
    }
    else {
LAB_0005dbd4:
      iVar16 = iVar16 + 1;
    }
  }
  pmVar32 = bp + iVar40;
  *(int *)(puVar44 + iVar43) = iVar16;
  pmVar36 = pmVar37 + iVar40;
  if (iVar40 == iVar41) {
    mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar40);
    *pmVar36 = mVar17;
    puVar26 = bp + uVar39;
    iVar8 = iVar40;
    do {
      iVar8 = iVar8 + -1;
      if (iVar8 < 0) goto LAB_0005ddc8;
      uVar6 = *puVar26;
      puVar26 = puVar26 + -1;
    } while (uVar6 == puVar26[uVar39 + 2]);
    if (puVar26[uVar39 + 2] < uVar6) {
LAB_0005ddc8:
      uVar6 = 0;
      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);
    }
    else {
      uVar6 = 2;
      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);
    }
LAB_0005d5e4:
    iVar8 = 0;
    if (iVar41 == 0) {
LAB_0005d5f0:
      if ((pmVar37 != pmVar48) && (iVar8 < iVar45)) {
LAB_0005d600:
        (*(code *)PTR_memcpy_0009d544)(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4);
      }
      if (uVar6 != 0) {
        if (iVar41 != 0) goto LAB_0005df00;
        iVar8 = 0;
        goto LAB_0005d63c;
      }
      goto LAB_0005da2c;
    }
LAB_0005d980:
    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar48,pmVar37,pmVar32,iVar41);
    iVar8 = iVar41;
    if (iVar9 == 0) goto LAB_0005d5f0;
    if (iVar41 < iVar45) {
      iVar8 = iVar41 + 1;
      pmVar18 = pmVar37 + iVar41;
      mVar17 = *pmVar18;
      pmVar48[iVar41] = mVar17 + 1;
      if (mVar17 + 1 == 0) {
        if (iVar40 <= iVar41) goto LAB_0005da20;
        iVar9 = iVar41 + 2;
        mVar17 = pmVar37[iVar8] + 1;
        pmVar48[iVar8] = mVar17;
        pmVar20 = pmVar48 + iVar41;
        while (iVar8 = iVar9, mVar17 == 0) {
          if (iVar9 == iVar45) goto LAB_0005da20;
          pmVar1 = pmVar18 + 2;
          iVar9 = iVar9 + 1;
          pmVar18 = pmVar18 + 1;
          mVar17 = *pmVar1 + 1;
          pmVar20[2] = mVar17;
          pmVar20 = pmVar20 + 1;
        }
      }
      goto LAB_0005d5f0;
    }
LAB_0005da20:
    if (uVar6 == 0) goto LAB_0005da2c;
LAB_0005df00:
    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar49,pmVar38,pmVar32,iVar41);
    iVar8 = iVar41;
    if (iVar9 == 0) {
LAB_0005d63c:
      mVar17 = 0;
      if (pmVar38 != pmVar49) {
        if (iVar8 < iVar40) {
          (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4);
          mVar17 = 0;
        }
        else {
          mVar17 = 0;
        }
      }
    }
    else {
      if (iVar41 < iVar40) {
        iVar8 = iVar41 + 1;
        pmVar18 = pmVar38 + iVar41;
        mVar17 = *pmVar18;
        pmVar49[iVar41] = mVar17 + 1;
        if (mVar17 + 1 == 0) {
          mVar17 = 1;
          if (iVar40 <= iVar8) goto LAB_0005d678;
          iVar9 = iVar41 + 2;
          mVar17 = pmVar38[iVar8] + 1;
          pmVar49[iVar8] = mVar17;
          pmVar20 = pmVar49 + iVar41;
          while (iVar8 = iVar9, mVar17 == 0) {
            if (iVar40 == iVar9) goto LAB_0005dfa8;
            pmVar1 = pmVar18 + 2;
            iVar9 = iVar9 + 1;
            pmVar18 = pmVar18 + 1;
            mVar17 = *pmVar1 + 1;
            pmVar20[2] = mVar17;
            pmVar20 = pmVar20 + 1;
          }
        }
        goto LAB_0005d63c;
      }
LAB_0005dfa8:
      mVar17 = 1;
    }
LAB_0005d678:
    pmVar49[iVar40] = mVar17;
    local_64 = local_64 ^ (uVar6 | 1);
  }
  else {
    if (iVar41 == 0) {
      iVar8 = 0;
LAB_0005d51c:
      mVar17 = 0;
      if (pmVar37 != bp) {
        if (iVar8 < iVar40) {
          (*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);
        }
        mVar17 = 0;
      }
    }
    else {
      iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar41);
      iVar8 = iVar41;
      if (iVar9 == 0) goto LAB_0005d51c;
      if (iVar41 < iVar40) {
        iVar8 = iVar41 + 1;
        pmVar18 = bp + iVar41;
        mVar17 = *pmVar18;
        pmVar37[iVar41] = mVar17 + 1;
        if (mVar17 + 1 == 0) {
          mVar17 = 1;
          if (iVar40 <= iVar8) goto LAB_0005d558;
          iVar9 = iVar41 + 2;
          mVar17 = bp[iVar8] + 1;
          pmVar37[iVar8] = mVar17;
          pmVar20 = pmVar37 + iVar41;
          while (iVar8 = iVar9, mVar17 == 0) {
            if (iVar9 == iVar40) goto LAB_0005dc80;
            pmVar1 = pmVar18 + 2;
            iVar9 = iVar9 + 1;
            pmVar18 = pmVar18 + 1;
            mVar17 = *pmVar1 + 1;
            pmVar20[2] = mVar17;
            pmVar20 = pmVar20 + 1;
          }
        }
        goto LAB_0005d51c;
      }
LAB_0005dc80:
      mVar17 = 1;
    }
LAB_0005d558:
    *pmVar36 = mVar17;
    iVar9 = iVar40 - iVar41;
    pmVar18 = bp + iVar41 + 0x3fffffff + iVar9;
    iVar8 = iVar9;
    do {
      iVar8 = iVar8 + -1;
      if (*pmVar18 != 0) goto LAB_0005d59c;
      pmVar18 = pmVar18 + -1;
    } while (iVar8 != 0);
    puVar26 = bp + iVar41 + -1;
    iVar8 = iVar41;
    do {
      iVar8 = iVar8 + -1;
      if (iVar8 < 0) goto LAB_0005d59c;
      uVar6 = *puVar26;
      puVar26 = puVar26 + -1;
    } while (uVar6 == puVar26[uVar39 + 2]);
    if (uVar6 <= puVar26[uVar39 + 2]) {
      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);
      uVar6 = 2;
      (*(code *)PTR_memset_0009d2e8)(pmVar38 + iVar41,0,iVar9 * 4);
      goto LAB_0005d5e4;
    }
LAB_0005d59c:
    if (iVar41 != 0) {
      iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);
      iVar8 = iVar41;
      if (iVar9 == 0) {
LAB_0005de34:
        bVar2 = iVar8 < iVar40;
        if (pmVar38 != bp) goto LAB_0005d5b4;
        uVar6 = 0;
      }
      else {
        if (iVar41 < iVar40) {
          iVar8 = iVar41 + 1;
          pmVar18 = bp + iVar41;
          mVar17 = *pmVar18;
          pmVar38[iVar41] = mVar17 - 1;
          if (mVar17 == 0) {
            if (iVar40 <= iVar8) goto LAB_0005d97c;
            iVar9 = iVar41 + 2;
            mVar17 = bp[iVar8];
            pmVar38[iVar8] = mVar17 - 1;
            pmVar20 = pmVar38 + iVar41;
            while (iVar8 = iVar9, mVar17 == 0) {
              if (iVar40 == iVar9) goto LAB_0005d97c;
              mVar17 = pmVar18[2];
              iVar9 = iVar9 + 1;
              pmVar18 = pmVar18 + 1;
              pmVar20[2] = mVar17 - 1;
              pmVar20 = pmVar20 + 1;
            }
          }
          goto LAB_0005de34;
        }
LAB_0005d97c:
        uVar6 = 0;
      }
      goto LAB_0005d980;
    }
    iVar8 = 0;
    if (pmVar38 != bp) {
      bVar2 = 0 < iVar40;
LAB_0005d5b4:
      if (bVar2) {
        (*(code *)PTR_memcpy_0009d544)(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);
      }
      uVar6 = 0;
      goto LAB_0005d5e4;
    }
    if ((pmVar37 != pmVar48) && (0 < iVar45)) {
      iVar8 = 0;
      uVar6 = 0;
      goto LAB_0005d600;
    }
LAB_0005da2c:
    if (iVar41 < iVar40) {
      iVar8 = iVar40 - iVar41;
      pmVar18 = pmVar38 + uVar39;
      do {
        iVar8 = iVar8 + -1;
        if (*pmVar18 != 0) goto LAB_0005da5c;
        pmVar18 = pmVar18 + -1;
      } while (iVar8 != 0);
      pmVar18 = pmVar38 + iVar41;
      puVar26 = bp + iVar40 + iVar41 + -1;
      iVar8 = iVar41;
      do {
        iVar8 = iVar8 + -1;
        if (iVar8 < 0) goto LAB_0005da5c;
        puVar35 = pmVar18 + -1;
        uVar39 = *puVar26;
        pmVar18 = pmVar18 + -1;
        puVar26 = puVar26 + -1;
      } while (*puVar35 == uVar39);
      if (uVar39 < *puVar35) {
LAB_0005da5c:
        iVar8 = 0;
        if (iVar41 == 0) {
LAB_0005da64:
          bVar2 = iVar8 < iVar40;
          if ((pmVar38 != pmVar49) && (bVar2)) {
LAB_0005da78:
            iVar9 = 4;
            if (bVar2) {
              iVar9 = (iVar40 - iVar8) * 4;
            }
            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);
          }
        }
        else {
          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);
          iVar8 = iVar41;
          if (iVar9 != 0) {
            pmVar20 = pmVar38 + iVar41;
            pmVar18 = pmVar49 + iVar41;
            do {
              mVar17 = *pmVar20;
              iVar8 = iVar8 + 1;
              *pmVar18 = mVar17 - 1;
              if (mVar17 != 0) goto LAB_0005da64;
              pmVar20 = pmVar20 + 1;
              pmVar18 = pmVar18 + 1;
            } while (iVar40 != iVar8);
            pmVar49[iVar40] = 0;
            goto LAB_0005d68c;
          }
          bVar2 = iVar41 < iVar40;
          if (pmVar38 != pmVar49) goto LAB_0005da78;
        }
        pmVar49[iVar40] = 0;
      }
      else {
        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41);
        local_64 = local_64 ^ 1;
        if (iVar45 != iVar41) {
          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);
        }
      }
    }
    else {
      pmVar18 = pmVar38 + uVar39 + 1;
      puVar26 = bp + iVar40 + uVar39;
      iVar8 = iVar40;
      do {
        iVar8 = iVar8 + -1;
        if (iVar8 < 0) goto LAB_0005dccc;
        puVar35 = pmVar18 + -1;
        uVar39 = *puVar26;
        pmVar18 = pmVar18 + -1;
        puVar26 = puVar26 + -1;
      } while (*puVar35 == uVar39);
      if (uVar39 < *puVar35) {
LAB_0005dccc:
        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);
        pmVar49[iVar40] = 0;
      }
      else {
        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);
        local_64 = local_64 ^ 1;
        pmVar49[iVar40] = 0;
      }
    }
  }
LAB_0005d68c:
  mVar17 = *pmVar36;
  iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar5,pmVar37,bp,iVar40);
  *(mp_limb_t *)(puVar5 + iVar43) = mVar17 + iVar8;
  (*(code *)PTR___gmpn_mul_n_0009d364)(scratch,&stack0xffffff68 + uVar4 * -3,pmVar48,iVar45);
  pmVar47 = scratch + iVar40 * 2 + 1;
  (*(code *)PTR___gmpn_mul_n_0009d364)(pmVar47,&stack0xffffff68 + uVar4 * -4,pmVar49,iVar45);
  pmVar21 = scratch + iVar40 * 4 + 2;
  (*(code *)PTR___gmpn_mul_n_0009d364)(pmVar21,puVar44,puVar5,iVar45);
  pmVar42 = scratch + iVar40 * 6 + 3;
  (*(code *)PTR___gmpn_mul_n_0009d364)(pmVar42,puVar27,pmVar38,iVar40);
  if (*(int *)(puVar27 + iVar43) == 1) {
    mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)
                       (scratch + iVar40 * 7 + 3,scratch + iVar40 * 7 + 3,pmVar38,iVar40);
  }
  else if (*(int *)(puVar27 + iVar43) == 2) {
    mVar17 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(scratch + iVar40 * 7 + 3,pmVar38,iVar40,2);
  }
  else {
    mVar17 = 0;
  }
  puVar53 = PTR___gmpn_mul_n_0009d364;
  scratch[iVar40 * 8 + 3] = mVar17;
  (*(code *)puVar53)(pp + iVar40 * 2,puVar25,pmVar37,iVar40);
  mVar17 = *(mp_limb_t *)(puVar25 + iVar43);
  if (mVar17 == 1) {
    mVar17 = *pmVar36;
    iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,pmVar37,iVar40);
    mVar17 = mVar17 + iVar8;
    mVar34 = *pmVar36;
  }
  else {
    mVar34 = *pmVar36;
    if (mVar17 == 2) {
      iVar8 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,2);
      iVar9 = mVar34 * 2;
      mVar34 = *pmVar36;
      mVar17 = iVar9 + iVar8;
    }
    else {
      iVar8 = mVar17 * mVar34;
      if (mVar17 != 0) {
        iVar9 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17);
        mVar34 = *pmVar36;
        mVar17 = iVar8 + iVar9;
      }
    }
  }
  if (mVar34 != 0) {
    iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,puVar25,iVar40);
    mVar17 = mVar17 + iVar8;
  }
  puVar53 = PTR___gmpn_mul_n_0009d364;
  pmVar46 = pp + iVar40 * 2 + iVar40 * 2;
  *pmVar46 = mVar17;
  (*(code *)puVar53)(pp,ap,bp,iVar40);
  if (iVar41 < iVar33) {
    *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar41;
    (*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar28,iVar33,pmVar32);
  }
  else {
    *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar33;
    (*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar32,iVar41,pmVar28);
  }
  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pmVar21;
  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = scratch;
  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x18) = iVar33 + iVar41;
  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x1c) = scratch + iVar40 * 8 + 4;
  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = pmVar42;
  iVar8 = iVar40;
  pmVar31 = pmVar47;
  (*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();
  if (iVar19 == *(int *)puVar51) {
    return;
  }
  uVar56 = 0x5e16c;
  puVar51 = PTR___stack_chk_fail_0009d4d0;
  (*(code *)PTR___stack_chk_fail_0009d4d0)();
  puVar53 = puVar51 + 0x46ed0;
  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -8) = iVar40;
  *(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 4) = pmVar42;
  *(uint *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) = local_64;
  *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) = local_64 + 2;
  *(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -8) = pmVar47;
  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -4) = iVar33 + iVar41;
  iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4);
  pmVar42 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10);
  *(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 8) = pmVar46;
  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) = pmVar31;
  *(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) = puVar53;
  *(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 0xc) = scratch + iVar40 * 8 + 4;
  *(undefined4 *)((int)&uStack_c4 + iVar3 + uVar4 * -9) = uVar56;
  *(undefined1 **)(auStack_c8 + iVar3 + uVar4 * -9) = auStack_c0;
  uVar39 = (local_64 + 2) / 3;
  *(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -4) = pmVar21;
  *(mp_limb_t *)((int)amStack_e0 + iVar3 + uVar4 * -9) = mVar17;
  iVar10 = uVar39 + 1;
  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) = iVar8;
  uVar6 = iVar19 + uVar39 * -2;
  iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc);
  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14) = iVar10 * 8;
  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) = iVar10 * 0x10;
  iVar19 = iVar10 * 8 + -8;
  *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9) = iVar9 + uVar39 * -2;
  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) = pmVar42 + iVar10 * 3;
  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c) = iVar19;
  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4) = pmVar42 + iVar10 * 4;
  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = pp + iVar10 * 2;
  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) = iVar10 * 4;
  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = pmVar42 + iVar10 * 2;
  pmVar47 = pp + iVar10;
  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18) = iVar8 + iVar19;
  if (uVar6 == 0) {
    uVar7 = 0;
LAB_0005e258:
    pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);
LAB_0005e25c:
    if ((pmVar42 == pmVar21) || ((int)uVar39 <= (int)uVar7)) {
      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;
    }
    else {
      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9);
      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;
      pmVar22 = (mp_limb_t *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4);
      pmVar21 = pmVar42 + uVar7;
      do {
        mVar17 = *pmVar22;
        pmVar22 = pmVar22 + 1;
        *pmVar21 = mVar17;
        pmVar21 = pmVar21 + 1;
      } while (pmVar22 != (mp_limb_t *)(iVar19 + iVar9));
    }
    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);
    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;
    iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar8,pmVar42,iVar12,uVar39);
    piVar50 = (int *)(iVar8 + iVar9);
    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    iVar8 = (int)pmVar42 + iVar9;
    *piVar50 = iVar19;
    puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + (uVar39 - 1) * 4 + iVar9);
    uVar7 = uVar39;
    do {
      uVar7 = uVar7 - 1;
      if (uVar7 == 0xffffffff) {
        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);
        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;
        *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar19 + iVar9;
        goto LAB_0005e31c;
      }
      uVar23 = *(uint *)(iVar8 + -4);
      uVar29 = *puVar26;
      iVar8 = iVar8 + -4;
      puVar26 = puVar26 + -1;
    } while (uVar23 == uVar29);
    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) =
         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) + iVar9;
    if (uVar29 < uVar23) {
      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;
      goto LAB_0005e31c;
    }
    (**(code **)(iVar11 + -0x7b2c))
              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),iVar12,pmVar42,uVar39);
    puVar55 = *(undefined4 **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);
    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;
    *puVar55 = 0;
    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;
  }
  else {
    iVar19 = (**(code **)(puVar51 + 0x3f1c4))(pmVar42);
    puVar53 = *(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    uVar7 = uVar6;
    if (iVar19 == 0) goto LAB_0005e258;
    if ((int)uVar6 < (int)uVar39) {
      uVar23 = uVar6 + 1;
      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar6 * 4);
      iVar19 = *piVar50;
      pmVar42[uVar6] = iVar19 + 1U;
      uVar7 = uVar23;
      if (iVar19 + 1U != 0) goto LAB_0005e258;
      if ((int)uVar39 <= (int)uVar23) goto LAB_0005eac8;
      uVar7 = uVar6 + 2;
      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4) + 1;
      pmVar42[uVar23] = mVar17;
      pmVar21 = pmVar42 + uVar6;
      if (mVar17 == 0) {
        do {
          if (uVar39 == uVar7) goto LAB_0005eac8;
          iVar19 = piVar50[2];
          uVar7 = uVar7 + 1;
          piVar50 = piVar50 + 1;
          pmVar21[2] = iVar19 + 1U;
          pmVar21 = pmVar21 + 1;
        } while (iVar19 + 1U == 0);
        goto LAB_0005e258;
      }
      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);
      goto LAB_0005e25c;
    }
LAB_0005eac8:
    iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);
    iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;
    piVar50 = (int *)(iVar19 + iVar9);
    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;
    iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar19,pmVar42,iVar12,uVar39);
    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);
    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    *piVar50 = iVar19 + 1;
    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;
    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 + iVar9;
LAB_0005e31c:
    iVar19 = (**(code **)(iVar11 + -0x7b2c))
                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),pmVar42,iVar12,
                        uVar39);
    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;
    iVar8 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18);
    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;
    **(int **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 - iVar19;
  }
  iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);
  uVar7 = (**(code **)(iVar11 + -0x7d0c))
                    (pmVar47,*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18),iVar8,
                     uVar6);
  iVar19 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
  if (uVar39 != uVar6) {
    iVar11 = uVar39 - uVar6;
    puVar35 = (uint *)(iVar8 + uVar6 * 4);
    puVar26 = pmVar47 + uVar6;
    uVar23 = *puVar35;
    *puVar26 = uVar7 + uVar23;
    if (uVar7 + uVar23 < uVar7) {
      uVar7 = 1;
      if (1 < iVar11) {
        uVar7 = puVar35[1];
        puVar26[1] = uVar7 + 1;
        if (uVar7 + 1 == 0) {
          uVar7 = 1;
          if (iVar11 == 2) goto LAB_0005e408;
          uVar7 = puVar35[2];
          puVar26[2] = uVar7 + 1;
          if (uVar7 + 1 == 0) {
            puVar30 = puVar35 + 3;
            iVar8 = 3;
            puVar24 = puVar26 + 3;
            do {
              if (iVar11 == iVar8) {
                uVar7 = 1;
                goto LAB_0005e408;
              }
              uVar7 = *puVar30;
              iVar8 = iVar8 + 1;
              puVar30 = puVar30 + 1;
              *puVar24 = uVar7 + 1;
              puVar24 = puVar24 + 1;
            } while (uVar7 + 1 == 0);
          }
          else {
            iVar8 = 3;
          }
        }
        else {
          iVar8 = 2;
        }
        uVar7 = 0;
        if (puVar26 != puVar35) {
          if (iVar11 <= iVar8) goto LAB_0005ea24;
          puVar24 = puVar35 + iVar8;
          puVar26 = puVar26 + iVar8;
          do {
            uVar7 = *puVar24;
            puVar24 = puVar24 + 1;
            *puVar26 = uVar7;
            puVar26 = puVar26 + 1;
          } while (puVar24 != puVar35 + iVar11);
          uVar7 = 0;
        }
      }
    }
    else {
      uVar7 = 0;
      if (puVar26 != puVar35) {
        if (1 < iVar11) {
          puVar24 = puVar35 + 1;
          do {
            puVar26 = puVar26 + 1;
            uVar7 = *puVar24;
            puVar24 = puVar24 + 1;
            *puVar26 = uVar7;
          } while (puVar24 != puVar35 + iVar11);
        }
LAB_0005ea24:
        uVar7 = 0;
      }
    }
  }
LAB_0005e408:
  iVar13 = *piVar50;
  iVar19 = (**(code **)(iVar19 + -0x7ad4))(pmVar47,pmVar47,uVar39,1);
  iVar8 = (**(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7b2c))
                    (pmVar47,pmVar47,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9),uVar39);
  iVar12 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c);
  iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
  iVar11 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);
  *(uint *)((int)pmVar47 + iVar9) = (iVar19 - iVar8) + (uVar7 + iVar13) * 2;
  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar11 + iVar12;
  iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9);
  if (iVar19 == 0) {
    uVar7 = 0;
LAB_0005e480:
    pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);
    uVar23 = uVar7;
LAB_0005e484:
    if ((pmVar42 != pmVar21) &&
       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8), (int)uVar23 < (int)uVar39)) {
      pmVar22 = (mp_limb_t *)(iVar19 + uVar23 * 4);
      pmVar21 = pmVar42 + uVar23;
      do {
        mVar17 = *pmVar22;
        pmVar22 = pmVar22 + 1;
        *pmVar21 = mVar17;
        pmVar21 = pmVar21 + 1;
      } while ((mp_limb_t *)(iVar19 + iVar9) != pmVar22);
    }
    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;
    uVar56 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);
    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    iVar19 = (int)pmVar42 + iVar9;
    *(undefined4 *)((int)pp + iVar9) = uVar56;
    puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + (uVar39 - 1) * 4 + iVar9
                      );
    uVar7 = uVar39;
    do {
      uVar7 = uVar7 - 1;
      if (uVar7 == 0xffffffff) {
        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);
        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;
        *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar19 + iVar9;
        goto LAB_0005e534;
      }
      uVar23 = *(uint *)(iVar19 + -4);
      uVar29 = *puVar26;
      iVar19 = iVar19 + -4;
      puVar26 = puVar26 + -1;
    } while (uVar23 == uVar29);
    *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =
         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) + iVar9;
    if (uVar29 < uVar23) {
      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;
      goto LAB_0005e534;
    }
    (**(code **)(iVar11 + -0x7b2c))
              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),iVar12,pmVar42,uVar39);
    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) =
         *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc);
    **(undefined4 **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = 0;
  }
  else {
    iVar8 = (**(code **)(iVar14 + -0x7d0c))
                      (pmVar42,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8),
                       *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),iVar19);
    iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    if (iVar8 == 0) {
      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);
      goto LAB_0005e480;
    }
    if (iVar19 < (int)uVar39) {
      uVar7 = iVar19 + 1;
      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar19 * 4);
      iVar8 = *piVar50;
      pmVar42[iVar19] = iVar8 + 1U;
      if (iVar8 + 1U != 0) goto LAB_0005e480;
      if ((int)uVar39 <= (int)uVar7) goto LAB_0005ec00;
      uVar23 = iVar19 + 2;
      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4) + 1;
      pmVar42[uVar7] = mVar17;
      uVar7 = uVar23;
      pmVar21 = pmVar42 + iVar19;
      if (mVar17 == 0) {
        do {
          if (uVar39 == uVar7) goto LAB_0005ec00;
          iVar19 = piVar50[2];
          uVar7 = uVar7 + 1;
          piVar50 = piVar50 + 1;
          pmVar21[2] = iVar19 + 1U;
          pmVar21 = pmVar21 + 1;
        } while (iVar19 + 1U == 0);
        goto LAB_0005e480;
      }
      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);
      goto LAB_0005e484;
    }
LAB_0005ec00:
    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;
    iVar19 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);
    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);
    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    *(int *)((int)pp + iVar9) = iVar19 + 1;
    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;
    *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar8 + iVar9;
LAB_0005e534:
    iVar19 = (**(code **)(iVar11 + -0x7b2c))
                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),pmVar42,iVar12
                        ,uVar39);
    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    **(int **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =
         *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) - iVar19;
  }
  uVar23 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);
  uVar7 = (**(code **)(iVar8 + -0x7d0c))
                    (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4),pp,
                     *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),uVar23);
  iVar19 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
  if (uVar39 != uVar23) {
    iVar8 = uVar39 - uVar23;
    puVar35 = pp + uVar23;
    puVar26 = (uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + uVar23 * 4);
    uVar23 = *puVar35;
    *puVar26 = uVar7 + uVar23;
    if (uVar7 + uVar23 < uVar7) {
      uVar7 = 1;
      if (1 < iVar8) {
        uVar7 = puVar35[1];
        puVar26[1] = uVar7 + 1;
        if (uVar7 + 1 == 0) {
          uVar7 = 1;
          if (iVar8 == 2) goto LAB_0005e618;
          uVar7 = puVar35[2];
          puVar26[2] = uVar7 + 1;
          if (uVar7 + 1 == 0) {
            puVar30 = puVar35 + 3;
            iVar11 = 3;
            puVar24 = puVar26 + 3;
            do {
              if (iVar8 == iVar11) {
                uVar7 = 1;
                goto LAB_0005e618;
              }
              uVar7 = *puVar30;
              iVar11 = iVar11 + 1;
              puVar30 = puVar30 + 1;
              *puVar24 = uVar7 + 1;
              puVar24 = puVar24 + 1;
            } while (uVar7 + 1 == 0);
          }
          else {
            iVar11 = 3;
          }
        }
        else {
          iVar11 = 2;
        }
        uVar7 = 0;
        if (puVar26 != puVar35) {
          if (iVar8 <= iVar11) goto LAB_0005e9e8;
          puVar24 = puVar35 + iVar11;
          puVar26 = puVar26 + iVar11;
          do {
            uVar7 = *puVar24;
            puVar24 = puVar24 + 1;
            *puVar26 = uVar7;
            puVar26 = puVar26 + 1;
          } while (puVar35 + iVar8 != puVar24);
          uVar7 = 0;
        }
      }
    }
    else {
      uVar7 = 0;
      if (puVar26 != puVar35) {
        if (1 < iVar8) {
          puVar24 = puVar35 + 1;
          do {
            puVar26 = puVar26 + 1;
            uVar7 = *puVar24;
            puVar24 = puVar24 + 1;
            *puVar26 = uVar7;
          } while (puVar35 + iVar8 != puVar24);
        }
LAB_0005e9e8:
        uVar7 = 0;
      }
    }
  }
LAB_0005e618:
  iVar12 = *(int *)((int)pp + iVar9);
  uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);
  iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar54,uVar54,uVar39,1);
  iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
  uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);
  *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar54;
  iVar8 = (**(code **)(iVar8 + -0x7b2c))(uVar54,uVar54,uVar56,uVar39);
  iVar11 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14);
  iVar13 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
  uVar23 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14);
  *(uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + iVar9) =
       (iVar19 - iVar8) + (uVar7 + iVar12) * 2;
  bVar2 = uVar23 < 0x39;
  iVar19 = (int)pmVar42 + iVar11 + -4;
  if (bVar2) {
    pcVar52 = *(code **)(iVar13 + -0x7bd0);
    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);
    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);
    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;
    (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);
    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);
    pcVar52 = *(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7bd0);
    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;
    (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);
    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
LAB_0005e6f8:
    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);
    if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) <=
        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)) goto LAB_0005e714;
LAB_0005e924:
    pcVar52 = *(code **)(iVar8 + -0x7d8c);
    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);
    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);
    *(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9) =
         *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9);
    (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);
    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    mVar17 = *pmVar47;
    puVar55 = (undefined4 *)
              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);
    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));
    uVar56 = *puVar55;
    if (bVar2) goto LAB_0005e968;
LAB_0005e778:
    iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8);
    *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;
    pmVar21 = pmVar42 + iVar9 + iVar10;
    if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {
      pcVar52 = *(code **)(iVar8 + -0x7f84);
      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);
      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;
      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;
      (*pcVar52)(pmVar47,uVar56,iVar10,pp);
      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14);
      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);
      if (uVar7 < 0x3c) goto LAB_0005e990;
    }
    else {
      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);
      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;
      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;
      __gmpn_toom33_mul(pmVar47,pmVar28,iVar10,pp,
                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),
                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));
      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);
      if (uVar39 != 0x31) {
        pmVar32 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);
        pmVar28 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);
        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;
        *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;
        __gmpn_toom33_mul(pp,pmVar28,uVar39,pmVar32,
                          *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),
                          *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));
        iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
        goto LAB_0005e7f0;
      }
    }
    pcVar52 = *(code **)(iVar8 + -0x7f84);
    uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);
    uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);
    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;
    *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;
    (*pcVar52)(pp,uVar56,uVar39,uVar54);
    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
  }
  else {
    pmVar21 = pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;
    if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {
      pcVar52 = *(code **)(iVar13 + -0x7f84);
      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);
      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);
      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;
      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;
      (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);
      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);
      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;
      pcVar52 = *(code **)(iVar8 + -0x7f84);
      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;
      (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);
      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
      goto LAB_0005e6f8;
    }
    iVar8 = *(int *)(iVar13 + -0x7fc0);
    pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);
    pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);
    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;
    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;
    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = iVar8 + -0x1e90;
    __gmpn_toom33_mul(pmVar42,pmVar28,iVar10,pmVar32,
                      *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),
                      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));
    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);
    pcVar52 = *(code **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);
    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;
    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;
    (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);
    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);
    if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) <
        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)) goto LAB_0005e924;
LAB_0005e714:
    if ((int)uVar6 < 0x14) {
      pcVar52 = *(code **)(iVar8 + -0x7bd0);
      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);
      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);
      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;
      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);
      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    }
    else if ((int)uVar6 < 0x32) {
      pcVar52 = *(code **)(iVar8 + -0x7f84);
      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);
      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);
      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =
           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;
      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;
      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);
      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    }
    else {
      pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);
      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);
      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =
           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;
      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;
      __gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,
                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),
                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));
      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    }
    mVar17 = *pmVar47;
    puVar55 = (undefined4 *)
              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);
    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));
    uVar56 = *puVar55;
    if (!bVar2) goto LAB_0005e778;
LAB_0005e968:
    pcVar52 = *(code **)(iVar8 + -0x7bd0);
    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);
    *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;
    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;
    (*pcVar52)(pmVar47,uVar54,iVar10,pp);
    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
    *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);
LAB_0005e990:
    pcVar52 = *(code **)(iVar8 + -0x7bd0);
    uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);
    uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);
    *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;
    (*pcVar52)(pp,uVar56,uVar39,uVar54);
    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);
  }
LAB_0005e7f0:
  iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9);
  uVar56 = *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18);
  pcVar52 = *(code **)(iVar8 + -0x7cf8);
  *(mp_limb_t *)((int)amStack_138 + iVar3 + uVar4 * -9) = mVar17;
  *(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = uVar56;
  *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6 + iVar9;
  (*pcVar52)(pp,iVar19,pmVar42,uVar39);
  return;
}



void __gmpn_toom62_mul(int param_1,int param_2,int param_3,undefined1 *param_4,int param_5,
                      int param_6)

{
  int *piVar1;
  bool bVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  undefined1 *puVar6;
  uint uVar7;
  uint uVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  int iVar15;
  int iVar16;
  int *piVar17;
  undefined4 uVar18;
  int iVar19;
  undefined1 *puVar20;
  int *piVar21;
  int *piVar22;
  undefined4 *puVar23;
  uint uVar24;
  uint *puVar25;
  undefined1 *puVar26;
  undefined1 *puVar27;
  uint *puVar28;
  undefined1 *puVar29;
  uint uVar30;
  uint *puVar31;
  undefined4 uVar32;
  uint *puVar33;
  int iVar34;
  int iVar35;
  undefined1 *puVar36;
  undefined1 *puVar37;
  int iVar38;
  uint uVar39;
  int iVar40;
  int iVar41;
  undefined1 *puVar42;
  int iVar43;
  int iVar44;
  undefined4 *puVar45;
  undefined1 *puVar46;
  undefined1 *puVar47;
  undefined *puVar48;
  code *pcVar49;
  undefined *puVar50;
  undefined4 uVar51;
  uint auStack_140 [30];
  undefined1 auStack_c8 [4];
  undefined4 uStack_c4;
  undefined1 auStack_c0 [4];
  int aiStack_bc [8];
  int iStack_9c;
  uint local_64;
  
  puVar48 = PTR___stack_chk_guard_0009d540;
  iVar19 = *(int *)PTR___stack_chk_guard_0009d540;
  if (param_3 < param_5 * 3) {
    uVar39 = param_5 + -1 >> 1;
  }
  else {
    uVar39 = (param_3 - 1U) / 6;
  }
  iVar40 = uVar39 + 1;
  iVar43 = uVar39 + 2;
  iVar41 = iVar40 * 4;
  iVar4 = iVar43 * 4;
  param_3 = param_3 + iVar40 * -5;
  uVar5 = iVar4 + 7U & 0xfffffff8;
  puVar26 = &stack0xffffff68 + -uVar5;
  puVar29 = &stack0xffffff68 + uVar5 * -2;
  param_5 = param_5 - iVar40;
  puVar42 = &stack0xffffff68 + uVar5 * -5;
  puVar36 = &stack0xffffff68 + uVar5 * -6;
  iVar3 = -(iVar41 + 7U & 0xfffffff8);
  puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6;
  iVar35 = param_2 + iVar41 + iVar41;
  puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7;
  iVar38 = iVar40 * 8;
  puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8;
  iVar34 = iVar35 + iVar41;
  puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9;
  iVar44 = iVar34 + iVar41;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;
  uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2);
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;
  uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)
                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2);
  local_64 = uVar8 & 1 | uVar7 & 2;
  iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1);
  iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40);
  iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);
  iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40);
  iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);
  iVar13 = iVar40 * 0xc;
  iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40);
  iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);
  iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40);
  iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);
  iVar44 = iVar44 + iVar41;
  iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)
           * 2 + iVar16;
  if ((param_3 != 0) &&
     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)) {
    if (param_3 < iVar40) {
      piVar21 = (int *)(puVar42 + param_3 * 4);
      iVar9 = *piVar21;
      *piVar21 = iVar9 + 1;
      if (iVar9 + 1 == 0) {
        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;
        iVar9 = param_3 + 2;
        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;
        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;
        while (iVar10 == 0) {
          if (iVar9 == iVar40) goto LAB_0005dbd4;
          iVar9 = iVar9 + 1;
          iVar10 = piVar21[2] + 1;
          piVar21[2] = iVar10;
          piVar21 = piVar21 + 1;
        }
      }
    }
    else {
LAB_0005dbd4:
      iVar16 = iVar16 + 1;
    }
  }
  puVar20 = param_4 + iVar41;
  *(int *)(puVar42 + iVar41) = iVar16;
  piVar21 = (int *)(puVar36 + iVar41);
  if (iVar40 == param_5) {
    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);
    *piVar21 = iVar9;
    puVar28 = (uint *)(param_4 + uVar39 * 4);
    iVar9 = iVar40;
    do {
      iVar9 = iVar9 + -1;
      if (iVar9 < 0) goto LAB_0005ddc8;
      uVar7 = *puVar28;
      puVar28 = puVar28 + -1;
    } while (uVar7 == puVar28[uVar39 + 2]);
    if (puVar28[uVar39 + 2] < uVar7) {
LAB_0005ddc8:
      uVar39 = 0;
      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);
    }
    else {
      uVar39 = 2;
      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);
    }
LAB_0005d5e4:
    iVar9 = 0;
    if (param_5 == 0) {
LAB_0005d5f0:
      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {
LAB_0005d600:
        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)
        ;
      }
      if (uVar39 != 0) {
        if (param_5 != 0) goto LAB_0005df00;
        iVar4 = 0;
        goto LAB_0005d63c;
      }
      goto LAB_0005da2c;
    }
LAB_0005d980:
    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);
    iVar9 = param_5;
    if (iVar10 == 0) goto LAB_0005d5f0;
    if (param_5 < iVar43) {
      piVar17 = (int *)(puVar36 + param_5 * 4);
      iVar10 = *piVar17;
      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;
      iVar9 = param_5 + 1;
      if (iVar10 + 1 == 0) {
        iVar10 = (param_5 + 1) * 4;
        if (iVar40 <= param_5) goto LAB_0005da20;
        iVar9 = param_5 + 2;
        iVar11 = *(int *)(puVar36 + iVar10) + 1;
        *(int *)(puVar46 + iVar10) = iVar11;
        piVar22 = (int *)(puVar46 + param_5 * 4);
        while (iVar11 == 0) {
          if (iVar9 == iVar43) goto LAB_0005da20;
          piVar1 = piVar17 + 2;
          iVar9 = iVar9 + 1;
          piVar17 = piVar17 + 1;
          iVar11 = *piVar1 + 1;
          piVar22[2] = iVar11;
          piVar22 = piVar22 + 1;
        }
      }
      goto LAB_0005d5f0;
    }
LAB_0005da20:
    if (uVar39 == 0) goto LAB_0005da2c;
LAB_0005df00:
    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);
    iVar4 = param_5;
    if (iVar9 == 0) {
LAB_0005d63c:
      uVar18 = 0;
      if (puVar37 != puVar47) {
        if (iVar4 < iVar40) {
          (*(code *)PTR_memcpy_0009d544)
                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);
          uVar18 = 0;
        }
        else {
          uVar18 = 0;
        }
      }
    }
    else {
      if (param_5 < iVar40) {
        iVar4 = param_5 + 1;
        piVar17 = (int *)(puVar37 + param_5 * 4);
        iVar9 = *piVar17;
        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;
        if (iVar9 + 1 == 0) {
          uVar18 = 1;
          if (iVar40 <= iVar4) goto LAB_0005d678;
          iVar9 = param_5 + 2;
          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;
          *(int *)(puVar47 + iVar4 * 4) = iVar10;
          piVar22 = (int *)(puVar47 + param_5 * 4);
          while (iVar4 = iVar9, iVar10 == 0) {
            if (iVar40 == iVar9) goto LAB_0005dfa8;
            piVar1 = piVar17 + 2;
            iVar9 = iVar9 + 1;
            piVar17 = piVar17 + 1;
            iVar10 = *piVar1 + 1;
            piVar22[2] = iVar10;
            piVar22 = piVar22 + 1;
          }
        }
        goto LAB_0005d63c;
      }
LAB_0005dfa8:
      uVar18 = 1;
    }
LAB_0005d678:
    *(undefined4 *)(puVar47 + iVar41) = uVar18;
    local_64 = local_64 ^ (uVar39 | 1);
  }
  else {
    iVar9 = param_5 * 4;
    if (param_5 == 0) {
      iVar10 = 0;
LAB_0005d51c:
      iVar11 = 0;
      if (puVar36 != param_4) {
        if (iVar10 < iVar40) {
          (*(code *)PTR_memcpy_0009d544)
                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);
        }
        iVar11 = 0;
      }
    }
    else {
      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);
      iVar10 = param_5;
      if (iVar11 == 0) goto LAB_0005d51c;
      if (param_5 < iVar40) {
        iVar10 = param_5 + 1;
        piVar17 = (int *)(param_4 + iVar9);
        iVar11 = *piVar17;
        *(int *)(puVar36 + iVar9) = iVar11 + 1;
        if (iVar11 + 1 == 0) {
          iVar11 = 1;
          if (iVar40 <= iVar10) goto LAB_0005d558;
          iVar11 = param_5 + 2;
          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;
          *(int *)(puVar36 + iVar10 * 4) = iVar35;
          piVar22 = (int *)(puVar36 + iVar9);
          while (iVar10 = iVar11, iVar35 == 0) {
            if (iVar11 == iVar40) goto LAB_0005dc80;
            piVar1 = piVar17 + 2;
            iVar11 = iVar11 + 1;
            piVar17 = piVar17 + 1;
            iVar35 = *piVar1 + 1;
            piVar22[2] = iVar35;
            piVar22 = piVar22 + 1;
          }
        }
        goto LAB_0005d51c;
      }
LAB_0005dc80:
      iVar11 = 1;
    }
LAB_0005d558:
    *piVar21 = iVar11;
    iVar11 = iVar40 - param_5;
    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);
    iVar10 = iVar11;
    do {
      iVar10 = iVar10 + -1;
      if (*piVar17 != 0) goto LAB_0005d59c;
      piVar17 = piVar17 + -1;
    } while (iVar10 != 0);
    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);
    iVar10 = param_5;
    do {
      iVar10 = iVar10 + -1;
      if (iVar10 < 0) goto LAB_0005d59c;
      uVar7 = *puVar28;
      puVar28 = puVar28 + -1;
    } while (uVar7 == puVar28[uVar39 + 2]);
    if (uVar7 <= puVar28[uVar39 + 2]) {
      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);
      uVar39 = 2;
      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);
      goto LAB_0005d5e4;
    }
LAB_0005d59c:
    if (param_5 != 0) {
      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);
      iVar10 = param_5;
      if (iVar11 == 0) {
LAB_0005de34:
        bVar2 = iVar10 < iVar40;
        if (puVar37 != param_4) goto LAB_0005d5b4;
        uVar39 = 0;
      }
      else {
        if (param_5 < iVar40) {
          iVar10 = param_5 + 1;
          piVar17 = (int *)(param_4 + iVar9);
          iVar11 = *piVar17;
          *(int *)(puVar37 + iVar9) = iVar11 + -1;
          if (iVar11 == 0) {
            if (iVar40 <= iVar10) goto LAB_0005d97c;
            iVar11 = param_5 + 2;
            iVar35 = *(int *)(param_4 + iVar10 * 4);
            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;
            piVar22 = (int *)(puVar37 + iVar9);
            while (iVar10 = iVar11, iVar35 == 0) {
              if (iVar40 == iVar11) goto LAB_0005d97c;
              iVar35 = piVar17[2];
              iVar11 = iVar11 + 1;
              piVar17 = piVar17 + 1;
              piVar22[2] = iVar35 + -1;
              piVar22 = piVar22 + 1;
            }
          }
          goto LAB_0005de34;
        }
LAB_0005d97c:
        uVar39 = 0;
      }
      goto LAB_0005d980;
    }
    iVar10 = 0;
    if (puVar37 != param_4) {
      bVar2 = 0 < iVar40;
LAB_0005d5b4:
      if (bVar2) {
        (*(code *)PTR_memcpy_0009d544)
                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);
      }
      uVar39 = 0;
      goto LAB_0005d5e4;
    }
    if ((puVar36 != puVar46) && (0 < iVar43)) {
      iVar9 = 0;
      uVar39 = 0;
      goto LAB_0005d600;
    }
LAB_0005da2c:
    if (param_5 < iVar40) {
      iVar4 = iVar40 - param_5;
      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);
      do {
        iVar4 = iVar4 + -1;
        if (*piVar17 != 0) goto LAB_0005da5c;
        piVar17 = piVar17 + -1;
      } while (iVar4 != 0);
      puVar27 = puVar37 + param_5 * 4;
      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);
      iVar4 = param_5;
      do {
        iVar4 = iVar4 + -1;
        if (iVar4 < 0) goto LAB_0005da5c;
        puVar33 = (uint *)(puVar27 + -4);
        uVar39 = *puVar28;
        puVar27 = puVar27 + -4;
        puVar28 = puVar28 + -1;
      } while (*puVar33 == uVar39);
      if (uVar39 < *puVar33) {
LAB_0005da5c:
        iVar4 = 0;
        if (param_5 == 0) {
LAB_0005da64:
          bVar2 = iVar4 < iVar40;
          if ((puVar37 != puVar47) && (bVar2)) {
LAB_0005da78:
            iVar9 = 4;
            if (bVar2) {
              iVar9 = (iVar40 - iVar4) * 4;
            }
            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);
          }
        }
        else {
          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);
          iVar4 = param_5;
          if (iVar9 != 0) {
            piVar22 = (int *)(puVar37 + param_5 * 4);
            piVar17 = (int *)(puVar47 + param_5 * 4);
            do {
              iVar9 = *piVar22;
              iVar4 = iVar4 + 1;
              *piVar17 = iVar9 + -1;
              if (iVar9 != 0) goto LAB_0005da64;
              piVar22 = piVar22 + 1;
              piVar17 = piVar17 + 1;
            } while (iVar40 != iVar4);
            *(undefined4 *)(puVar47 + iVar41) = 0;
            goto LAB_0005d68c;
          }
          bVar2 = param_5 < iVar40;
          if (puVar37 != puVar47) goto LAB_0005da78;
        }
        *(undefined4 *)(puVar47 + iVar41) = 0;
      }
      else {
        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);
        local_64 = local_64 ^ 1;
        if (iVar43 != param_5) {
          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);
        }
      }
    }
    else {
      puVar27 = puVar37 + iVar4 + -4;
      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);
      iVar4 = iVar40;
      do {
        iVar4 = iVar4 + -1;
        if (iVar4 < 0) goto LAB_0005dccc;
        puVar33 = (uint *)(puVar27 + -4);
        uVar39 = *puVar28;
        puVar27 = puVar27 + -4;
        puVar28 = puVar28 + -1;
      } while (*puVar33 == uVar39);
      if (uVar39 < *puVar33) {
LAB_0005dccc:
        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);
        *(undefined4 *)(puVar47 + iVar41) = 0;
      }
      else {
        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);
        local_64 = local_64 ^ 1;
        *(undefined4 *)(puVar47 + iVar41) = 0;
      }
    }
  }
LAB_0005d68c:
  iVar9 = *piVar21;
  iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40);
  *(int *)(puVar6 + iVar41) = iVar9 + iVar4;
  (*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43);
  iVar9 = param_6 + iVar38 + 4;
  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43);
  iVar10 = param_6 + iVar40 * 0x10 + 8;
  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43);
  iVar4 = param_6 + iVar40 * 0x18 + 0xc;
  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40);
  if (*(int *)(puVar29 + iVar41) == 1) {
    iVar11 = param_6 + iVar40 * 0x1c + 0xc;
    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);
  }
  else if (*(int *)(puVar29 + iVar41) == 2) {
    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)
    ;
  }
  else {
    uVar18 = 0;
  }
  puVar50 = PTR___gmpn_mul_n_0009d364;
  *(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18;
  (*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40);
  iVar11 = *(int *)(puVar26 + iVar41);
  if (iVar11 == 1) {
    iVar11 = *piVar21;
    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);
    iVar11 = iVar11 + iVar35;
    iVar35 = *piVar21;
  }
  else {
    iVar35 = *piVar21;
    if (iVar11 == 2) {
      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);
      iVar11 = iVar35 * 2;
      iVar35 = *piVar21;
      iVar11 = iVar11 + iVar12;
    }
    else {
      iVar12 = iVar11 * iVar35;
      if (iVar11 != 0) {
        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);
        iVar35 = *piVar21;
        iVar11 = iVar12 + iVar11;
      }
    }
  }
  if (iVar35 != 0) {
    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);
    iVar11 = iVar11 + iVar35;
  }
  puVar50 = PTR___gmpn_mul_n_0009d364;
  piVar21 = (int *)(param_1 + iVar38 + iVar38);
  *piVar21 = iVar11;
  (*(code *)puVar50)(param_1,param_2,param_4,iVar40);
  if (param_5 < param_3) {
    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;
    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);
  }
  else {
    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;
    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);
  }
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10;
  iVar13 = param_6 + iVar40 * 0x20 + 0x10;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4;
  iVar35 = iVar40;
  iVar12 = iVar9;
  (*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();
  if (iVar19 == *(int *)puVar48) {
    return;
  }
  uVar18 = 0x5e16c;
  puVar48 = PTR___stack_chk_fail_0009d4d0;
  (*(code *)PTR___stack_chk_fail_0009d4d0)();
  puVar50 = puVar48 + 0x46ed0;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4;
  *(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64;
  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5;
  iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4);
  iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10);
  *(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12;
  *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13;
  *(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18;
  *(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0;
  uVar39 = (local_64 + 2) / 3;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11;
  iVar10 = uVar39 + 1;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35;
  uVar7 = iVar19 + uVar39 * -2;
  iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc);
  iVar19 = iVar10 * 8;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10;
  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2;
  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8;
  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10;
  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19;
  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4;
  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19;
  iVar4 = param_1 + iVar10 * 4;
  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8;
  if (uVar7 == 0) {
    uVar8 = 0;
LAB_0005e258:
    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);
LAB_0005e25c:
    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {
      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;
    }
    else {
      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);
      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;
      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);
      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);
      do {
        uVar18 = *puVar23;
        puVar23 = puVar23 + 1;
        *puVar45 = uVar18;
        puVar45 = puVar45 + 1;
      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));
    }
    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);
    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;
    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);
    piVar21 = (int *)(iVar11 + iVar35);
    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    iVar11 = iVar9 + iVar35;
    *piVar21 = iVar19;
    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);
    uVar8 = uVar39;
    do {
      uVar8 = uVar8 - 1;
      if (uVar8 == 0xffffffff) {
        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);
        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;
        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;
        goto LAB_0005e31c;
      }
      uVar24 = *(uint *)(iVar11 + -4);
      uVar30 = *puVar28;
      iVar11 = iVar11 + -4;
      puVar28 = puVar28 + -1;
    } while (uVar24 == uVar30);
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =
         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;
    if (uVar30 < uVar24) {
      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;
      goto LAB_0005e31c;
    }
    (**(code **)(iVar12 + -0x7b2c))
              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);
    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);
    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;
    *puVar45 = 0;
    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;
  }
  else {
    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);
    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    uVar8 = uVar7;
    if (iVar19 == 0) goto LAB_0005e258;
    if ((int)uVar7 < (int)uVar39) {
      uVar24 = uVar7 + 1;
      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);
      piVar21 = (int *)(iVar9 + uVar7 * 4);
      iVar19 = *piVar17;
      *piVar21 = iVar19 + 1;
      uVar8 = uVar24;
      if (iVar19 + 1 != 0) goto LAB_0005e258;
      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;
      uVar8 = uVar7 + 2;
      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;
      *(int *)(iVar9 + uVar24 * 4) = iVar19;
      if (iVar19 == 0) {
        do {
          if (uVar39 == uVar8) goto LAB_0005eac8;
          iVar19 = piVar17[2];
          uVar8 = uVar8 + 1;
          piVar17 = piVar17 + 1;
          piVar21[2] = iVar19 + 1;
          piVar21 = piVar21 + 1;
        } while (iVar19 + 1 == 0);
        goto LAB_0005e258;
      }
      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);
      goto LAB_0005e25c;
    }
LAB_0005eac8:
    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);
    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;
    piVar21 = (int *)(iVar19 + iVar35);
    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;
    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);
    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);
    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    *piVar21 = iVar19 + 1;
    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;
LAB_0005e31c:
    iVar19 = (**(code **)(iVar12 + -0x7b2c))
                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,
                        uVar39);
    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;
    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);
    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;
    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;
  }
  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);
  uVar8 = (**(code **)(iVar12 + -0x7d0c))
                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,
                     uVar7);
  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
  if (uVar39 != uVar7) {
    iVar12 = uVar39 - uVar7;
    puVar33 = (uint *)(iVar11 + uVar7 * 4);
    puVar28 = (uint *)(iVar4 + uVar7 * 4);
    uVar24 = *puVar33;
    *puVar28 = uVar8 + uVar24;
    if (uVar8 + uVar24 < uVar8) {
      uVar8 = 1;
      if (1 < iVar12) {
        uVar8 = puVar33[1];
        puVar28[1] = uVar8 + 1;
        if (uVar8 + 1 == 0) {
          uVar8 = 1;
          if (iVar12 == 2) goto LAB_0005e408;
          uVar8 = puVar33[2];
          puVar28[2] = uVar8 + 1;
          if (uVar8 + 1 == 0) {
            puVar31 = puVar33 + 3;
            iVar11 = 3;
            puVar25 = puVar28 + 3;
            do {
              if (iVar12 == iVar11) {
                uVar8 = 1;
                goto LAB_0005e408;
              }
              uVar8 = *puVar31;
              iVar11 = iVar11 + 1;
              puVar31 = puVar31 + 1;
              *puVar25 = uVar8 + 1;
              puVar25 = puVar25 + 1;
            } while (uVar8 + 1 == 0);
          }
          else {
            iVar11 = 3;
          }
        }
        else {
          iVar11 = 2;
        }
        uVar8 = 0;
        if (puVar28 != puVar33) {
          if (iVar12 <= iVar11) goto LAB_0005ea24;
          puVar25 = puVar33 + iVar11;
          puVar28 = puVar28 + iVar11;
          do {
            uVar8 = *puVar25;
            puVar25 = puVar25 + 1;
            *puVar28 = uVar8;
            puVar28 = puVar28 + 1;
          } while (puVar25 != puVar33 + iVar12);
          uVar8 = 0;
        }
      }
    }
    else {
      uVar8 = 0;
      if (puVar28 != puVar33) {
        if (1 < iVar12) {
          puVar25 = puVar33 + 1;
          do {
            puVar28 = puVar28 + 1;
            uVar8 = *puVar25;
            puVar25 = puVar25 + 1;
            *puVar28 = uVar8;
          } while (puVar25 != puVar33 + iVar12);
        }
LAB_0005ea24:
        uVar8 = 0;
      }
    }
  }
LAB_0005e408:
  iVar34 = *piVar21;
  iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1);
  iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))
                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39);
  iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);
  iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
  iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);
  *(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2;
  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13;
  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);
  if (iVar19 == 0) {
    uVar8 = 0;
LAB_0005e480:
    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);
LAB_0005e484:
    if ((iVar9 != iVar19) &&
       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {
      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);
      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);
      do {
        uVar18 = *puVar23;
        puVar23 = puVar23 + 1;
        *puVar45 = uVar18;
        puVar45 = puVar45 + 1;
      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);
    }
    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;
    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);
    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    iVar19 = iVar9 + iVar35;
    *(undefined4 *)(param_1 + iVar35) = uVar18;
    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +
                      (uVar39 - 1) * 4 + iVar35);
    uVar8 = uVar39;
    do {
      uVar8 = uVar8 - 1;
      if (uVar8 == 0xffffffff) {
        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);
        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;
        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;
        goto LAB_0005e534;
      }
      uVar24 = *(uint *)(iVar19 + -4);
      uVar30 = *puVar28;
      iVar19 = iVar19 + -4;
      puVar28 = puVar28 + -1;
    } while (uVar24 == uVar30);
    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =
         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;
    if (uVar30 < uVar24) {
      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;
      goto LAB_0005e534;
    }
    (**(code **)(iVar12 + -0x7b2c))
              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);
    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =
         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);
    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;
  }
  else {
    iVar11 = (**(code **)(iVar14 + -0x7d0c))
                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),
                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);
    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    if (iVar11 == 0) {
      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);
      goto LAB_0005e480;
    }
    if (iVar19 < (int)uVar39) {
      uVar8 = iVar19 + 1;
      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);
      piVar21 = (int *)(iVar9 + iVar19 * 4);
      iVar11 = *piVar17;
      *piVar21 = iVar11 + 1;
      if (iVar11 + 1 != 0) goto LAB_0005e480;
      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;
      iVar11 = uVar8 * 4;
      uVar8 = iVar19 + 2;
      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;
      *(int *)(iVar9 + iVar11) = iVar19;
      if (iVar19 == 0) {
        do {
          if (uVar39 == uVar8) goto LAB_0005ec00;
          iVar19 = piVar17[2];
          uVar8 = uVar8 + 1;
          piVar17 = piVar17 + 1;
          piVar21[2] = iVar19 + 1;
          piVar21 = piVar21 + 1;
        } while (iVar19 + 1 == 0);
        goto LAB_0005e480;
      }
      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);
      goto LAB_0005e484;
    }
LAB_0005ec00:
    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;
    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);
    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);
    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    *(int *)(param_1 + iVar35) = iVar19 + 1;
    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;
    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;
LAB_0005e534:
    iVar19 = (**(code **)(iVar12 + -0x7b2c))
                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,
                        uVar39);
    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =
         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;
  }
  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);
  uVar8 = (**(code **)(iVar11 + -0x7d0c))
                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,
                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24);
  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
  if (uVar39 != uVar24) {
    iVar11 = uVar39 - uVar24;
    puVar33 = (uint *)(param_1 + uVar24 * 4);
    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);
    uVar24 = *puVar33;
    *puVar28 = uVar8 + uVar24;
    if (uVar8 + uVar24 < uVar8) {
      uVar8 = 1;
      if (1 < iVar11) {
        uVar8 = puVar33[1];
        puVar28[1] = uVar8 + 1;
        if (uVar8 + 1 == 0) {
          uVar8 = 1;
          if (iVar11 == 2) goto LAB_0005e618;
          uVar8 = puVar33[2];
          puVar28[2] = uVar8 + 1;
          if (uVar8 + 1 == 0) {
            puVar31 = puVar33 + 3;
            iVar12 = 3;
            puVar25 = puVar28 + 3;
            do {
              if (iVar11 == iVar12) {
                uVar8 = 1;
                goto LAB_0005e618;
              }
              uVar8 = *puVar31;
              iVar12 = iVar12 + 1;
              puVar31 = puVar31 + 1;
              *puVar25 = uVar8 + 1;
              puVar25 = puVar25 + 1;
            } while (uVar8 + 1 == 0);
          }
          else {
            iVar12 = 3;
          }
        }
        else {
          iVar12 = 2;
        }
        uVar8 = 0;
        if (puVar28 != puVar33) {
          if (iVar11 <= iVar12) goto LAB_0005e9e8;
          puVar25 = puVar33 + iVar12;
          puVar28 = puVar28 + iVar12;
          do {
            uVar8 = *puVar25;
            puVar25 = puVar25 + 1;
            *puVar28 = uVar8;
            puVar28 = puVar28 + 1;
          } while (puVar33 + iVar11 != puVar25);
          uVar8 = 0;
        }
      }
    }
    else {
      uVar8 = 0;
      if (puVar28 != puVar33) {
        if (1 < iVar11) {
          puVar25 = puVar33 + 1;
          do {
            puVar28 = puVar28 + 1;
            uVar8 = *puVar25;
            puVar25 = puVar25 + 1;
            *puVar28 = uVar8;
          } while (puVar33 + iVar11 != puVar25);
        }
LAB_0005e9e8:
        uVar8 = 0;
      }
    }
  }
LAB_0005e618:
  iVar13 = *(int *)(param_1 + iVar35);
  uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);
  iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1);
  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
  uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);
  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51;
  iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39);
  iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c);
  iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);
  *(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =
       (iVar19 - iVar11) + (uVar8 + iVar13) * 2;
  bVar2 = uVar24 < 0x39;
  iVar19 = iVar9 + iVar12 + -4;
  if (bVar2) {
    pcVar49 = *(code **)(iVar34 + -0x7bd0);
    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);
    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);
    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);
    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);
    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
LAB_0005e6f8:
    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);
    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=
        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;
LAB_0005e924:
    pcVar49 = *(code **)(iVar4 + -0x7d8c);
    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);
    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);
    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =
         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);
    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);
    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    uVar51 = *puVar45;
    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);
    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);
    uVar18 = *puVar45;
    if (bVar2) goto LAB_0005e968;
LAB_0005e778:
    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);
    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;
    iVar35 = iVar9 + (iVar35 + iVar10) * 4;
    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {
      pcVar49 = *(code **)(iVar11 + -0x7f84);
      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
      (*pcVar49)(iVar4,uVar18,iVar10,param_1);
      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);
      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);
      if (uVar8 < 0x3c) goto LAB_0005e990;
    }
    else {
      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;
      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);
      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);
      if (uVar39 != 0x31) {
        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);
        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);
        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;
        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;
        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);
        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
        goto LAB_0005e7f0;
      }
    }
    pcVar49 = *(code **)(iVar4 + -0x7f84);
    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);
    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;
    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;
    (*pcVar49)(param_1,uVar18,uVar39,uVar32);
    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
  }
  else {
    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;
    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {
      pcVar49 = *(code **)(iVar34 + -0x7f84);
      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);
      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);
      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;
      pcVar49 = *(code **)(iVar35 + -0x7f84);
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);
      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
      goto LAB_0005e6f8;
    }
    iVar35 = *(int *)(iVar34 + -0x7fc0);
    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);
    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;
    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);
    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);
    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);
    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);
    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <
        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;
LAB_0005e714:
    if ((int)uVar7 < 0x14) {
      pcVar49 = *(code **)(iVar4 + -0x7bd0);
      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);
      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);
      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;
      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);
      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    }
    else {
      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;
      if ((int)uVar7 < 0x32) {
        pcVar49 = *(code **)(iVar4 + -0x7f84);
        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);
        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);
        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;
        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;
        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);
        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
      }
      else {
        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);
        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);
        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;
        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;
        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);
        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
      }
    }
    uVar51 = *puVar45;
    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);
    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);
    uVar18 = *puVar45;
    if (!bVar2) goto LAB_0005e778;
LAB_0005e968:
    pcVar49 = *(code **)(iVar11 + -0x7bd0);
    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);
    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
    (*pcVar49)(iVar4,uVar32,iVar10,param_1);
    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);
LAB_0005e990:
    pcVar49 = *(code **)(iVar4 + -0x7bd0);
    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);
    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);
    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;
    (*pcVar49)(param_1,uVar18,uVar39,uVar32);
    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
  }
LAB_0005e7f0:
  iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);
  uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);
  pcVar49 = *(code **)(iVar4 + -0x7cf8);
  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51;
  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18;
  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10;
  (*pcVar49)(param_1,iVar19,iVar9,uVar39);
  return;
}


lui gp,0x4
addiu gp,gp,0x7ed0
addu gp,gp,t9
addiu sp,sp,-0xc0
lw v1,-0x7b00(gp)
sw s8,0xb8(sp)
or s8,sp,zero
sw s1,0x9c(sp)
lw s1,0xd0(s8)
lw v0,0xd4(s8)
sw v1,0x44(s8)
sw ra,0xbc(sp)
sw v0,0x6c(s8)
sll v0,s1,0x1
sw s7,0xb4(sp)
sw s6,0xb0(sp)
addu v0,v0,s1
sw s5,0xac(sp)
sw s4,0xa8(sp)
slt v0,a2,v0
sw s3,0xa4(sp)
sw s2,0xa0(sp)
sw s0,0x98(sp)
sw gp,0x28(sp)
sw a0,0x84(s8)
sw a1,0x78(s8)
sw a3,0x8c(s8)
lw v1,0x0(v1)
sw v1,0x94(s8)
bne v0,zero,0x0005d8d0
_addiu s0,s1,-0x1
lui v0,0xaaaa
addiu s0,a2,-0x1
ori v0,v0,0xaaab
multu s0,v0
or t1,a1,zero
mfhi s0
srl s0,s0,0x2
addiu s0,s0,0x1
addiu s4,s0,0x1
lw t9,-0x7e60(gp)
sll s2,s0,0x2
sll v0,s4,0x2
addu a0,s2,s0
sw v0,0x38(s8)
addiu v0,v0,0x7
subu t0,a2,a0
srl v0,v0,0x3
addiu v1,s2,0x7
sw t0,0x80(s8)
sll v0,v0,0x3
srl v1,v1,0x3
subu sp,sp,v0
sll v1,v1,0x3
addiu a0,sp,0x28
subu sp,sp,v0
li a2,0x5
sw a0,0x60(s8)
addiu a1,sp,0x28
subu sp,sp,v0
or a3,t1,zero
sw a1,0x48(s8)
addiu t2,sp,0x28
subu sp,sp,v0
sw t2,0x58(s8)
subu s1,s1,s0
addiu t3,sp,0x28
subu sp,sp,v0
sw t3,0x54(s8)
addiu s3,sp,0x28
subu sp,sp,v0
addiu t4,sp,0x28
subu sp,sp,v1
sw t4,0x88(s8)
addu v1,t1,s2
addiu t4,sp,0x28
subu sp,sp,v0
sw v1,0x64(s8)
addu t3,v1,s2
sw t4,0x7c(s8)
addiu s6,sp,0x28
subu sp,sp,v0
sw t3,0x3c(s8)
sll t4,s0,0x3
addiu s7,sp,0x28
subu sp,sp,v0
sw t4,0x74(s8)
addu t2,t3,s2
addiu v0,sp,0x28
sll t4,s0,0x4
sw t2,0x50(s8)
sw v0,0x68(s8)
sll v1,s0,0x1
sw t4,0x4c(s8)
addu s5,t2,s2
sw v1,0x40(s8)
sw t0,0x14(sp)
sw s0,0x10(sp)
lw v0,0x84(s8)
jalr t9
_sw v0,0x18(sp)
li a2,0x5
lw gp,0x28(s8)
andi t1,v0,0x2
lw t0,0x80(s8)
lw t3,0x84(s8)
lw a3,0x78(s8)
lw t9,-0x7bc4(gp)
lw a1,0x54(s8)
lw a0,0x58(s8)
sw t0,0x14(sp)
sw t3,0x18(sp)
sw t1,0x70(s8)
jalr t9
_sw s0,0x10(sp)
li a3,0x1
lw gp,0x28(s8)
andi v0,v0,0x1
lw t1,0x70(s8)
or a2,s0,zero
lw a1,0x78(s8)
or a0,s3,zero
lw t9,-0x7ad4(gp)
or v0,v0,t1
jalr t9
_sw v0,0x5c(s8)
or a3,s0,zero
lw gp,0x28(s8)
or a1,s3,zero
lw v1,0x64(s8)
or a0,s3,zero
sw v0,0x70(s8)
lw t9,-0x7d0c(gp)
jalr t9
_or a2,v1,zero
li a3,0x1
lw v1,0x70(s8)
or a2,s0,zero
lw gp,0x28(s8)
or a1,s3,zero
or a0,s3,zero
addu v1,v1,v0
lw t9,-0x7ad4(gp)
sll t1,v1,0x1
jalr t9
_sw t1,0x64(s8)
or a3,s0,zero
lw gp,0x28(s8)
or a1,s3,zero
lw t3,0x3c(s8)
or a0,s3,zero
sw v0,0x70(s8)
lw t9,-0x7d0c(gp)
jalr t9
_or a2,t3,zero
li a3,0x1
lw v1,0x70(s8)
or a2,s0,zero
lw t1,0x64(s8)
or a1,s3,zero
lw gp,0x28(s8)
or a0,s3,zero
addu v1,v1,v0
addu v1,v1,t1
lw t9,-0x7ad4(gp)
sll t1,v1,0x1
jalr t9
_sw t1,0x64(s8)
sll v1,s0,0x1
lw gp,0x28(s8)
or a3,s0,zero
addu t3,v1,s0
lw t2,0x50(s8)
sw v0,0x70(s8)
or a1,s3,zero
sll v0,t3,0x2
lw t9,-0x7d0c(gp)
or a2,t2,zero
or a0,s3,zero
jalr t9
_sw v0,0x3c(s8)
li a3,0x1
lw v1,0x70(s8)
or a2,s0,zero
lw t1,0x64(s8)
or a1,s3,zero
lw gp,0x28(s8)
or a0,s3,zero
addu v1,v1,v0
addu v1,v1,t1
lw t9,-0x7ad4(gp)
sll t1,v1,0x1
jalr t9
_sw t1,0x64(s8)
or a2,s5,zero
lw gp,0x28(s8)
or a3,s0,zero
or a1,s3,zero
sw v0,0x70(s8)
lw t9,-0x7d0c(gp)
jalr t9
_or a0,s3,zero
li a3,0x1
lw v1,0x70(s8)
or a2,s0,zero
lw t1,0x64(s8)
or a1,s3,zero
lw gp,0x28(s8)
or a0,s3,zero
addu v1,v1,v0
addu v1,v1,t1
lw t9,-0x7ad4(gp)
sll v1,v1,0x1
jalr t9
_sw v1,0x70(s8)
addu v1,s5,s2
lw t0,0x80(s8)
lw gp,0x28(s8)
sw v1,0x50(s8)
lw v1,0x70(s8)
bne t0,zero,0x0005db3c
_addu s5,v1,v0
lw v1,0x8c(s8)
addu v0,s3,s2
addu v1,v1,s2
sw s5,0x0(v0)
sw v1,0x64(s8)
lw v1,0x88(s8)
addu v1,v1,s2
beq s0,s1,0x0005dd68
_sw v1,0x70(s8)
bne s1,zero,0x0005dbdc
_sll s5,s1,0x2
or a2,zero,zero
lw v0,0x88(s8)
lw v1,0x8c(s8)
beq v0,v1,0x0005d558
_or v0,zero,zero
slt v0,a2,s0
beq v0,zero,0x0005d554
_sll a0,a2,0x2
lw v0,0x88(s8)
subu a2,s0,a2
lw t9,-0x7afc(gp)
addu a1,v1,a0
sll a2,a2,0x2
jalr t9
_addu a0,v0,a0
lw gp,0x28(s8)
or v0,zero,zero
lw v1,0x70(s8)
lw a0,0x8c(s8)
sw v0,0x0(v1)
lui v0,0x3fff
subu v1,s0,s1
ori v0,v0,0xffff
addu v0,s1,v0
or t1,v1,zero
addu v0,v0,v1
sll v0,v0,0x2
b 0x0005d590
_addu v0,a0,v0
beq v1,zero,0x0005dad0
_addiu v0,v0,-0x4
lw a0,0x0(v0)
beq a0,zero,0x0005d588
_addiu v1,v1,-0x1
bne s1,zero,0x0005d8e0
_lw v0,0x7c(s8)
lw v1,0x8c(s8)
beq v0,v1,0x0005e020
_or a2,zero,zero
slt v0,a2,s0
beq v0,zero,0x0005d5e0
_lw v0,0x8c(s8)
sll a0,a2,0x2
subu a2,s0,a2
lw t9,-0x7afc(gp)
addu a1,v0,a0
lw v0,0x7c(s8)
sll a2,a2,0x2
jalr t9
_addu a0,v0,a0
lw gp,0x28(s8)
or s5,zero,zero
bne s1,zero,0x0005d980
_or a2,zero,zero
lw v0,0x88(s8)
beq v0,s6,0x0005d624
_slt v0,a2,s4
beq v0,zero,0x0005d624
_nop
lw v0,0x88(s8)
sll a0,a2,0x2
subu a2,s4,a2
lw t9,-0x7afc(gp)
addu a1,v0,a0
sll a2,a2,0x2
jalr t9
_addu a0,s6,a0
lw gp,0x28(s8)
beq s5,zero,0x0005da2c
_slt v0,s1,s0
bne s1,zero,0x0005df00
_addu t1,s7,s2
or a2,zero,zero
lw v1,0x7c(s8)
beq v1,s7,0x0005d678
_or v0,zero,zero
slt v0,a2,s0
beq v0,zero,0x0005def8
_lw t9,-0x7afc(gp)
sll a0,a2,0x2
subu a2,s0,a2
sw t1,0x38(s8)
addu a1,v1,a0
sll a2,a2,0x2
jalr t9
_addu a0,s7,a0
or v0,zero,zero
lw gp,0x28(s8)
lw t1,0x38(s8)
sw v0,0x0(t1)
ori s5,s5,0x1
lw v0,0x5c(s8)
xor v0,v0,s5
sw v0,0x5c(s8)
lw v0,0x70(s8)
or a3,s0,zero
lw t9,-0x7d0c(gp)
lw a2,0x8c(s8)
lw a1,0x88(s8)
lw a0,0x68(s8)
jalr t9
_lw s5,0x0(v0)
or a3,s4,zero
lw gp,0x28(s8)
addu v0,s5,v0
lw v1,0x68(s8)
or a2,s6,zero
lw s5,0x6c(s8)
lw a1,0x58(s8)
addu v1,v1,s2
lw t9,-0x7cdc(gp)
or a0,s5,zero
jalr t9
_sw v0,0x0(v1)
or a3,s4,zero
lw v0,0x74(s8)
or a2,s7,zero
lw gp,0x28(s8)
lw a1,0x54(s8)
addiu s6,v0,0x4
lw t9,-0x7cdc(gp)
addu s6,s5,s6
jalr t9
_or a0,s6,zero
or a3,s4,zero
lw v0,0x4c(s8)
or a1,s3,zero
lw gp,0x28(s8)
or s4,s5,zero
lw a2,0x68(s8)
addiu s7,v0,0x8
lw t9,-0x7cdc(gp)
addu s7,s5,s7
jalr t9
_or a0,s7,zero
or a3,s0,zero
lw v0,0x40(s8)
lw gp,0x28(s8)
lw s5,0x48(s8)
addu s3,v0,s0
lw a2,0x7c(s8)
sll s3,s3,0x3
lw t9,-0x7cdc(gp)
or a1,s5,zero
addiu s3,s3,0xc
addu s3,s4,s3
jalr t9
_or a0,s3,zero
addu v0,s5,s2
li v1,0x1
lw v0,0x0(v0)
beq v0,v1,0x0005dde8
_lw gp,0x28(s8)
li v1,0x2
beq v0,v1,0x0005dfb0
_lw v0,0x74(s8)
or v0,zero,zero
lw v1,0x84(s8)
sll s5,s0,0x5
lw a0,0x74(s8)
or a3,s0,zero
lw t9,-0x7cdc(gp)
lw a2,0x88(s8)
addu s4,v1,a0
lw v1,0x6c(s8)
lw a1,0x60(s8)
or a0,s4,zero
addu v1,v1,s5
jalr t9
_sw v0,0xc(v1)
lw v0,0x60(s8)
addu t0,v0,s2
li v0,0x1
lw s2,0x0(t0)
beq s2,v0,0x0005dd2c
_lw gp,0x28(s8)
lw v1,0x70(s8)
li v0,0x2
beq s2,v0,0x0005dfe0
_lw t0,0x0(v1)
bne s2,zero,0x0005dcf0
_mul t1,s2,t0
bne t0,zero,0x0005db14
_lw v0,0x84(s8)
lw v0,0x74(s8)
or a3,s0,zero
lw t9,-0x7cdc(gp)
lw a2,0x8c(s8)
addu s4,s4,v0
lw a0,0x84(s8)
lw a1,0x78(s8)
jalr t9
_sw s2,0x0(s4)
lw a2,0x80(s8)
lw v1,0x74(s8)
lw gp,0x28(s8)
slt v0,s1,a2
beq v0,zero,0x0005dab0
_addu a0,s4,v1
lw t9,-0x7d8c(gp)
lw a3,0x64(s8)
lw a1,0x50(s8)
jalr t9
_sw s1,0x10(sp)
lw gp,0x28(s8)
lw v0,0x80(s8)
addiu s5,s5,0x10
lw t9,-0x7c78(gp)
or a3,s6,zero
lw a2,0x5c(s8)
or a1,s0,zero
addu s1,v0,s1
lw v0,0x6c(s8)
lw a0,0x84(s8)
sw s7,0x18(sp)
addu s5,v0,s5
sw v0,0x14(sp)
sw s1,0x1c(sp)
sw s5,0x20(sp)
jalr t9
_sw s3,0x10(sp)
lw v0,0x44(s8)
lw v1,0x94(s8)
lw gp,0x28(s8)
lw v0,0x0(v0)
bne v1,v0,0x0005e160
_lw ra,0xbc(s8)
or sp,s8,zero
lw s8,0xb8(sp)
lw s7,0xb4(sp)
lw s6,0xb0(sp)
lw s5,0xac(sp)
lw s4,0xa8(sp)
lw s3,0xa4(sp)
lw s2,0xa0(sp)
lw s1,0x9c(sp)
lw s0,0x98(sp)
jr ra
_addiu sp,sp,0xc0
or t1,a1,zero
sra s0,s0,0x1
b 0x0005d20c
_addiu s0,s0,0x1
lw t9,-0x7b2c(gp)
or a3,s1,zero
lw a2,0x64(s8)
lw a1,0x8c(s8)
jalr t9
_lw a0,0x7c(s8)
beq v0,zero,0x0005de2c
_lw gp,0x28(s8)
slt v0,s1,s0
beq v0,zero,0x0005d97c
_lw a1,0x8c(s8)
addiu a2,s1,0x1
lw a3,0x7c(s8)
addu v0,a1,s5
addu s5,a3,s5
lw v1,0x0(v0)
addiu a0,v1,-0x1
bne v1,zero,0x0005de30
_sw a0,0x0(s5)
slt v1,a2,s0
beq v1,zero,0x0005d97c
_sll v1,a2,0x2
addiu a2,s1,0x2
addu a0,a1,v1
addu v1,a3,v1
lw a0,0x0(a0)
addiu a1,a0,-0x1
beq a0,zero,0x0005d974
_sw a1,0x0(v1)
b 0x0005de34
_lw v0,0x7c(s8)
lw v1,0x8(v0)
addiu a2,a2,0x1
addiu v0,v0,0x4
addiu a0,v1,-0x1
bne v1,zero,0x0005de30
_sw a0,0x4(s5)
bne s0,a2,0x0005d95c
_addiu s5,s5,0x4
or s5,zero,zero
lw t9,-0x7d0c(gp)
or a3,s1,zero
lw a2,0x64(s8)
or a0,s6,zero
jalr t9
_lw a1,0x88(s8)
beq v0,zero,0x0005de1c
_lw gp,0x28(s8)
slt v0,s1,s4
beq v0,zero,0x0005da20
_lw a1,0x88(s8)
sll v1,s1,0x2
addiu a2,s1,0x1
addu a0,a1,v1
addu v1,s6,v1
lw v0,0x0(a0)
addiu v0,v0,0x1
bne v0,zero,0x0005d5ec
_sw v0,0x0(v1)
slt v0,s1,s0
beq v0,zero,0x0005da20
_sll v0,a2,0x2
addiu a2,s1,0x2
addu a3,a1,v0
addu a1,s6,v0
lw v0,0x0(a3)
addiu v0,v0,0x1
beq v0,zero,0x0005da18
_sw v0,0x0(a1)
b 0x0005d5f0
_lw v0,0x88(s8)
lw v0,0x8(a0)
addiu v1,v1,0x4
addiu a2,a2,0x1
addiu a0,a0,0x4
addiu v0,v0,0x1
bne v0,zero,0x0005d5ec
_sw v0,0x4(v1)
bne a2,s4,0x0005d9fc
_nop
bne s5,zero,0x0005df00
_addu t1,s7,s2
slt v0,s1,s0
beq v0,zero,0x0005dc88
_lw a0,0x7c(s8)
sll v0,s0,0x2
subu v1,s0,s1
addiu v0,v0,-0x4
b 0x0005da50
_addu v0,a0,v0
beq v1,zero,0x0005e040
_addiu v0,v0,-0x4
lw a0,0x0(v0)
beq a0,zero,0x0005da48
_addiu v1,v1,-0x1
bne s1,zero,0x0005de48
_or a0,zero,zero
lw v0,0x7c(s8)
beq v0,s7,0x0005daa4
_slt v1,a0,s0
beq v1,zero,0x0005daa8
_addu v0,s7,s2
subu v0,s0,a0
lw t9,-0x7afc(gp)
li a2,0x4
sll v0,v0,0x2
sll a0,a0,0x2
movn a2,v0,v1
lw v0,0x7c(s8)
addu a1,v0,a0
jalr t9
_addu a0,s7,a0
lw gp,0x28(s8)
addu v0,s7,s2
b 0x0005d68c
_sw zero,0x0(v0)
lw t9,-0x7d8c(gp)
lw a3,0x50(s8)
lw a1,0x64(s8)
sw a2,0x10(sp)
jalr t9
_or a2,s1,zero
b 0x0005d848
_lw gp,0x28(s8)
addiu v0,s1,-0x1
lw a0,0x8c(s8)
or v1,s1,zero
sll v0,v0,0x2
b 0x0005db00
_addu v0,a0,v0
lw a0,0x0(v0)
addiu v0,v0,-0x4
addu a1,v0,s2
lw a1,0x4(a1)
bne a0,a1,0x0005dea8
_nop
addiu v1,v1,-0x1
bgez v1,0x0005dae8
_nop
b 0x0005d59c
_nop
or a3,s0,zero
lw v1,0x3c(s8)
lw t9,-0x7d0c(gp)
lw a2,0x60(s8)
addu a1,v0,v1
jalr t9
_or a0,a1,zero
lw gp,0x28(s8)
b 0x0005d7f4
_addu s2,s2,v0
lw t9,-0x7d0c(gp)
or a3,t0,zero
lw a2,0x50(s8)
or a1,s3,zero
jalr t9
_or a0,s3,zero
beq v0,zero,0x0005d4e8
_lw gp,0x28(s8)
lw v0,0x80(s8)
slt v0,v0,s0
beq v0,zero,0x0005dbd4
_lw a1,0x80(s8)
sll v0,a1,0x2
addiu v1,a1,0x1
addu v0,s3,v0
lw a0,0x0(v0)
addiu a0,a0,0x1
bne a0,zero,0x0005d4e8
_sw a0,0x0(v0)
slt a0,v1,s0
beq a0,zero,0x0005dbd4
_sll v1,v1,0x2
addiu a0,a1,0x2
addu v1,s3,v1
lw a1,0x0(v1)
addiu a1,a1,0x1
beq a1,zero,0x0005dbcc
_sw a1,0x0(v1)
b 0x0005d4ec
_lw v1,0x8c(s8)
lw v1,0x8(v0)
addiu v0,v0,0x4
addiu a0,a0,0x1
addiu v1,v1,0x1
bne v1,zero,0x0005d4e8
_sw v1,0x4(v0)
bne a0,s0,0x0005dbb4
_nop
b 0x0005d4e8
_addiu s5,s5,0x1
lw t9,-0x7d0c(gp)
or a3,s1,zero
lw a2,0x64(s8)
lw a1,0x8c(s8)
jalr t9
_lw a0,0x88(s8)
beq v0,zero,0x0005de24
_lw gp,0x28(s8)
slt v0,s1,s0
beq v0,zero,0x0005dc80
_lw a1,0x8c(s8)
addiu a2,s1,0x1
lw t0,0x88(s8)
addu a0,a1,s5
addu v1,t0,s5
lw v0,0x0(a0)
addiu v0,v0,0x1
bne v0,zero,0x0005d518
_sw v0,0x0(v1)
slt v0,a2,s0
beq v0,zero,0x0005d558
_li v0,0x1
sll v0,a2,0x2
addiu a2,s1,0x2
addu a3,a1,v0
addu a1,t0,v0
lw v0,0x0(a3)
addiu v0,v0,0x1
beq v0,zero,0x0005dc78
_sw v0,0x0(a1)
b 0x0005d51c
_lw v0,0x88(s8)
lw v0,0x8(a0)
addiu v1,v1,0x4
addiu a2,a2,0x1
addiu a0,a0,0x4
addiu v0,v0,0x1
bne v0,zero,0x0005d518
_sw v0,0x4(v1)
bne a2,s0,0x0005dc5c
_nop
b 0x0005d558
_li v0,0x1
lw v1,0x38(s8)
addiu v0,v1,-0x8
addiu v1,v1,-0x4
addu v0,v0,s2
addu v1,a0,v1
lw a0,0x8c(s8)
addu v0,a0,v0
b 0x0005dcbc
_or a0,s0,zero
lw a1,-0x4(v1)
lw a2,0x4(v0)
bne a1,a2,0x0005e08c
_addiu v1,v1,-0x4
addiu a0,a0,-0x1
bgez a0,0x0005dcac
_addiu v0,v0,-0x4
lw t9,-0x7b2c(gp)
or a3,s0,zero
lw a2,0x64(s8)
or a0,s7,zero
jalr t9
_lw a1,0x7c(s8)
addu v0,s7,s2
lw gp,0x28(s8)
b 0x0005d68c
_sw zero,0x0(v0)
lw v1,0x3c(s8)
lw v0,0x84(s8)
or a3,s2,zero
lw t9,-0x7f70(gp)
or a2,s0,zero
lw a1,0x88(s8)
addu a0,v0,v1
jalr t9
_sw t1,0x7c(s8)
lw v1,0x70(s8)
lw t1,0x7c(s8)
lw gp,0x28(s8)
lw t0,0x0(v1)
b 0x0005d7ec
_addu s2,t1,v0
lw v0,0x84(s8)
or a3,s0,zero
lw v1,0x3c(s8)
lw t9,-0x7d0c(gp)
lw a2,0x88(s8)
addu a1,v0,v1
lw v0,0x70(s8)
or a0,a1,zero
jalr t9
_lw s2,0x0(v0)
lw gp,0x28(s8)
addu s2,s2,v0
lw v0,0x70(s8)
b 0x0005d7ec
_lw t0,0x0(v0)
lw s5,0x8c(s8)
or a3,s0,zero
lw t9,-0x7d0c(gp)
lw a0,0x88(s8)
lw a2,0x64(s8)
jalr t9
_or a1,s5,zero
addiu v1,s0,-0x1
lw a0,0x70(s8)
lw gp,0x28(s8)
sw v0,0x0(a0)
sll v0,v1,0x2
or a0,s0,zero
b 0x0005ddbc
_addu v0,s5,v0
lw v1,0x0(v0)
addiu v0,v0,-0x4
addu a1,v0,s2
lw a1,0x4(a1)
bne v1,a1,0x0005e0c8
_sltu v1,a1,v1
addiu a0,a0,-0x1
bgez a0,0x0005dda4
_lw t9,-0x7b2c(gp)
or a3,s1,zero
lw a2,0x64(s8)
or s5,zero,zero
lw a1,0x8c(s8)
jalr t9
_lw a0,0x7c(s8)
b 0x0005d5e4
_lw gp,0x28(s8)
lw v0,0x74(s8)
or a3,s0,zero
lw t9,-0x7d0c(gp)
lw a2,0x7c(s8)
subu a1,v0,s0
lw v0,0x6c(s8)
sll a1,a1,0x2
addiu a1,a1,0xc
addu a1,v0,a1
jalr t9
_or a0,a1,zero
b 0x0005d788
_lw gp,0x28(s8)
b 0x0005d5ec
_or a2,s1,zero
b 0x0005d518
_or a2,s1,zero
or a2,s1,zero
lw v0,0x7c(s8)
lw v1,0x8c(s8)
bne v0,v1,0x0005d5b4
_slt v0,a2,s0
b 0x0005d980
_or s5,zero,zero
lw t9,-0x7b2c(gp)
or a3,s1,zero
lw a2,0x64(s8)
or a0,s7,zero
jalr t9
_lw a1,0x7c(s8)
beq v0,zero,0x0005e14c
_lw gp,0x28(s8)
lw v1,0x7c(s8)
sll v0,s1,0x2
or a0,s1,zero
addu v1,v1,v0
addu v0,s7,v0
lw a1,0x0(v1)
addiu a0,a0,0x1
addiu a2,a1,-0x1
bne a1,zero,0x0005da64
_sw a2,0x0(v0)
addiu v1,v1,0x4
bne s0,a0,0x0005de7c
_addiu v0,v0,0x4
addu v0,s7,s2
b 0x0005d68c
_sw zero,0x0(v0)
sltu a0,a1,a0
bne a0,zero,0x0005d59c
_lw t9,-0x7b2c(gp)
or a3,s1,zero
lw a2,0x8c(s8)
lw a1,0x64(s8)
lw a0,0x7c(s8)
jalr t9
_sw t1,0x34(s8)
or a1,zero,zero
lw gp,0x28(s8)
lw t1,0x34(s8)
lw v0,0x7c(s8)
lw t9,-0x7d58(gp)
sll a2,t1,0x2
addu a0,v0,s5
jalr t9
_li s5,0x2
b 0x0005d5e4
_lw gp,0x28(s8)
b 0x0005d678
_or v0,zero,zero
lw t9,-0x7d0c(gp)
or a3,s1,zero
lw a2,0x64(s8)
or a0,s7,zero
lw a1,0x7c(s8)
jalr t9
_sw t1,0x38(s8)
lw gp,0x28(s8)
beq v0,zero,0x0005e0f0
_lw t1,0x38(s8)
slt v0,s1,s0
beq v0,zero,0x0005dfa8
_lw a1,0x7c(s8)
sll v0,s1,0x2
addiu a2,s1,0x1
addu v1,s7,v0
addu a0,a1,v0
lw v0,0x0(a0)
addiu v0,v0,0x1
bne v0,zero,0x0005d638
_sw v0,0x0(v1)
slt v0,a2,s0
beq v0,zero,0x0005d678
_li v0,0x1
sll v0,a2,0x2
addiu a2,s1,0x2
addu a3,a1,v0
addu a1,s7,v0
lw v0,0x0(a3)
addiu v0,v0,0x1
beq v0,zero,0x0005dfa0
_sw v0,0x0(a1)
b 0x0005d63c
_lw v1,0x7c(s8)
lw v0,0x8(a0)
addiu a2,a2,0x1
addiu a0,a0,0x4
addiu v0,v0,0x1
bne v0,zero,0x0005d638
_sw v0,0x4(v1)
bne s0,a2,0x0005df88
_addiu v1,v1,0x4
b 0x0005d678
_li v0,0x1
li a3,0x2
lw t9,-0x7f70(gp)
or a2,s0,zero
lw a1,0x7c(s8)
subu a0,v0,s0
lw v0,0x6c(s8)
sll a0,a0,0x2
addiu a0,a0,0xc
jalr t9
_addu a0,v0,a0
b 0x0005d788
_lw gp,0x28(s8)
lw v1,0x3c(s8)
li a3,0x2
lw v0,0x84(s8)
or a2,s0,zero
lw t9,-0x7f70(gp)
lw a1,0x88(s8)
addu a0,v0,v1
jalr t9
_sw t0,0x7c(s8)
lw t0,0x7c(s8)
lw a0,0x70(s8)
lw gp,0x28(s8)
sll v1,t0,0x1
lw t0,0x0(a0)
b 0x0005d7ec
_addu s2,v1,v0
lw v0,0x88(s8)
beq v0,s6,0x0005da2c
_slt v0,s1,s0
blez s4,0x0005da2c
_nop
or a2,zero,zero
b 0x0005d600
_or s5,zero,zero
addiu v0,s1,-0x1
lw v1,0x7c(s8)
lw a1,0x8c(s8)
sll s5,s1,0x2
sll v0,v0,0x2
addu a0,v1,s5
addu v0,v0,s2
or v1,s1,zero
b 0x0005e078
_addu v0,a1,v0
lw a1,-0x4(a0)
lw a2,0x4(v0)
bne a1,a2,0x0005e0f8
_addiu a0,a0,-0x4
addiu v1,v1,-0x1
bgez v1,0x0005e068
_addiu v0,v0,-0x4
b 0x0005da5c
_nop
sltu a1,a2,a1
bne a1,zero,0x0005dccc
_lw t9,-0x7b2c(gp)
or a3,s0,zero
lw a2,0x7c(s8)
or a0,s7,zero
jalr t9
_lw a1,0x64(s8)
lw v0,0x5c(s8)
lw gp,0x28(s8)
xori v0,v0,0x1
sw v0,0x5c(s8)
addu v0,s7,s2
b 0x0005d68c
_sw zero,0x0(v0)
bne v1,zero,0x0005ddc8
_lw t9,-0x7b2c(gp)
or a3,s1,zero
lw a2,0x8c(s8)
li s5,0x2
lw a1,0x64(s8)
jalr t9
_lw a0,0x7c(s8)
b 0x0005d5e4
_lw gp,0x28(s8)
b 0x0005d638
_or a2,s1,zero
sltu a1,a2,a1
bne a1,zero,0x0005da5c
_lw t9,-0x7b2c(gp)
or a3,s1,zero
lw a2,0x7c(s8)
or a0,s7,zero
jalr t9
_lw a1,0x64(s8)
lw v0,0x5c(s8)
lw gp,0x28(s8)
xori v0,v0,0x1
beq s4,s1,0x0005d68c
_sw v0,0x5c(s8)
subu a2,s4,s1
lw t9,-0x7d58(gp)
or a1,zero,zero
sll a2,a2,0x2
jalr t9
_addu a0,s7,s5
b 0x0005d68c
_lw gp,0x28(s8)
lw v0,0x7c(s8)
beq v0,s7,0x0005daa4
_slt v1,s1,s0
b 0x0005da78
_or a0,s1,zero
lw t9,-0x7b70(gp)
jalr t9
_nop
nop
(translation_unit "void __gmpn_toom62_mul(int param_1,int param_2,int param_3,undefined1 *param_4,int param_5,\n                      int param_6)\n\n{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int *piVar17;\n  undefined4 uVar18;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  uint uVar24;\n  uint *puVar25;\n  undefined1 *puVar26;\n  undefined1 *puVar27;\n  uint *puVar28;\n  undefined1 *puVar29;\n  uint uVar30;\n  uint *puVar31;\n  undefined4 uVar32;\n  uint *puVar33;\n  int iVar34;\n  int iVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  int iVar38;\n  uint uVar39;\n  int iVar40;\n  int iVar41;\n  undefined1 *puVar42;\n  int iVar43;\n  int iVar44;\n  undefined4 *puVar45;\n  undefined1 *puVar46;\n  undefined1 *puVar47;\n  undefined *puVar48;\n  code *pcVar49;\n  undefined *puVar50;\n  undefined4 uVar51;\n  uint auStack_140 [30];\n  undefined1 auStack_c8 [4];\n  undefined4 uStack_c4;\n  undefined1 auStack_c0 [4];\n  int aiStack_bc [8];\n  int iStack_9c;\n  uint local_64;\n  \n  puVar48 = PTR___stack_chk_guard_0009d540;\n  iVar19 = *(int *)PTR___stack_chk_guard_0009d540;\n  if (param_3 < param_5 * 3) {\n    uVar39 = param_5 + -1 >> 1;\n  }\n  else {\n    uVar39 = (param_3 - 1U) / 6;\n  }\n  iVar40 = uVar39 + 1;\n  iVar43 = uVar39 + 2;\n  iVar41 = iVar40 * 4;\n  iVar4 = iVar43 * 4;\n  param_3 = param_3 + iVar40 * -5;\n  uVar5 = iVar4 + 7U & 0xfffffff8;\n  puVar26 = &stack0xffffff68 + -uVar5;\n  puVar29 = &stack0xffffff68 + uVar5 * -2;\n  param_5 = param_5 - iVar40;\n  puVar42 = &stack0xffffff68 + uVar5 * -5;\n  puVar36 = &stack0xffffff68 + uVar5 * -6;\n  iVar3 = -(iVar41 + 7U & 0xfffffff8);\n  puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6;\n  iVar35 = param_2 + iVar41 + iVar41;\n  puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7;\n  iVar38 = iVar40 * 8;\n  puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8;\n  iVar34 = iVar35 + iVar41;\n  puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9;\n  iVar44 = iVar34 + iVar41;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2);\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2);\n  local_64 = uVar8 & 1 | uVar7 & 2;\n  iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1);\n  iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40);\n  iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40);\n  iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar13 = iVar40 * 0xc;\n  iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40);\n  iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40);\n  iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar44 = iVar44 + iVar41;\n  iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16;\n  if ((param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)) {\n    if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }\n  puVar20 = param_4 + iVar41;\n  *(int *)(puVar42 + iVar41) = iVar16;\n  piVar21 = (int *)(puVar36 + iVar41);\n  if (iVar40 == param_5) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);\n    *piVar21 = iVar9;\n    puVar28 = (uint *)(param_4 + uVar39 * 4);\n    iVar9 = iVar40;\n    do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }\nLAB_0005d5e4:\n    iVar9 = 0;\n    if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);\n    iVar9 = param_5;\n    if (iVar10 == 0) goto LAB_0005d5f0;\n    if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);\n    iVar4 = param_5;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }\nLAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;\n    local_64 = local_64 ^ (uVar39 | 1);\n  }\n  else {\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }\nLAB_0005d68c:\n  iVar9 = *piVar21;\n  iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40);\n  *(int *)(puVar6 + iVar41) = iVar9 + iVar4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43);\n  iVar9 = param_6 + iVar38 + 4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43);\n  iVar10 = param_6 + iVar40 * 0x10 + 8;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43);\n  iVar4 = param_6 + iVar40 * 0x18 + 0xc;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40);\n  if (*(int *)(puVar29 + iVar41) == 1) {\n    iVar11 = param_6 + iVar40 * 0x1c + 0xc;\n    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);\n  }\n  else if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  *(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18;\n  (*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40);\n  iVar11 = *(int *)(puVar26 + iVar41);\n  if (iVar11 == 1) {\n    iVar11 = *piVar21;\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);\n    iVar11 = iVar11 + iVar35;\n    iVar35 = *piVar21;\n  }\n  else {\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }\n  if (iVar35 != 0) {\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);\n    iVar11 = iVar11 + iVar35;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  piVar21 = (int *)(param_1 + iVar38 + iVar38);\n  *piVar21 = iVar11;\n  (*(code *)puVar50)(param_1,param_2,param_4,iVar40);\n  if (param_5 < param_3) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10;\n  iVar13 = param_6 + iVar40 * 0x20 + 0x10;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4;\n  iVar35 = iVar40;\n  iVar12 = iVar9;\n  (*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();\n  if (iVar19 == *(int *)puVar48) {\n    return;\n  }\n  uVar18 = 0x5e16c;\n  puVar48 = PTR___stack_chk_fail_0009d4d0;\n  (*(code *)PTR___stack_chk_fail_0009d4d0)();\n  puVar50 = puVar48 + 0x46ed0;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4;\n  *(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5;\n  iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4);\n  iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10);\n  *(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12;\n  *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13;\n  *(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18;\n  *(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0;\n  uVar39 = (local_64 + 2) / 3;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11;\n  iVar10 = uVar39 + 1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35;\n  uVar7 = iVar19 + uVar39 * -2;\n  iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc);\n  iVar19 = iVar10 * 8;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19;\n  iVar4 = param_1 + iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8;\n  if (uVar7 == 0) {\n    uVar8 = 0;\nLAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\nLAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);\n    piVar21 = (int *)(iVar11 + iVar35);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar11 = iVar9 + iVar35;\n    *piVar21 = iVar19;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);\n    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n    *puVar45 = 0;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n  uVar8 = (**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar7) {\n    iVar12 = uVar39 - uVar7;\n    puVar33 = (uint *)(iVar11 + uVar7 * 4);\n    puVar28 = (uint *)(iVar4 + uVar7 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e408:\n  iVar34 = *piVar21;\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1);\n  iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39);\n  iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n  iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13;\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  if (iVar19 == 0) {\n    uVar8 = 0;\nLAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\nLAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar19 = iVar9 + iVar35;\n    *(undefined4 *)(param_1 + iVar35) = uVar18;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);\n    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;\n  }\n  else {\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar8 = (**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar24) {\n    iVar11 = uVar39 - uVar24;\n    puVar33 = (uint *)(param_1 + uVar24 * 4);\n    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e618:\n  iVar13 = *(int *)(param_1 + iVar35);\n  uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1);\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51;\n  iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39);\n  iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c);\n  iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n  *(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =\n       (iVar19 - iVar11) + (uVar8 + iVar13) * 2;\n  bVar2 = uVar24 < 0x39;\n  iVar19 = iVar9 + iVar12 + -4;\n  if (bVar2) {\n    pcVar49 = *(code **)(iVar34 + -0x7bd0);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\nLAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    iVar35 = iVar9 + (iVar35 + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar49 = *(code **)(iVar4 + -0x7f84);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\n  else {\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\nLAB_0005e7f0:\n  iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n  pcVar49 = *(code **)(iVar4 + -0x7cf8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51;\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10;\n  (*pcVar49)(param_1,iVar19,iVar9,uVar39);\n  return;\n}\n\n" (function_definition "void __gmpn_toom62_mul(int param_1,int param_2,int param_3,undefined1 *param_4,int param_5,\n                      int param_6)\n\n{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int *piVar17;\n  undefined4 uVar18;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  uint uVar24;\n  uint *puVar25;\n  undefined1 *puVar26;\n  undefined1 *puVar27;\n  uint *puVar28;\n  undefined1 *puVar29;\n  uint uVar30;\n  uint *puVar31;\n  undefined4 uVar32;\n  uint *puVar33;\n  int iVar34;\n  int iVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  int iVar38;\n  uint uVar39;\n  int iVar40;\n  int iVar41;\n  undefined1 *puVar42;\n  int iVar43;\n  int iVar44;\n  undefined4 *puVar45;\n  undefined1 *puVar46;\n  undefined1 *puVar47;\n  undefined *puVar48;\n  code *pcVar49;\n  undefined *puVar50;\n  undefined4 uVar51;\n  uint auStack_140 [30];\n  undefined1 auStack_c8 [4];\n  undefined4 uStack_c4;\n  undefined1 auStack_c0 [4];\n  int aiStack_bc [8];\n  int iStack_9c;\n  uint local_64;\n  \n  puVar48 = PTR___stack_chk_guard_0009d540;\n  iVar19 = *(int *)PTR___stack_chk_guard_0009d540;\n  if (param_3 < param_5 * 3) {\n    uVar39 = param_5 + -1 >> 1;\n  }\n  else {\n    uVar39 = (param_3 - 1U) / 6;\n  }\n  iVar40 = uVar39 + 1;\n  iVar43 = uVar39 + 2;\n  iVar41 = iVar40 * 4;\n  iVar4 = iVar43 * 4;\n  param_3 = param_3 + iVar40 * -5;\n  uVar5 = iVar4 + 7U & 0xfffffff8;\n  puVar26 = &stack0xffffff68 + -uVar5;\n  puVar29 = &stack0xffffff68 + uVar5 * -2;\n  param_5 = param_5 - iVar40;\n  puVar42 = &stack0xffffff68 + uVar5 * -5;\n  puVar36 = &stack0xffffff68 + uVar5 * -6;\n  iVar3 = -(iVar41 + 7U & 0xfffffff8);\n  puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6;\n  iVar35 = param_2 + iVar41 + iVar41;\n  puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7;\n  iVar38 = iVar40 * 8;\n  puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8;\n  iVar34 = iVar35 + iVar41;\n  puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9;\n  iVar44 = iVar34 + iVar41;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2);\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2);\n  local_64 = uVar8 & 1 | uVar7 & 2;\n  iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1);\n  iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40);\n  iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40);\n  iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar13 = iVar40 * 0xc;\n  iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40);\n  iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40);\n  iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar44 = iVar44 + iVar41;\n  iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16;\n  if ((param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)) {\n    if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }\n  puVar20 = param_4 + iVar41;\n  *(int *)(puVar42 + iVar41) = iVar16;\n  piVar21 = (int *)(puVar36 + iVar41);\n  if (iVar40 == param_5) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);\n    *piVar21 = iVar9;\n    puVar28 = (uint *)(param_4 + uVar39 * 4);\n    iVar9 = iVar40;\n    do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }\nLAB_0005d5e4:\n    iVar9 = 0;\n    if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);\n    iVar9 = param_5;\n    if (iVar10 == 0) goto LAB_0005d5f0;\n    if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);\n    iVar4 = param_5;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }\nLAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;\n    local_64 = local_64 ^ (uVar39 | 1);\n  }\n  else {\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }\nLAB_0005d68c:\n  iVar9 = *piVar21;\n  iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40);\n  *(int *)(puVar6 + iVar41) = iVar9 + iVar4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43);\n  iVar9 = param_6 + iVar38 + 4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43);\n  iVar10 = param_6 + iVar40 * 0x10 + 8;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43);\n  iVar4 = param_6 + iVar40 * 0x18 + 0xc;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40);\n  if (*(int *)(puVar29 + iVar41) == 1) {\n    iVar11 = param_6 + iVar40 * 0x1c + 0xc;\n    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);\n  }\n  else if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  *(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18;\n  (*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40);\n  iVar11 = *(int *)(puVar26 + iVar41);\n  if (iVar11 == 1) {\n    iVar11 = *piVar21;\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);\n    iVar11 = iVar11 + iVar35;\n    iVar35 = *piVar21;\n  }\n  else {\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }\n  if (iVar35 != 0) {\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);\n    iVar11 = iVar11 + iVar35;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  piVar21 = (int *)(param_1 + iVar38 + iVar38);\n  *piVar21 = iVar11;\n  (*(code *)puVar50)(param_1,param_2,param_4,iVar40);\n  if (param_5 < param_3) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10;\n  iVar13 = param_6 + iVar40 * 0x20 + 0x10;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4;\n  iVar35 = iVar40;\n  iVar12 = iVar9;\n  (*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();\n  if (iVar19 == *(int *)puVar48) {\n    return;\n  }\n  uVar18 = 0x5e16c;\n  puVar48 = PTR___stack_chk_fail_0009d4d0;\n  (*(code *)PTR___stack_chk_fail_0009d4d0)();\n  puVar50 = puVar48 + 0x46ed0;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4;\n  *(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5;\n  iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4);\n  iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10);\n  *(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12;\n  *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13;\n  *(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18;\n  *(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0;\n  uVar39 = (local_64 + 2) / 3;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11;\n  iVar10 = uVar39 + 1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35;\n  uVar7 = iVar19 + uVar39 * -2;\n  iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc);\n  iVar19 = iVar10 * 8;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19;\n  iVar4 = param_1 + iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8;\n  if (uVar7 == 0) {\n    uVar8 = 0;\nLAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\nLAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);\n    piVar21 = (int *)(iVar11 + iVar35);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar11 = iVar9 + iVar35;\n    *piVar21 = iVar19;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);\n    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n    *puVar45 = 0;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n  uVar8 = (**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar7) {\n    iVar12 = uVar39 - uVar7;\n    puVar33 = (uint *)(iVar11 + uVar7 * 4);\n    puVar28 = (uint *)(iVar4 + uVar7 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e408:\n  iVar34 = *piVar21;\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1);\n  iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39);\n  iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n  iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13;\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  if (iVar19 == 0) {\n    uVar8 = 0;\nLAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\nLAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar19 = iVar9 + iVar35;\n    *(undefined4 *)(param_1 + iVar35) = uVar18;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);\n    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;\n  }\n  else {\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar8 = (**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar24) {\n    iVar11 = uVar39 - uVar24;\n    puVar33 = (uint *)(param_1 + uVar24 * 4);\n    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e618:\n  iVar13 = *(int *)(param_1 + iVar35);\n  uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1);\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51;\n  iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39);\n  iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c);\n  iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n  *(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =\n       (iVar19 - iVar11) + (uVar8 + iVar13) * 2;\n  bVar2 = uVar24 < 0x39;\n  iVar19 = iVar9 + iVar12 + -4;\n  if (bVar2) {\n    pcVar49 = *(code **)(iVar34 + -0x7bd0);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\nLAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    iVar35 = iVar9 + (iVar35 + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar49 = *(code **)(iVar4 + -0x7f84);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\n  else {\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\nLAB_0005e7f0:\n  iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n  pcVar49 = *(code **)(iVar4 + -0x7cf8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51;\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10;\n  (*pcVar49)(param_1,iVar19,iVar9,uVar39);\n  return;\n}" primitive_type (function_declarator "__gmpn_toom62_mul(int param_1,int param_2,int param_3,undefined1 *param_4,int param_5,\n                      int param_6)" identifier (parameter_list "(int param_1,int param_2,int param_3,undefined1 *param_4,int param_5,\n                      int param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined1 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "int param_6" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int *piVar17;\n  undefined4 uVar18;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  uint uVar24;\n  uint *puVar25;\n  undefined1 *puVar26;\n  undefined1 *puVar27;\n  uint *puVar28;\n  undefined1 *puVar29;\n  uint uVar30;\n  uint *puVar31;\n  undefined4 uVar32;\n  uint *puVar33;\n  int iVar34;\n  int iVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  int iVar38;\n  uint uVar39;\n  int iVar40;\n  int iVar41;\n  undefined1 *puVar42;\n  int iVar43;\n  int iVar44;\n  undefined4 *puVar45;\n  undefined1 *puVar46;\n  undefined1 *puVar47;\n  undefined *puVar48;\n  code *pcVar49;\n  undefined *puVar50;\n  undefined4 uVar51;\n  uint auStack_140 [30];\n  undefined1 auStack_c8 [4];\n  undefined4 uStack_c4;\n  undefined1 auStack_c0 [4];\n  int aiStack_bc [8];\n  int iStack_9c;\n  uint local_64;\n  \n  puVar48 = PTR___stack_chk_guard_0009d540;\n  iVar19 = *(int *)PTR___stack_chk_guard_0009d540;\n  if (param_3 < param_5 * 3) {\n    uVar39 = param_5 + -1 >> 1;\n  }\n  else {\n    uVar39 = (param_3 - 1U) / 6;\n  }\n  iVar40 = uVar39 + 1;\n  iVar43 = uVar39 + 2;\n  iVar41 = iVar40 * 4;\n  iVar4 = iVar43 * 4;\n  param_3 = param_3 + iVar40 * -5;\n  uVar5 = iVar4 + 7U & 0xfffffff8;\n  puVar26 = &stack0xffffff68 + -uVar5;\n  puVar29 = &stack0xffffff68 + uVar5 * -2;\n  param_5 = param_5 - iVar40;\n  puVar42 = &stack0xffffff68 + uVar5 * -5;\n  puVar36 = &stack0xffffff68 + uVar5 * -6;\n  iVar3 = -(iVar41 + 7U & 0xfffffff8);\n  puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6;\n  iVar35 = param_2 + iVar41 + iVar41;\n  puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7;\n  iVar38 = iVar40 * 8;\n  puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8;\n  iVar34 = iVar35 + iVar41;\n  puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9;\n  iVar44 = iVar34 + iVar41;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2);\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2);\n  local_64 = uVar8 & 1 | uVar7 & 2;\n  iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1);\n  iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40);\n  iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40);\n  iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar13 = iVar40 * 0xc;\n  iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40);\n  iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40);\n  iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar44 = iVar44 + iVar41;\n  iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16;\n  if ((param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)) {\n    if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }\n  puVar20 = param_4 + iVar41;\n  *(int *)(puVar42 + iVar41) = iVar16;\n  piVar21 = (int *)(puVar36 + iVar41);\n  if (iVar40 == param_5) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);\n    *piVar21 = iVar9;\n    puVar28 = (uint *)(param_4 + uVar39 * 4);\n    iVar9 = iVar40;\n    do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }\nLAB_0005d5e4:\n    iVar9 = 0;\n    if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);\n    iVar9 = param_5;\n    if (iVar10 == 0) goto LAB_0005d5f0;\n    if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);\n    iVar4 = param_5;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }\nLAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;\n    local_64 = local_64 ^ (uVar39 | 1);\n  }\n  else {\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }\nLAB_0005d68c:\n  iVar9 = *piVar21;\n  iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40);\n  *(int *)(puVar6 + iVar41) = iVar9 + iVar4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43);\n  iVar9 = param_6 + iVar38 + 4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43);\n  iVar10 = param_6 + iVar40 * 0x10 + 8;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43);\n  iVar4 = param_6 + iVar40 * 0x18 + 0xc;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40);\n  if (*(int *)(puVar29 + iVar41) == 1) {\n    iVar11 = param_6 + iVar40 * 0x1c + 0xc;\n    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);\n  }\n  else if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  *(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18;\n  (*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40);\n  iVar11 = *(int *)(puVar26 + iVar41);\n  if (iVar11 == 1) {\n    iVar11 = *piVar21;\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);\n    iVar11 = iVar11 + iVar35;\n    iVar35 = *piVar21;\n  }\n  else {\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }\n  if (iVar35 != 0) {\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);\n    iVar11 = iVar11 + iVar35;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  piVar21 = (int *)(param_1 + iVar38 + iVar38);\n  *piVar21 = iVar11;\n  (*(code *)puVar50)(param_1,param_2,param_4,iVar40);\n  if (param_5 < param_3) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10;\n  iVar13 = param_6 + iVar40 * 0x20 + 0x10;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4;\n  iVar35 = iVar40;\n  iVar12 = iVar9;\n  (*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();\n  if (iVar19 == *(int *)puVar48) {\n    return;\n  }\n  uVar18 = 0x5e16c;\n  puVar48 = PTR___stack_chk_fail_0009d4d0;\n  (*(code *)PTR___stack_chk_fail_0009d4d0)();\n  puVar50 = puVar48 + 0x46ed0;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4;\n  *(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5;\n  iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4);\n  iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10);\n  *(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12;\n  *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13;\n  *(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18;\n  *(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0;\n  uVar39 = (local_64 + 2) / 3;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11;\n  iVar10 = uVar39 + 1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35;\n  uVar7 = iVar19 + uVar39 * -2;\n  iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc);\n  iVar19 = iVar10 * 8;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19;\n  iVar4 = param_1 + iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8;\n  if (uVar7 == 0) {\n    uVar8 = 0;\nLAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\nLAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);\n    piVar21 = (int *)(iVar11 + iVar35);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar11 = iVar9 + iVar35;\n    *piVar21 = iVar19;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);\n    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n    *puVar45 = 0;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n  uVar8 = (**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar7) {\n    iVar12 = uVar39 - uVar7;\n    puVar33 = (uint *)(iVar11 + uVar7 * 4);\n    puVar28 = (uint *)(iVar4 + uVar7 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e408:\n  iVar34 = *piVar21;\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1);\n  iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39);\n  iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n  iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13;\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  if (iVar19 == 0) {\n    uVar8 = 0;\nLAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\nLAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar19 = iVar9 + iVar35;\n    *(undefined4 *)(param_1 + iVar35) = uVar18;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);\n    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;\n  }\n  else {\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar8 = (**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar24) {\n    iVar11 = uVar39 - uVar24;\n    puVar33 = (uint *)(param_1 + uVar24 * 4);\n    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e618:\n  iVar13 = *(int *)(param_1 + iVar35);\n  uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1);\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51;\n  iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39);\n  iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c);\n  iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n  *(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =\n       (iVar19 - iVar11) + (uVar8 + iVar13) * 2;\n  bVar2 = uVar24 < 0x39;\n  iVar19 = iVar9 + iVar12 + -4;\n  if (bVar2) {\n    pcVar49 = *(code **)(iVar34 + -0x7bd0);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\nLAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    iVar35 = iVar9 + (iVar35 + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar49 = *(code **)(iVar4 + -0x7f84);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\n  else {\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\nLAB_0005e7f0:\n  iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n  pcVar49 = *(code **)(iVar4 + -0x7cf8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51;\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10;\n  (*pcVar49)(param_1,iVar19,iVar9,uVar39);\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "undefined1 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "undefined1 *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "uint *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "undefined1 *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "uint *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "undefined4 uVar32;" type_identifier identifier ;) (declaration "uint *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "int iVar35;" primitive_type identifier ;) (declaration "undefined1 *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "undefined1 *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "int iVar38;" primitive_type identifier ;) (declaration "uint uVar39;" type_identifier identifier ;) (declaration "int iVar40;" primitive_type identifier ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "undefined1 *puVar42;" type_identifier (pointer_declarator "*puVar42" * identifier) ;) (declaration "int iVar43;" primitive_type identifier ;) (declaration "int iVar44;" primitive_type identifier ;) (declaration "undefined4 *puVar45;" type_identifier (pointer_declarator "*puVar45" * identifier) ;) (declaration "undefined1 *puVar46;" type_identifier (pointer_declarator "*puVar46" * identifier) ;) (declaration "undefined1 *puVar47;" type_identifier (pointer_declarator "*puVar47" * identifier) ;) (declaration "undefined *puVar48;" type_identifier (pointer_declarator "*puVar48" * identifier) ;) (declaration "code *pcVar49;" type_identifier (pointer_declarator "*pcVar49" * identifier) ;) (declaration "undefined *puVar50;" type_identifier (pointer_declarator "*puVar50" * identifier) ;) (declaration "undefined4 uVar51;" type_identifier identifier ;) (declaration "uint auStack_140 [30];" type_identifier (array_declarator "auStack_140 [30]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_c8 [4];" type_identifier (array_declarator "auStack_c8 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "undefined1 auStack_c0 [4];" type_identifier (array_declarator "auStack_c0 [4]" identifier [ number_literal ]) ;) (declaration "int aiStack_bc [8];" primitive_type (array_declarator "aiStack_bc [8]" identifier [ number_literal ]) ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (expression_statement "puVar48 = PTR___stack_chk_guard_0009d540;" (assignment_expression "puVar48 = PTR___stack_chk_guard_0009d540" identifier = identifier) ;) (expression_statement "iVar19 = *(int *)PTR___stack_chk_guard_0009d540;" (assignment_expression "iVar19 = *(int *)PTR___stack_chk_guard_0009d540" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0009d540" * (cast_expression "(int *)PTR___stack_chk_guard_0009d540" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_3 < param_5 * 3) {\n    uVar39 = param_5 + -1 >> 1;\n  }\n  else {\n    uVar39 = (param_3 - 1U) / 6;\n  }" if (parenthesized_expression "(param_3 < param_5 * 3)" ( (binary_expression "param_3 < param_5 * 3" identifier < (binary_expression "param_5 * 3" identifier * number_literal)) )) (compound_statement "{\n    uVar39 = param_5 + -1 >> 1;\n  }" { (expression_statement "uVar39 = param_5 + -1 >> 1;" (assignment_expression "uVar39 = param_5 + -1 >> 1" identifier = (binary_expression "param_5 + -1 >> 1" (binary_expression "param_5 + -1" identifier + number_literal) >> number_literal)) ;) }) (else_clause "else {\n    uVar39 = (param_3 - 1U) / 6;\n  }" else (compound_statement "{\n    uVar39 = (param_3 - 1U) / 6;\n  }" { (expression_statement "uVar39 = (param_3 - 1U) / 6;" (assignment_expression "uVar39 = (param_3 - 1U) / 6" identifier = (binary_expression "(param_3 - 1U) / 6" (parenthesized_expression "(param_3 - 1U)" ( (binary_expression "param_3 - 1U" identifier - number_literal) )) / number_literal)) ;) }))) (expression_statement "iVar40 = uVar39 + 1;" (assignment_expression "iVar40 = uVar39 + 1" identifier = (binary_expression "uVar39 + 1" identifier + number_literal)) ;) (expression_statement "iVar43 = uVar39 + 2;" (assignment_expression "iVar43 = uVar39 + 2" identifier = (binary_expression "uVar39 + 2" identifier + number_literal)) ;) (expression_statement "iVar41 = iVar40 * 4;" (assignment_expression "iVar41 = iVar40 * 4" identifier = (binary_expression "iVar40 * 4" identifier * number_literal)) ;) (expression_statement "iVar4 = iVar43 * 4;" (assignment_expression "iVar4 = iVar43 * 4" identifier = (binary_expression "iVar43 * 4" identifier * number_literal)) ;) (expression_statement "param_3 = param_3 + iVar40 * -5;" (assignment_expression "param_3 = param_3 + iVar40 * -5" identifier = (binary_expression "param_3 + iVar40 * -5" identifier + (binary_expression "iVar40 * -5" identifier * number_literal))) ;) (expression_statement "uVar5 = iVar4 + 7U & 0xfffffff8;" (assignment_expression "uVar5 = iVar4 + 7U & 0xfffffff8" identifier = (binary_expression "iVar4 + 7U & 0xfffffff8" (binary_expression "iVar4 + 7U" identifier + number_literal) & number_literal)) ;) (expression_statement "puVar26 = &stack0xffffff68 + -uVar5;" (assignment_expression "puVar26 = &stack0xffffff68 + -uVar5" identifier = (binary_expression "&stack0xffffff68 + -uVar5" (pointer_expression "&stack0xffffff68" & identifier) + (unary_expression "-uVar5" - identifier))) ;) (expression_statement "puVar29 = &stack0xffffff68 + uVar5 * -2;" (assignment_expression "puVar29 = &stack0xffffff68 + uVar5 * -2" identifier = (binary_expression "&stack0xffffff68 + uVar5 * -2" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar5 * -2" identifier * number_literal))) ;) (expression_statement "param_5 = param_5 - iVar40;" (assignment_expression "param_5 = param_5 - iVar40" identifier = (binary_expression "param_5 - iVar40" identifier - identifier)) ;) (expression_statement "puVar42 = &stack0xffffff68 + uVar5 * -5;" (assignment_expression "puVar42 = &stack0xffffff68 + uVar5 * -5" identifier = (binary_expression "&stack0xffffff68 + uVar5 * -5" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar5 * -5" identifier * number_literal))) ;) (expression_statement "puVar36 = &stack0xffffff68 + uVar5 * -6;" (assignment_expression "puVar36 = &stack0xffffff68 + uVar5 * -6" identifier = (binary_expression "&stack0xffffff68 + uVar5 * -6" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar5 * -6" identifier * number_literal))) ;) (expression_statement "iVar3 = -(iVar41 + 7U & 0xfffffff8);" (assignment_expression "iVar3 = -(iVar41 + 7U & 0xfffffff8)" identifier = (unary_expression "-(iVar41 + 7U & 0xfffffff8)" - (parenthesized_expression "(iVar41 + 7U & 0xfffffff8)" ( (binary_expression "iVar41 + 7U & 0xfffffff8" (binary_expression "iVar41 + 7U" identifier + number_literal) & number_literal) )))) ;) (expression_statement "puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6;" (assignment_expression "puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6" identifier = (binary_expression "&stack0xffffff68 + iVar3 + uVar5 * -6" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" & identifier) + identifier) + (binary_expression "uVar5 * -6" identifier * number_literal))) ;) (expression_statement "iVar35 = param_2 + iVar41 + iVar41;" (assignment_expression "iVar35 = param_2 + iVar41 + iVar41" identifier = (binary_expression "param_2 + iVar41 + iVar41" (binary_expression "param_2 + iVar41" identifier + identifier) + identifier)) ;) (expression_statement "puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7;" (assignment_expression "puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7" identifier = (binary_expression "&stack0xffffff68 + iVar3 + uVar5 * -7" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" & identifier) + identifier) + (binary_expression "uVar5 * -7" identifier * number_literal))) ;) (expression_statement "iVar38 = iVar40 * 8;" (assignment_expression "iVar38 = iVar40 * 8" identifier = (binary_expression "iVar40 * 8" identifier * number_literal)) ;) (expression_statement "puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8;" (assignment_expression "puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8" identifier = (binary_expression "&stack0xffffff68 + iVar3 + uVar5 * -8" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" & identifier) + identifier) + (binary_expression "uVar5 * -8" identifier * number_literal))) ;) (expression_statement "iVar34 = iVar35 + iVar41;" (assignment_expression "iVar34 = iVar35 + iVar41" identifier = (binary_expression "iVar35 + iVar41" identifier + identifier)) ;) (expression_statement "puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9;" (assignment_expression "puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9" identifier = (binary_expression "&stack0xffffff68 + iVar3 + uVar5 * -9" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" & identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal))) ;) (expression_statement "iVar44 = iVar34 + iVar41;" (assignment_expression "iVar44 = iVar34 + iVar41" identifier = (binary_expression "iVar34 + iVar41" identifier + identifier)) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2);" (assignment_expression "uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2)" identifier = (call_expression "(*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2)" (parenthesized_expression "(*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)" ( (pointer_expression "*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0" * (cast_expression "(code *)PTR___gmpn_toom_eval_pm1_0009d1e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar26,puVar29,5,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2);" (assignment_expression "uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2)" identifier = (call_expression "(*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2)" (parenthesized_expression "(*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)" ( (pointer_expression "*(code *)PTR___gmpn_toom_eval_pm2_0009d47c" * (cast_expression "(code *)PTR___gmpn_toom_eval_pm2_0009d47c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2)" ( (binary_expression "&stack0xffffff68 + uVar5 * -3" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar5 * -3" identifier * number_literal)) , (binary_expression "&stack0xffffff68 + uVar5 * -4" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar5 * -4" identifier * number_literal)) , number_literal , identifier )))) ;) (expression_statement "local_64 = uVar8 & 1 | uVar7 & 2;" (assignment_expression "local_64 = uVar8 & 1 | uVar7 & 2" identifier = (binary_expression "uVar8 & 1 | uVar7 & 2" (binary_expression "uVar8 & 1" identifier & number_literal) | (binary_expression "uVar7 & 2" identifier & number_literal))) ;) (expression_statement "iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,param_2,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40);" (assignment_expression "iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,param_2 + iVar41,iVar40)" ( identifier , identifier , (binary_expression "param_2 + iVar41" identifier + identifier) , identifier )))) ;) (expression_statement "iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40);" (assignment_expression "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar35,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);" (assignment_expression "iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar13 = iVar40 * 0xc;" (assignment_expression "iVar13 = iVar40 * 0xc" identifier = (binary_expression "iVar40 * 0xc" identifier * number_literal)) ;) (expression_statement "iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40);" (assignment_expression "iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar34,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);" (assignment_expression "iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40);" (assignment_expression "iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar44,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);" (assignment_expression "iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar44 = iVar44 + iVar41;" (assignment_expression "iVar44 = iVar44 + iVar41" identifier = (binary_expression "iVar44 + iVar41" identifier + identifier)) ;) (expression_statement "iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16;" (assignment_expression "iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16" identifier = (binary_expression "(iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16" (binary_expression "(iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2" (parenthesized_expression "(iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)" ( (binary_expression "iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2" (binary_expression "iVar14 + iVar15" identifier + identifier) + (binary_expression "(iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2" (parenthesized_expression "(iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2)" ( (binary_expression "iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2" (binary_expression "iVar12 + iVar34" identifier + identifier) + (binary_expression "(iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2" (parenthesized_expression "(iVar11 + iVar35 + (iVar9 + iVar10) * 2)" ( (binary_expression "iVar11 + iVar35 + (iVar9 + iVar10) * 2" (binary_expression "iVar11 + iVar35" identifier + identifier) + (binary_expression "(iVar9 + iVar10) * 2" (parenthesized_expression "(iVar9 + iVar10)" ( (binary_expression "iVar9 + iVar10" identifier + identifier) )) * number_literal)) )) * number_literal)) )) * number_literal)) )) * number_literal) + identifier)) ;) (if_statement "if ((param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)) {\n    if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }" if (parenthesized_expression "((param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0))" ( (binary_expression "(param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)" (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)" ( (comma_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar44,param_3)" ( identifier , identifier , identifier , identifier )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }" { (if_statement "if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }" if (parenthesized_expression "(param_3 < iVar40)" ( (binary_expression "param_3 < iVar40" identifier < identifier) )) (compound_statement "{\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }" { (expression_statement "piVar21 = (int *)(puVar42 + param_3 * 4);" (assignment_expression "piVar21 = (int *)(puVar42 + param_3 * 4)" identifier = (cast_expression "(int *)(puVar42 + param_3 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + param_3 * 4)" ( (binary_expression "puVar42 + param_3 * 4" identifier + (binary_expression "param_3 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "*piVar21 = iVar9 + 1;" (assignment_expression "*piVar21 = iVar9 + 1" (pointer_expression "*piVar21" * identifier) = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }" if (parenthesized_expression "(iVar9 + 1 == 0)" ( (binary_expression "iVar9 + 1 == 0" (binary_expression "iVar9 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }" { (if_statement "if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;" if (parenthesized_expression "(iVar40 <= param_3 + 1)" ( (binary_expression "iVar40 <= param_3 + 1" identifier <= (binary_expression "param_3 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_0005dbd4;" goto statement_identifier ;)) (expression_statement "iVar9 = param_3 + 2;" (assignment_expression "iVar9 = param_3 + 2" identifier = (binary_expression "param_3 + 2" identifier + number_literal)) ;) (expression_statement "iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;" (assignment_expression "iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1" identifier = (binary_expression "*(int *)(puVar42 + (param_3 + 1) * 4) + 1" (pointer_expression "*(int *)(puVar42 + (param_3 + 1) * 4)" * (cast_expression "(int *)(puVar42 + (param_3 + 1) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + (param_3 + 1) * 4)" ( (binary_expression "puVar42 + (param_3 + 1) * 4" identifier + (binary_expression "(param_3 + 1) * 4" (parenthesized_expression "(param_3 + 1)" ( (binary_expression "param_3 + 1" identifier + number_literal) )) * number_literal)) )))) + number_literal)) ;) (expression_statement "*(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;" (assignment_expression "*(int *)(puVar42 + (param_3 + 1) * 4) = iVar10" (pointer_expression "*(int *)(puVar42 + (param_3 + 1) * 4)" * (cast_expression "(int *)(puVar42 + (param_3 + 1) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + (param_3 + 1) * 4)" ( (binary_expression "puVar42 + (param_3 + 1) * 4" identifier + (binary_expression "(param_3 + 1) * 4" (parenthesized_expression "(param_3 + 1)" ( (binary_expression "param_3 + 1" identifier + number_literal) )) * number_literal)) )))) = identifier) ;) (while_statement "while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }" while (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }" { (if_statement "if (iVar9 == iVar40) goto LAB_0005dbd4;" if (parenthesized_expression "(iVar9 == iVar40)" ( (binary_expression "iVar9 == iVar40" identifier == identifier) )) (goto_statement "goto LAB_0005dbd4;" goto statement_identifier ;)) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = piVar21[2] + 1;" (assignment_expression "iVar10 = piVar21[2] + 1" identifier = (binary_expression "piVar21[2] + 1" (subscript_expression "piVar21[2]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar21[2] = iVar10;" (assignment_expression "piVar21[2] = iVar10" (subscript_expression "piVar21[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar21 = piVar21 + 1;" (assignment_expression "piVar21 = piVar21 + 1" identifier = (binary_expression "piVar21 + 1" identifier + number_literal)) ;) })) })) }) (else_clause "else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }" else (compound_statement "{\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }" { (labeled_statement "LAB_0005dbd4:\n      iVar16 = iVar16 + 1;" statement_identifier : (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;)) }))) })) (expression_statement "puVar20 = param_4 + iVar41;" (assignment_expression "puVar20 = param_4 + iVar41" identifier = (binary_expression "param_4 + iVar41" identifier + identifier)) ;) (expression_statement "*(int *)(puVar42 + iVar41) = iVar16;" (assignment_expression "*(int *)(puVar42 + iVar41) = iVar16" (pointer_expression "*(int *)(puVar42 + iVar41)" * (cast_expression "(int *)(puVar42 + iVar41)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + iVar41)" ( (binary_expression "puVar42 + iVar41" identifier + identifier) )))) = identifier) ;) (expression_statement "piVar21 = (int *)(puVar36 + iVar41);" (assignment_expression "piVar21 = (int *)(puVar36 + iVar41)" identifier = (cast_expression "(int *)(puVar36 + iVar41)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + iVar41)" ( (binary_expression "puVar36 + iVar41" identifier + identifier) )))) ;) (if_statement "if (iVar40 == param_5) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);\n    *piVar21 = iVar9;\n    puVar28 = (uint *)(param_4 + uVar39 * 4);\n    iVar9 = iVar40;\n    do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }\nLAB_0005d5e4:\n    iVar9 = 0;\n    if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);\n    iVar9 = param_5;\n    if (iVar10 == 0) goto LAB_0005d5f0;\n    if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);\n    iVar4 = param_5;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }\nLAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;\n    local_64 = local_64 ^ (uVar39 | 1);\n  }\n  else {\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }" if (parenthesized_expression "(iVar40 == param_5)" ( (binary_expression "iVar40 == param_5" identifier == identifier) )) (compound_statement "{\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);\n    *piVar21 = iVar9;\n    puVar28 = (uint *)(param_4 + uVar39 * 4);\n    iVar9 = iVar40;\n    do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }\nLAB_0005d5e4:\n    iVar9 = 0;\n    if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);\n    iVar9 = param_5;\n    if (iVar10 == 0) goto LAB_0005d5f0;\n    if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);\n    iVar4 = param_5;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }\nLAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;\n    local_64 = local_64 ^ (uVar39 | 1);\n  }" { (expression_statement "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar36,param_4,puVar20,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "*piVar21 = iVar9;" (assignment_expression "*piVar21 = iVar9" (pointer_expression "*piVar21" * identifier) = identifier) ;) (expression_statement "puVar28 = (uint *)(param_4 + uVar39 * 4);" (assignment_expression "puVar28 = (uint *)(param_4 + uVar39 * 4)" identifier = (cast_expression "(uint *)(param_4 + uVar39 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + uVar39 * 4)" ( (binary_expression "param_4 + uVar39 * 4" identifier + (binary_expression "uVar39 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar9 = iVar40;" (assignment_expression "iVar9 = iVar40" identifier = identifier) ;) (do_statement "do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);" do (compound_statement "{\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    }" { (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (if_statement "if (iVar9 < 0) goto LAB_0005ddc8;" if (parenthesized_expression "(iVar9 < 0)" ( (binary_expression "iVar9 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0005ddc8;" goto statement_identifier ;)) (expression_statement "uVar7 = *puVar28;" (assignment_expression "uVar7 = *puVar28" identifier = (pointer_expression "*puVar28" * identifier)) ;) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" identifier = (binary_expression "puVar28 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 == puVar28[uVar39 + 2])" ( (binary_expression "uVar7 == puVar28[uVar39 + 2]" identifier == (subscript_expression "puVar28[uVar39 + 2]" identifier [ (binary_expression "uVar39 + 2" identifier + number_literal) ])) )) ;) (if_statement "if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }" if (parenthesized_expression "(puVar28[uVar39 + 2] < uVar7)" ( (binary_expression "puVar28[uVar39 + 2] < uVar7" (subscript_expression "puVar28[uVar39 + 2]" identifier [ (binary_expression "uVar39 + 2" identifier + number_literal) ]) < identifier) )) (compound_statement "{\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }" { (labeled_statement "LAB_0005ddc8:\n      uVar39 = 0;" statement_identifier : (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" identifier = number_literal) ;)) (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar37,param_4,puVar20,param_5)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }" else (compound_statement "{\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }" { (expression_statement "uVar39 = 2;" (assignment_expression "uVar39 = 2" identifier = number_literal) ;) (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar37,puVar20,param_4,param_5)" ( identifier , identifier , identifier , identifier ))) ;) }))) (labeled_statement "LAB_0005d5e4:\n    iVar9 = 0;" statement_identifier : (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;)) (if_statement "if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }" { (labeled_statement "LAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }" statement_identifier : (if_statement "if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }" if (parenthesized_expression "((puVar36 != puVar46) && (iVar9 < iVar43))" ( (binary_expression "(puVar36 != puVar46) && (iVar9 < iVar43)" (parenthesized_expression "(puVar36 != puVar46)" ( (binary_expression "puVar36 != puVar46" identifier != identifier) )) && (parenthesized_expression "(iVar9 < iVar43)" ( (binary_expression "iVar9 < iVar43" identifier < identifier) ))) )) (compound_statement "{\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }" { (labeled_statement "LAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;" statement_identifier : (expression_statement "(*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;" (call_expression "(*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)" ( (binary_expression "puVar46 + iVar9 * 4" identifier + (binary_expression "iVar9 * 4" identifier * number_literal)) , (binary_expression "puVar36 + iVar9 * 4" identifier + (binary_expression "iVar9 * 4" identifier * number_literal)) , (binary_expression "(iVar43 - iVar9) * 4" (parenthesized_expression "(iVar43 - iVar9)" ( (binary_expression "iVar43 - iVar9" identifier - identifier) )) * number_literal) ))) ;)) }))) (if_statement "if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }" if (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) (compound_statement "{\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }" { (if_statement "if (param_5 != 0) goto LAB_0005df00;" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0005df00;" goto statement_identifier ;)) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005d63c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0005da2c;" goto statement_identifier ;) })) (labeled_statement "LAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);" statement_identifier : (expression_statement "iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);" (assignment_expression "iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar46,puVar36,puVar20,param_5)" ( identifier , identifier , identifier , identifier )))) ;)) (expression_statement "iVar9 = param_5;" (assignment_expression "iVar9 = param_5" identifier = identifier) ;) (if_statement "if (iVar10 == 0) goto LAB_0005d5f0;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005d5f0;" goto statement_identifier ;)) (if_statement "if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }" if (parenthesized_expression "(param_5 < iVar43)" ( (binary_expression "param_5 < iVar43" identifier < identifier) )) (compound_statement "{\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }" { (expression_statement "piVar17 = (int *)(puVar36 + param_5 * 4);" (assignment_expression "piVar17 = (int *)(puVar36 + param_5 * 4)" identifier = (cast_expression "(int *)(puVar36 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + param_5 * 4)" ( (binary_expression "puVar36 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar10 = *piVar17;" (assignment_expression "iVar10 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "*(int *)(puVar46 + param_5 * 4) = iVar10 + 1;" (assignment_expression "*(int *)(puVar46 + param_5 * 4) = iVar10 + 1" (pointer_expression "*(int *)(puVar46 + param_5 * 4)" * (cast_expression "(int *)(puVar46 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + param_5 * 4)" ( (binary_expression "puVar46 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "iVar9 = param_5 + 1;" (assignment_expression "iVar9 = param_5 + 1" identifier = (binary_expression "param_5 + 1" identifier + number_literal)) ;) (if_statement "if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }" if (parenthesized_expression "(iVar10 + 1 == 0)" ( (binary_expression "iVar10 + 1 == 0" (binary_expression "iVar10 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }" { (expression_statement "iVar10 = (param_5 + 1) * 4;" (assignment_expression "iVar10 = (param_5 + 1) * 4" identifier = (binary_expression "(param_5 + 1) * 4" (parenthesized_expression "(param_5 + 1)" ( (binary_expression "param_5 + 1" identifier + number_literal) )) * number_literal)) ;) (if_statement "if (iVar40 <= param_5) goto LAB_0005da20;" if (parenthesized_expression "(iVar40 <= param_5)" ( (binary_expression "iVar40 <= param_5" identifier <= identifier) )) (goto_statement "goto LAB_0005da20;" goto statement_identifier ;)) (expression_statement "iVar9 = param_5 + 2;" (assignment_expression "iVar9 = param_5 + 2" identifier = (binary_expression "param_5 + 2" identifier + number_literal)) ;) (expression_statement "iVar11 = *(int *)(puVar36 + iVar10) + 1;" (assignment_expression "iVar11 = *(int *)(puVar36 + iVar10) + 1" identifier = (binary_expression "*(int *)(puVar36 + iVar10) + 1" (pointer_expression "*(int *)(puVar36 + iVar10)" * (cast_expression "(int *)(puVar36 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + iVar10)" ( (binary_expression "puVar36 + iVar10" identifier + identifier) )))) + number_literal)) ;) (expression_statement "*(int *)(puVar46 + iVar10) = iVar11;" (assignment_expression "*(int *)(puVar46 + iVar10) = iVar11" (pointer_expression "*(int *)(puVar46 + iVar10)" * (cast_expression "(int *)(puVar46 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + iVar10)" ( (binary_expression "puVar46 + iVar10" identifier + identifier) )))) = identifier) ;) (expression_statement "piVar22 = (int *)(puVar46 + param_5 * 4);" (assignment_expression "piVar22 = (int *)(puVar46 + param_5 * 4)" identifier = (cast_expression "(int *)(puVar46 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + param_5 * 4)" ( (binary_expression "puVar46 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) ;) (while_statement "while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }" while (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }" { (if_statement "if (iVar9 == iVar43) goto LAB_0005da20;" if (parenthesized_expression "(iVar9 == iVar43)" ( (binary_expression "iVar9 == iVar43" identifier == identifier) )) (goto_statement "goto LAB_0005da20;" goto statement_identifier ;)) (expression_statement "piVar1 = piVar17 + 2;" (assignment_expression "piVar1 = piVar17 + 2" identifier = (binary_expression "piVar17 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = *piVar1 + 1;" (assignment_expression "iVar11 = *piVar1 + 1" identifier = (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "piVar22[2] = iVar11;" (assignment_expression "piVar22[2] = iVar11" (subscript_expression "piVar22[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) })) })) (goto_statement "goto LAB_0005d5f0;" goto statement_identifier ;) })) (labeled_statement "LAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;" statement_identifier : (if_statement "if (uVar39 == 0) goto LAB_0005da2c;" if (parenthesized_expression "(uVar39 == 0)" ( (binary_expression "uVar39 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005da2c;" goto statement_identifier ;))) (labeled_statement "LAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);" statement_identifier : (expression_statement "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47,puVar37,puVar20,param_5)" ( identifier , identifier , identifier , identifier )))) ;)) (expression_statement "iVar4 = param_5;" (assignment_expression "iVar4 = param_5" identifier = identifier) ;) (if_statement "if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }" { (labeled_statement "LAB_0005d63c:\n      uVar18 = 0;" statement_identifier : (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;)) (if_statement "if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }" if (parenthesized_expression "(puVar37 != puVar47)" ( (binary_expression "puVar37 != puVar47" identifier != identifier) )) (compound_statement "{\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }" { (if_statement "if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }" if (parenthesized_expression "(iVar4 < iVar40)" ( (binary_expression "iVar4 < iVar40" identifier < identifier) )) (compound_statement "{\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }" { (expression_statement "(*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);" (call_expression "(*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4)" ( (binary_expression "puVar47 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) , (binary_expression "puVar37 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) , (binary_expression "(iVar40 - iVar4) * 4" (parenthesized_expression "(iVar40 - iVar4)" ( (binary_expression "iVar40 - iVar4" identifier - identifier) )) * number_literal) ))) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          uVar18 = 0;\n        }" else (compound_statement "{\n          uVar18 = 0;\n        }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }))) })) }) (else_clause "else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }" else (compound_statement "{\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }" { (if_statement "if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }" if (parenthesized_expression "(param_5 < iVar40)" ( (binary_expression "param_5 < iVar40" identifier < identifier) )) (compound_statement "{\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }" { (expression_statement "iVar4 = param_5 + 1;" (assignment_expression "iVar4 = param_5 + 1" identifier = (binary_expression "param_5 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = (int *)(puVar37 + param_5 * 4);" (assignment_expression "piVar17 = (int *)(puVar37 + param_5 * 4)" identifier = (cast_expression "(int *)(puVar37 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + param_5 * 4)" ( (binary_expression "puVar37 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar9 = *piVar17;" (assignment_expression "iVar9 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "*(int *)(puVar47 + param_5 * 4) = iVar9 + 1;" (assignment_expression "*(int *)(puVar47 + param_5 * 4) = iVar9 + 1" (pointer_expression "*(int *)(puVar47 + param_5 * 4)" * (cast_expression "(int *)(puVar47 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + param_5 * 4)" ( (binary_expression "puVar47 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }" if (parenthesized_expression "(iVar9 + 1 == 0)" ( (binary_expression "iVar9 + 1 == 0" (binary_expression "iVar9 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }" { (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (if_statement "if (iVar40 <= iVar4) goto LAB_0005d678;" if (parenthesized_expression "(iVar40 <= iVar4)" ( (binary_expression "iVar40 <= iVar4" identifier <= identifier) )) (goto_statement "goto LAB_0005d678;" goto statement_identifier ;)) (expression_statement "iVar9 = param_5 + 2;" (assignment_expression "iVar9 = param_5 + 2" identifier = (binary_expression "param_5 + 2" identifier + number_literal)) ;) (expression_statement "iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;" (assignment_expression "iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1" identifier = (binary_expression "*(int *)(puVar37 + iVar4 * 4) + 1" (pointer_expression "*(int *)(puVar37 + iVar4 * 4)" * (cast_expression "(int *)(puVar37 + iVar4 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + iVar4 * 4)" ( (binary_expression "puVar37 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) + number_literal)) ;) (expression_statement "*(int *)(puVar47 + iVar4 * 4) = iVar10;" (assignment_expression "*(int *)(puVar47 + iVar4 * 4) = iVar10" (pointer_expression "*(int *)(puVar47 + iVar4 * 4)" * (cast_expression "(int *)(puVar47 + iVar4 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + iVar4 * 4)" ( (binary_expression "puVar47 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "piVar22 = (int *)(puVar47 + param_5 * 4);" (assignment_expression "piVar22 = (int *)(puVar47 + param_5 * 4)" identifier = (cast_expression "(int *)(puVar47 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + param_5 * 4)" ( (binary_expression "puVar47 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) ;) (while_statement "while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }" while (parenthesized_expression "(iVar4 = iVar9, iVar10 == 0)" ( (comma_expression "iVar4 = iVar9, iVar10 == 0" (assignment_expression "iVar4 = iVar9" identifier = identifier) , (binary_expression "iVar10 == 0" identifier == number_literal)) )) (compound_statement "{\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }" { (if_statement "if (iVar40 == iVar9) goto LAB_0005dfa8;" if (parenthesized_expression "(iVar40 == iVar9)" ( (binary_expression "iVar40 == iVar9" identifier == identifier) )) (goto_statement "goto LAB_0005dfa8;" goto statement_identifier ;)) (expression_statement "piVar1 = piVar17 + 2;" (assignment_expression "piVar1 = piVar17 + 2" identifier = (binary_expression "piVar17 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = *piVar1 + 1;" (assignment_expression "iVar10 = *piVar1 + 1" identifier = (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "piVar22[2] = iVar10;" (assignment_expression "piVar22[2] = iVar10" (subscript_expression "piVar22[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) })) })) (goto_statement "goto LAB_0005d63c;" goto statement_identifier ;) })) (labeled_statement "LAB_0005dfa8:\n      uVar18 = 1;" statement_identifier : (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;)) }))) (labeled_statement "LAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;" statement_identifier : (expression_statement "*(undefined4 *)(puVar47 + iVar41) = uVar18;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = uVar18" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" * (cast_expression "(undefined4 *)(puVar47 + iVar41)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + iVar41)" ( (binary_expression "puVar47 + iVar41" identifier + identifier) )))) = identifier) ;)) (expression_statement "local_64 = local_64 ^ (uVar39 | 1);" (assignment_expression "local_64 = local_64 ^ (uVar39 | 1)" identifier = (binary_expression "local_64 ^ (uVar39 | 1)" identifier ^ (parenthesized_expression "(uVar39 | 1)" ( (binary_expression "uVar39 | 1" identifier | number_literal) )))) ;) }) (else_clause "else {\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }" else (compound_statement "{\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }" { (expression_statement "iVar9 = param_5 * 4;" (assignment_expression "iVar9 = param_5 * 4" identifier = (binary_expression "param_5 * 4" identifier * number_literal)) ;) (if_statement "if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0005d51c:\n      iVar11 = 0;" statement_identifier : (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;)) (if_statement "if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }" if (parenthesized_expression "(puVar36 != param_4)" ( (binary_expression "puVar36 != param_4" identifier != identifier) )) (compound_statement "{\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }" { (if_statement "if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }" if (parenthesized_expression "(iVar10 < iVar40)" ( (binary_expression "iVar10 < iVar40" identifier < identifier) )) (compound_statement "{\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }" { (expression_statement "(*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);" (call_expression "(*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4)" ( (binary_expression "puVar36 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) , (binary_expression "param_4 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) , (binary_expression "(iVar40 - iVar10) * 4" (parenthesized_expression "(iVar40 - iVar10)" ( (binary_expression "iVar40 - iVar10" identifier - identifier) )) * number_literal) ))) ;) })) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) })) }) (else_clause "else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }" else (compound_statement "{\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }" { (expression_statement "iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar36,param_4,puVar20,param_5)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar10 = param_5;" (assignment_expression "iVar10 = param_5" identifier = identifier) ;) (if_statement "if (iVar11 == 0) goto LAB_0005d51c;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005d51c;" goto statement_identifier ;)) (if_statement "if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }" if (parenthesized_expression "(param_5 < iVar40)" ( (binary_expression "param_5 < iVar40" identifier < identifier) )) (compound_statement "{\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }" { (expression_statement "iVar10 = param_5 + 1;" (assignment_expression "iVar10 = param_5 + 1" identifier = (binary_expression "param_5 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = (int *)(param_4 + iVar9);" (assignment_expression "piVar17 = (int *)(param_4 + iVar9)" identifier = (cast_expression "(int *)(param_4 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + iVar9)" ( (binary_expression "param_4 + iVar9" identifier + identifier) )))) ;) (expression_statement "iVar11 = *piVar17;" (assignment_expression "iVar11 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "*(int *)(puVar36 + iVar9) = iVar11 + 1;" (assignment_expression "*(int *)(puVar36 + iVar9) = iVar11 + 1" (pointer_expression "*(int *)(puVar36 + iVar9)" * (cast_expression "(int *)(puVar36 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + iVar9)" ( (binary_expression "puVar36 + iVar9" identifier + identifier) )))) = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (if_statement "if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }" if (parenthesized_expression "(iVar11 + 1 == 0)" ( (binary_expression "iVar11 + 1 == 0" (binary_expression "iVar11 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }" { (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (if_statement "if (iVar40 <= iVar10) goto LAB_0005d558;" if (parenthesized_expression "(iVar40 <= iVar10)" ( (binary_expression "iVar40 <= iVar10" identifier <= identifier) )) (goto_statement "goto LAB_0005d558;" goto statement_identifier ;)) (expression_statement "iVar11 = param_5 + 2;" (assignment_expression "iVar11 = param_5 + 2" identifier = (binary_expression "param_5 + 2" identifier + number_literal)) ;) (expression_statement "iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;" (assignment_expression "iVar35 = *(int *)(param_4 + iVar10 * 4) + 1" identifier = (binary_expression "*(int *)(param_4 + iVar10 * 4) + 1" (pointer_expression "*(int *)(param_4 + iVar10 * 4)" * (cast_expression "(int *)(param_4 + iVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + iVar10 * 4)" ( (binary_expression "param_4 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) )))) + number_literal)) ;) (expression_statement "*(int *)(puVar36 + iVar10 * 4) = iVar35;" (assignment_expression "*(int *)(puVar36 + iVar10 * 4) = iVar35" (pointer_expression "*(int *)(puVar36 + iVar10 * 4)" * (cast_expression "(int *)(puVar36 + iVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + iVar10 * 4)" ( (binary_expression "puVar36 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "piVar22 = (int *)(puVar36 + iVar9);" (assignment_expression "piVar22 = (int *)(puVar36 + iVar9)" identifier = (cast_expression "(int *)(puVar36 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + iVar9)" ( (binary_expression "puVar36 + iVar9" identifier + identifier) )))) ;) (while_statement "while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }" while (parenthesized_expression "(iVar10 = iVar11, iVar35 == 0)" ( (comma_expression "iVar10 = iVar11, iVar35 == 0" (assignment_expression "iVar10 = iVar11" identifier = identifier) , (binary_expression "iVar35 == 0" identifier == number_literal)) )) (compound_statement "{\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }" { (if_statement "if (iVar11 == iVar40) goto LAB_0005dc80;" if (parenthesized_expression "(iVar11 == iVar40)" ( (binary_expression "iVar11 == iVar40" identifier == identifier) )) (goto_statement "goto LAB_0005dc80;" goto statement_identifier ;)) (expression_statement "piVar1 = piVar17 + 2;" (assignment_expression "piVar1 = piVar17 + 2" identifier = (binary_expression "piVar17 + 2" identifier + number_literal)) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "iVar35 = *piVar1 + 1;" (assignment_expression "iVar35 = *piVar1 + 1" identifier = (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "piVar22[2] = iVar35;" (assignment_expression "piVar22[2] = iVar35" (subscript_expression "piVar22[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) })) })) (goto_statement "goto LAB_0005d51c;" goto statement_identifier ;) })) (labeled_statement "LAB_0005dc80:\n      iVar11 = 1;" statement_identifier : (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;)) }))) (labeled_statement "LAB_0005d558:\n    *piVar21 = iVar11;" statement_identifier : (expression_statement "*piVar21 = iVar11;" (assignment_expression "*piVar21 = iVar11" (pointer_expression "*piVar21" * identifier) = identifier) ;)) (expression_statement "iVar11 = iVar40 - param_5;" (assignment_expression "iVar11 = iVar40 - param_5" identifier = (binary_expression "iVar40 - param_5" identifier - identifier)) ;) (expression_statement "piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);" (assignment_expression "piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4)" identifier = (cast_expression "(int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (param_5 + 0x3fffffff + iVar11) * 4)" ( (binary_expression "param_4 + (param_5 + 0x3fffffff + iVar11) * 4" identifier + (binary_expression "(param_5 + 0x3fffffff + iVar11) * 4" (parenthesized_expression "(param_5 + 0x3fffffff + iVar11)" ( (binary_expression "param_5 + 0x3fffffff + iVar11" (binary_expression "param_5 + 0x3fffffff" identifier + number_literal) + identifier) )) * number_literal)) )))) ;) (expression_statement "iVar10 = iVar11;" (assignment_expression "iVar10 = iVar11" identifier = identifier) ;) (do_statement "do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);" do (compound_statement "{\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    }" { (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (if_statement "if (*piVar17 != 0) goto LAB_0005d59c;" if (parenthesized_expression "(*piVar17 != 0)" ( (binary_expression "*piVar17 != 0" (pointer_expression "*piVar17" * identifier) != number_literal) )) (goto_statement "goto LAB_0005d59c;" goto statement_identifier ;)) (expression_statement "piVar17 = piVar17 + -1;" (assignment_expression "piVar17 = piVar17 + -1" identifier = (binary_expression "piVar17 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) ;) (expression_statement "puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);" (assignment_expression "puVar28 = (uint *)(param_4 + (param_5 + -1) * 4)" identifier = (cast_expression "(uint *)(param_4 + (param_5 + -1) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (param_5 + -1) * 4)" ( (binary_expression "param_4 + (param_5 + -1) * 4" identifier + (binary_expression "(param_5 + -1) * 4" (parenthesized_expression "(param_5 + -1)" ( (binary_expression "param_5 + -1" identifier + number_literal) )) * number_literal)) )))) ;) (expression_statement "iVar10 = param_5;" (assignment_expression "iVar10 = param_5" identifier = identifier) ;) (do_statement "do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);" do (compound_statement "{\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    }" { (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (if_statement "if (iVar10 < 0) goto LAB_0005d59c;" if (parenthesized_expression "(iVar10 < 0)" ( (binary_expression "iVar10 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0005d59c;" goto statement_identifier ;)) (expression_statement "uVar7 = *puVar28;" (assignment_expression "uVar7 = *puVar28" identifier = (pointer_expression "*puVar28" * identifier)) ;) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" identifier = (binary_expression "puVar28 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 == puVar28[uVar39 + 2])" ( (binary_expression "uVar7 == puVar28[uVar39 + 2]" identifier == (subscript_expression "puVar28[uVar39 + 2]" identifier [ (binary_expression "uVar39 + 2" identifier + number_literal) ])) )) ;) (if_statement "if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }" if (parenthesized_expression "(uVar7 <= puVar28[uVar39 + 2])" ( (binary_expression "uVar7 <= puVar28[uVar39 + 2]" identifier <= (subscript_expression "puVar28[uVar39 + 2]" identifier [ (binary_expression "uVar39 + 2" identifier + number_literal) ])) )) (compound_statement "{\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }" { (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar37,puVar20,param_4,param_5)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar39 = 2;" (assignment_expression "uVar39 = 2" identifier = number_literal) ;) (expression_statement "(*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);" (call_expression "(*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4)" (parenthesized_expression "(*(code *)PTR_memset_0009d2e8)" ( (pointer_expression "*(code *)PTR_memset_0009d2e8" * (cast_expression "(code *)PTR_memset_0009d2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar37 + iVar9,0,iVar11 * 4)" ( (binary_expression "puVar37 + iVar9" identifier + identifier) , number_literal , (binary_expression "iVar11 * 4" identifier * number_literal) ))) ;) (goto_statement "goto LAB_0005d5e4;" goto statement_identifier ;) })) (labeled_statement "LAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }" statement_identifier : (if_statement "if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }" { (expression_statement "iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar37,param_4,puVar20,param_5)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar10 = param_5;" (assignment_expression "iVar10 = param_5" identifier = identifier) ;) (if_statement "if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }" { (labeled_statement "LAB_0005de34:\n        bVar2 = iVar10 < iVar40;" statement_identifier : (expression_statement "bVar2 = iVar10 < iVar40;" (assignment_expression "bVar2 = iVar10 < iVar40" identifier = (binary_expression "iVar10 < iVar40" identifier < identifier)) ;)) (if_statement "if (puVar37 != param_4) goto LAB_0005d5b4;" if (parenthesized_expression "(puVar37 != param_4)" ( (binary_expression "puVar37 != param_4" identifier != identifier) )) (goto_statement "goto LAB_0005d5b4;" goto statement_identifier ;)) (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }" else (compound_statement "{\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }" { (if_statement "if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }" if (parenthesized_expression "(param_5 < iVar40)" ( (binary_expression "param_5 < iVar40" identifier < identifier) )) (compound_statement "{\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }" { (expression_statement "iVar10 = param_5 + 1;" (assignment_expression "iVar10 = param_5 + 1" identifier = (binary_expression "param_5 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = (int *)(param_4 + iVar9);" (assignment_expression "piVar17 = (int *)(param_4 + iVar9)" identifier = (cast_expression "(int *)(param_4 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + iVar9)" ( (binary_expression "param_4 + iVar9" identifier + identifier) )))) ;) (expression_statement "iVar11 = *piVar17;" (assignment_expression "iVar11 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "*(int *)(puVar37 + iVar9) = iVar11 + -1;" (assignment_expression "*(int *)(puVar37 + iVar9) = iVar11 + -1" (pointer_expression "*(int *)(puVar37 + iVar9)" * (cast_expression "(int *)(puVar37 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + iVar9)" ( (binary_expression "puVar37 + iVar9" identifier + identifier) )))) = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (if_statement "if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }" { (if_statement "if (iVar40 <= iVar10) goto LAB_0005d97c;" if (parenthesized_expression "(iVar40 <= iVar10)" ( (binary_expression "iVar40 <= iVar10" identifier <= identifier) )) (goto_statement "goto LAB_0005d97c;" goto statement_identifier ;)) (expression_statement "iVar11 = param_5 + 2;" (assignment_expression "iVar11 = param_5 + 2" identifier = (binary_expression "param_5 + 2" identifier + number_literal)) ;) (expression_statement "iVar35 = *(int *)(param_4 + iVar10 * 4);" (assignment_expression "iVar35 = *(int *)(param_4 + iVar10 * 4)" identifier = (pointer_expression "*(int *)(param_4 + iVar10 * 4)" * (cast_expression "(int *)(param_4 + iVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + iVar10 * 4)" ( (binary_expression "param_4 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) ))))) ;) (expression_statement "*(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;" (assignment_expression "*(int *)(puVar37 + iVar10 * 4) = iVar35 + -1" (pointer_expression "*(int *)(puVar37 + iVar10 * 4)" * (cast_expression "(int *)(puVar37 + iVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + iVar10 * 4)" ( (binary_expression "puVar37 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) )))) = (binary_expression "iVar35 + -1" identifier + number_literal)) ;) (expression_statement "piVar22 = (int *)(puVar37 + iVar9);" (assignment_expression "piVar22 = (int *)(puVar37 + iVar9)" identifier = (cast_expression "(int *)(puVar37 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + iVar9)" ( (binary_expression "puVar37 + iVar9" identifier + identifier) )))) ;) (while_statement "while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }" while (parenthesized_expression "(iVar10 = iVar11, iVar35 == 0)" ( (comma_expression "iVar10 = iVar11, iVar35 == 0" (assignment_expression "iVar10 = iVar11" identifier = identifier) , (binary_expression "iVar35 == 0" identifier == number_literal)) )) (compound_statement "{\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }" { (if_statement "if (iVar40 == iVar11) goto LAB_0005d97c;" if (parenthesized_expression "(iVar40 == iVar11)" ( (binary_expression "iVar40 == iVar11" identifier == identifier) )) (goto_statement "goto LAB_0005d97c;" goto statement_identifier ;)) (expression_statement "iVar35 = piVar17[2];" (assignment_expression "iVar35 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "piVar22[2] = iVar35 + -1;" (assignment_expression "piVar22[2] = iVar35 + -1" (subscript_expression "piVar22[2]" identifier [ number_literal ]) = (binary_expression "iVar35 + -1" identifier + number_literal)) ;) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) })) })) (goto_statement "goto LAB_0005de34;" goto statement_identifier ;) })) (labeled_statement "LAB_0005d97c:\n        uVar39 = 0;" statement_identifier : (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" identifier = number_literal) ;)) }))) (goto_statement "goto LAB_0005d980;" goto statement_identifier ;) }))) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (if_statement "if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }" if (parenthesized_expression "(puVar37 != param_4)" ( (binary_expression "puVar37 != param_4" identifier != identifier) )) (compound_statement "{\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }" { (expression_statement "bVar2 = 0 < iVar40;" (assignment_expression "bVar2 = 0 < iVar40" identifier = (binary_expression "0 < iVar40" number_literal < identifier)) ;) (labeled_statement "LAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }" statement_identifier : (if_statement "if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }" { (expression_statement "(*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);" (call_expression "(*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4)" ( (binary_expression "puVar37 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) , (binary_expression "param_4 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) , (binary_expression "(iVar40 - iVar10) * 4" (parenthesized_expression "(iVar40 - iVar10)" ( (binary_expression "iVar40 - iVar10" identifier - identifier) )) * number_literal) ))) ;) }))) (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005d5e4;" goto statement_identifier ;) })) (if_statement "if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }" if (parenthesized_expression "((puVar36 != puVar46) && (0 < iVar43))" ( (binary_expression "(puVar36 != puVar46) && (0 < iVar43)" (parenthesized_expression "(puVar36 != puVar46)" ( (binary_expression "puVar36 != puVar46" identifier != identifier) )) && (parenthesized_expression "(0 < iVar43)" ( (binary_expression "0 < iVar43" number_literal < identifier) ))) )) (compound_statement "{\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005d600;" goto statement_identifier ;) })) (labeled_statement "LAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }" statement_identifier : (if_statement "if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }" if (parenthesized_expression "(param_5 < iVar40)" ( (binary_expression "param_5 < iVar40" identifier < identifier) )) (compound_statement "{\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }" { (expression_statement "iVar4 = iVar40 - param_5;" (assignment_expression "iVar4 = iVar40 - param_5" identifier = (binary_expression "iVar40 - param_5" identifier - identifier)) ;) (expression_statement "piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);" (assignment_expression "piVar17 = (int *)(puVar37 + iVar40 * 4 + -4)" identifier = (cast_expression "(int *)(puVar37 + iVar40 * 4 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + iVar40 * 4 + -4)" ( (binary_expression "puVar37 + iVar40 * 4 + -4" (binary_expression "puVar37 + iVar40 * 4" identifier + (binary_expression "iVar40 * 4" identifier * number_literal)) + number_literal) )))) ;) (do_statement "do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);" do (compound_statement "{\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      }" { (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (if_statement "if (*piVar17 != 0) goto LAB_0005da5c;" if (parenthesized_expression "(*piVar17 != 0)" ( (binary_expression "*piVar17 != 0" (pointer_expression "*piVar17" * identifier) != number_literal) )) (goto_statement "goto LAB_0005da5c;" goto statement_identifier ;)) (expression_statement "piVar17 = piVar17 + -1;" (assignment_expression "piVar17 = piVar17 + -1" identifier = (binary_expression "piVar17 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) (expression_statement "puVar27 = puVar37 + param_5 * 4;" (assignment_expression "puVar27 = puVar37 + param_5 * 4" identifier = (binary_expression "puVar37 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal))) ;) (expression_statement "puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);" (assignment_expression "puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41)" identifier = (cast_expression "(uint *)(param_4 + (param_5 + -1) * 4 + iVar41)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (param_5 + -1) * 4 + iVar41)" ( (binary_expression "param_4 + (param_5 + -1) * 4 + iVar41" (binary_expression "param_4 + (param_5 + -1) * 4" identifier + (binary_expression "(param_5 + -1) * 4" (parenthesized_expression "(param_5 + -1)" ( (binary_expression "param_5 + -1" identifier + number_literal) )) * number_literal)) + identifier) )))) ;) (expression_statement "iVar4 = param_5;" (assignment_expression "iVar4 = param_5" identifier = identifier) ;) (do_statement "do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);" do (compound_statement "{\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      }" { (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (if_statement "if (iVar4 < 0) goto LAB_0005da5c;" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0005da5c;" goto statement_identifier ;)) (expression_statement "puVar33 = (uint *)(puVar27 + -4);" (assignment_expression "puVar33 = (uint *)(puVar27 + -4)" identifier = (cast_expression "(uint *)(puVar27 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -4)" ( (binary_expression "puVar27 + -4" identifier + number_literal) )))) ;) (expression_statement "uVar39 = *puVar28;" (assignment_expression "uVar39 = *puVar28" identifier = (pointer_expression "*puVar28" * identifier)) ;) (expression_statement "puVar27 = puVar27 + -4;" (assignment_expression "puVar27 = puVar27 + -4" identifier = (binary_expression "puVar27 + -4" identifier + number_literal)) ;) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" identifier = (binary_expression "puVar28 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*puVar33 == uVar39)" ( (binary_expression "*puVar33 == uVar39" (pointer_expression "*puVar33" * identifier) == identifier) )) ;) (if_statement "if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }" if (parenthesized_expression "(uVar39 < *puVar33)" ( (binary_expression "uVar39 < *puVar33" identifier < (pointer_expression "*puVar33" * identifier)) )) (compound_statement "{\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" { (labeled_statement "LAB_0005da5c:\n        iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) (if_statement "if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }" { (labeled_statement "LAB_0005da64:\n          bVar2 = iVar4 < iVar40;" statement_identifier : (expression_statement "bVar2 = iVar4 < iVar40;" (assignment_expression "bVar2 = iVar4 < iVar40" identifier = (binary_expression "iVar4 < iVar40" identifier < identifier)) ;)) (if_statement "if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }" if (parenthesized_expression "((puVar37 != puVar47) && (bVar2))" ( (binary_expression "(puVar37 != puVar47) && (bVar2)" (parenthesized_expression "(puVar37 != puVar47)" ( (binary_expression "puVar37 != puVar47" identifier != identifier) )) && (parenthesized_expression "(bVar2)" ( identifier ))) )) (compound_statement "{\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }" { (labeled_statement "LAB_0005da78:\n            iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) (if_statement "if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n              iVar9 = (iVar40 - iVar4) * 4;\n            }" { (expression_statement "iVar9 = (iVar40 - iVar4) * 4;" (assignment_expression "iVar9 = (iVar40 - iVar4) * 4" identifier = (binary_expression "(iVar40 - iVar4) * 4" (parenthesized_expression "(iVar40 - iVar4)" ( (binary_expression "iVar40 - iVar4" identifier - identifier) )) * number_literal)) ;) })) (expression_statement "(*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);" (call_expression "(*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9)" ( (binary_expression "puVar47 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) , (binary_expression "puVar37 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) , identifier ))) ;) })) }) (else_clause "else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }" else (compound_statement "{\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }" { (expression_statement "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47,puVar37,puVar20,param_5)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar4 = param_5;" (assignment_expression "iVar4 = param_5" identifier = identifier) ;) (if_statement "if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }" { (expression_statement "piVar22 = (int *)(puVar37 + param_5 * 4);" (assignment_expression "piVar22 = (int *)(puVar37 + param_5 * 4)" identifier = (cast_expression "(int *)(puVar37 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + param_5 * 4)" ( (binary_expression "puVar37 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) ;) (expression_statement "piVar17 = (int *)(puVar47 + param_5 * 4);" (assignment_expression "piVar17 = (int *)(puVar47 + param_5 * 4)" identifier = (cast_expression "(int *)(puVar47 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + param_5 * 4)" ( (binary_expression "puVar47 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) ;) (do_statement "do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);" do (compound_statement "{\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            }" { (expression_statement "iVar9 = *piVar22;" (assignment_expression "iVar9 = *piVar22" identifier = (pointer_expression "*piVar22" * identifier)) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*piVar17 = iVar9 + -1;" (assignment_expression "*piVar17 = iVar9 + -1" (pointer_expression "*piVar17" * identifier) = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (if_statement "if (iVar9 != 0) goto LAB_0005da64;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0005da64;" goto statement_identifier ;)) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar40 != iVar4)" ( (binary_expression "iVar40 != iVar4" identifier != identifier) )) ;) (expression_statement "*(undefined4 *)(puVar47 + iVar41) = 0;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = 0" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" * (cast_expression "(undefined4 *)(puVar47 + iVar41)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + iVar41)" ( (binary_expression "puVar47 + iVar41" identifier + identifier) )))) = number_literal) ;) (goto_statement "goto LAB_0005d68c;" goto statement_identifier ;) })) (expression_statement "bVar2 = param_5 < iVar40;" (assignment_expression "bVar2 = param_5 < iVar40" identifier = (binary_expression "param_5 < iVar40" identifier < identifier)) ;) (if_statement "if (puVar37 != puVar47) goto LAB_0005da78;" if (parenthesized_expression "(puVar37 != puVar47)" ( (binary_expression "puVar37 != puVar47" identifier != identifier) )) (goto_statement "goto LAB_0005da78;" goto statement_identifier ;)) }))) (expression_statement "*(undefined4 *)(puVar47 + iVar41) = 0;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = 0" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" * (cast_expression "(undefined4 *)(puVar47 + iVar41)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + iVar41)" ( (binary_expression "puVar47 + iVar41" identifier + identifier) )))) = number_literal) ;) }) (else_clause "else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }" else (compound_statement "{\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }" { (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47,puVar20,puVar37,param_5)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_64 = local_64 ^ 1;" (assignment_expression "local_64 = local_64 ^ 1" identifier = (binary_expression "local_64 ^ 1" identifier ^ number_literal)) ;) (if_statement "if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }" if (parenthesized_expression "(iVar43 != param_5)" ( (binary_expression "iVar43 != param_5" identifier != identifier) )) (compound_statement "{\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }" { (expression_statement "(*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);" (call_expression "(*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4)" (parenthesized_expression "(*(code *)PTR_memset_0009d2e8)" ( (pointer_expression "*(code *)PTR_memset_0009d2e8" * (cast_expression "(code *)PTR_memset_0009d2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4)" ( (binary_expression "puVar47 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) , number_literal , (binary_expression "(iVar43 - param_5) * 4" (parenthesized_expression "(iVar43 - param_5)" ( (binary_expression "iVar43 - param_5" identifier - identifier) )) * number_literal) ))) ;) })) }))) }) (else_clause "else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }" else (compound_statement "{\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }" { (expression_statement "puVar27 = puVar37 + iVar4 + -4;" (assignment_expression "puVar27 = puVar37 + iVar4 + -4" identifier = (binary_expression "puVar37 + iVar4 + -4" (binary_expression "puVar37 + iVar4" identifier + identifier) + number_literal)) ;) (expression_statement "puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);" (assignment_expression "puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41)" identifier = (cast_expression "(uint *)(param_4 + iVar4 + -8 + iVar41)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + iVar4 + -8 + iVar41)" ( (binary_expression "param_4 + iVar4 + -8 + iVar41" (binary_expression "param_4 + iVar4 + -8" (binary_expression "param_4 + iVar4" identifier + identifier) + number_literal) + identifier) )))) ;) (expression_statement "iVar4 = iVar40;" (assignment_expression "iVar4 = iVar40" identifier = identifier) ;) (do_statement "do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);" do (compound_statement "{\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      }" { (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (if_statement "if (iVar4 < 0) goto LAB_0005dccc;" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0005dccc;" goto statement_identifier ;)) (expression_statement "puVar33 = (uint *)(puVar27 + -4);" (assignment_expression "puVar33 = (uint *)(puVar27 + -4)" identifier = (cast_expression "(uint *)(puVar27 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -4)" ( (binary_expression "puVar27 + -4" identifier + number_literal) )))) ;) (expression_statement "uVar39 = *puVar28;" (assignment_expression "uVar39 = *puVar28" identifier = (pointer_expression "*puVar28" * identifier)) ;) (expression_statement "puVar27 = puVar27 + -4;" (assignment_expression "puVar27 = puVar27 + -4" identifier = (binary_expression "puVar27 + -4" identifier + number_literal)) ;) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" identifier = (binary_expression "puVar28 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*puVar33 == uVar39)" ( (binary_expression "*puVar33 == uVar39" (pointer_expression "*puVar33" * identifier) == identifier) )) ;) (if_statement "if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" if (parenthesized_expression "(uVar39 < *puVar33)" ( (binary_expression "uVar39 < *puVar33" identifier < (pointer_expression "*puVar33" * identifier)) )) (compound_statement "{\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" { (labeled_statement "LAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);" statement_identifier : (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47,puVar37,puVar20,iVar40)" ( identifier , identifier , identifier , identifier ))) ;)) (expression_statement "*(undefined4 *)(puVar47 + iVar41) = 0;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = 0" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" * (cast_expression "(undefined4 *)(puVar47 + iVar41)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + iVar41)" ( (binary_expression "puVar47 + iVar41" identifier + identifier) )))) = number_literal) ;) }) (else_clause "else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" else (compound_statement "{\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" { (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47,puVar20,puVar37,iVar40)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_64 = local_64 ^ 1;" (assignment_expression "local_64 = local_64 ^ 1" identifier = (binary_expression "local_64 ^ 1" identifier ^ number_literal)) ;) (expression_statement "*(undefined4 *)(puVar47 + iVar41) = 0;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = 0" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" * (cast_expression "(undefined4 *)(puVar47 + iVar41)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + iVar41)" ( (binary_expression "puVar47 + iVar41" identifier + identifier) )))) = number_literal) ;) }))) })))) }))) (labeled_statement "LAB_0005d68c:\n  iVar9 = *piVar21;" statement_identifier : (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;)) (expression_statement "iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40);" (assignment_expression "iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,puVar36,param_4,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "*(int *)(puVar6 + iVar41) = iVar9 + iVar4;" (assignment_expression "*(int *)(puVar6 + iVar41) = iVar9 + iVar4" (pointer_expression "*(int *)(puVar6 + iVar41)" * (cast_expression "(int *)(puVar6 + iVar41)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + iVar41)" ( (binary_expression "puVar6 + iVar41" identifier + identifier) )))) = (binary_expression "iVar9 + iVar4" identifier + identifier)) ;) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" ( (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" * (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43)" ( identifier , (binary_expression "&stack0xffffff68 + uVar5 * -3" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar5 * -3" identifier * number_literal)) , identifier , identifier ))) ;) (expression_statement "iVar9 = param_6 + iVar38 + 4;" (assignment_expression "iVar9 = param_6 + iVar38 + 4" identifier = (binary_expression "param_6 + iVar38 + 4" (binary_expression "param_6 + iVar38" identifier + identifier) + number_literal)) ;) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" ( (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" * (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43)" ( identifier , (binary_expression "&stack0xffffff68 + uVar5 * -4" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar5 * -4" identifier * number_literal)) , identifier , identifier ))) ;) (expression_statement "iVar10 = param_6 + iVar40 * 0x10 + 8;" (assignment_expression "iVar10 = param_6 + iVar40 * 0x10 + 8" identifier = (binary_expression "param_6 + iVar40 * 0x10 + 8" (binary_expression "param_6 + iVar40 * 0x10" identifier + (binary_expression "iVar40 * 0x10" identifier * number_literal)) + number_literal)) ;) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" ( (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" * (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10,puVar42,puVar6,iVar43)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = param_6 + iVar40 * 0x18 + 0xc;" (assignment_expression "iVar4 = param_6 + iVar40 * 0x18 + 0xc" identifier = (binary_expression "param_6 + iVar40 * 0x18 + 0xc" (binary_expression "param_6 + iVar40 * 0x18" identifier + (binary_expression "iVar40 * 0x18" identifier * number_literal)) + number_literal)) ;) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" ( (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" * (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,puVar29,puVar37,iVar40)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (*(int *)(puVar29 + iVar41) == 1) {\n    iVar11 = param_6 + iVar40 * 0x1c + 0xc;\n    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);\n  }\n  else if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }" if (parenthesized_expression "(*(int *)(puVar29 + iVar41) == 1)" ( (binary_expression "*(int *)(puVar29 + iVar41) == 1" (pointer_expression "*(int *)(puVar29 + iVar41)" * (cast_expression "(int *)(puVar29 + iVar41)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + iVar41)" ( (binary_expression "puVar29 + iVar41" identifier + identifier) )))) == number_literal) )) (compound_statement "{\n    iVar11 = param_6 + iVar40 * 0x1c + 0xc;\n    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);\n  }" { (expression_statement "iVar11 = param_6 + iVar40 * 0x1c + 0xc;" (assignment_expression "iVar11 = param_6 + iVar40 * 0x1c + 0xc" identifier = (binary_expression "param_6 + iVar40 * 0x1c + 0xc" (binary_expression "param_6 + iVar40 * 0x1c" identifier + (binary_expression "iVar40 * 0x1c" identifier * number_literal)) + number_literal)) ;) (expression_statement "uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);" (assignment_expression "uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar11,iVar11,puVar37,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }" else (if_statement "if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }" if (parenthesized_expression "(*(int *)(puVar29 + iVar41) == 2)" ( (binary_expression "*(int *)(puVar29 + iVar41) == 2" (pointer_expression "*(int *)(puVar29 + iVar41)" * (cast_expression "(int *)(puVar29 + iVar41)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + iVar41)" ( (binary_expression "puVar29 + iVar41" identifier + identifier) )))) == number_literal) )) (compound_statement "{\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }" { (expression_statement "uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;" (assignment_expression "uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)" identifier = (call_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)" (parenthesized_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)" ( (pointer_expression "*(code *)PTR___gmpn_addmul_1_0009d0d0" * (cast_expression "(code *)PTR___gmpn_addmul_1_0009d0d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)" ( (binary_expression "param_6 + iVar40 * 0x1c + 0xc" (binary_expression "param_6 + iVar40 * 0x1c" identifier + (binary_expression "iVar40 * 0x1c" identifier * number_literal)) + number_literal) , identifier , identifier , number_literal )))) ;) }) (else_clause "else {\n    uVar18 = 0;\n  }" else (compound_statement "{\n    uVar18 = 0;\n  }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }))))) (expression_statement "puVar50 = PTR___gmpn_mul_n_0009d364;" (assignment_expression "puVar50 = PTR___gmpn_mul_n_0009d364" identifier = identifier) ;) (expression_statement "*(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18;" (assignment_expression "*(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18" (pointer_expression "*(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc)" * (cast_expression "(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + iVar40 * 0x20 + 0xc)" ( (binary_expression "param_6 + iVar40 * 0x20 + 0xc" (binary_expression "param_6 + iVar40 * 0x20" identifier + (binary_expression "iVar40 * 0x20" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "(*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40);" (call_expression "(*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40)" (parenthesized_expression "(*(code *)puVar50)" ( (pointer_expression "*(code *)puVar50" * (cast_expression "(code *)puVar50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + iVar38,puVar26,puVar36,iVar40)" ( (binary_expression "param_1 + iVar38" identifier + identifier) , identifier , identifier , identifier ))) ;) (expression_statement "iVar11 = *(int *)(puVar26 + iVar41);" (assignment_expression "iVar11 = *(int *)(puVar26 + iVar41)" identifier = (pointer_expression "*(int *)(puVar26 + iVar41)" * (cast_expression "(int *)(puVar26 + iVar41)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + iVar41)" ( (binary_expression "puVar26 + iVar41" identifier + identifier) ))))) ;) (if_statement "if (iVar11 == 1) {\n    iVar11 = *piVar21;\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);\n    iVar11 = iVar11 + iVar35;\n    iVar35 = *piVar21;\n  }\n  else {\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }" if (parenthesized_expression "(iVar11 == 1)" ( (binary_expression "iVar11 == 1" identifier == number_literal) )) (compound_statement "{\n    iVar11 = *piVar21;\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);\n    iVar11 = iVar11 + iVar35;\n    iVar35 = *piVar21;\n  }" { (expression_statement "iVar11 = *piVar21;" (assignment_expression "iVar11 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);" (assignment_expression "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40)" ( (binary_expression "param_1 + iVar13" identifier + identifier) , (binary_expression "param_1 + iVar13" identifier + identifier) , identifier , identifier )))) ;) (expression_statement "iVar11 = iVar11 + iVar35;" (assignment_expression "iVar11 = iVar11 + iVar35" identifier = (binary_expression "iVar11 + iVar35" identifier + identifier)) ;) (expression_statement "iVar35 = *piVar21;" (assignment_expression "iVar35 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) }) (else_clause "else {\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }" else (compound_statement "{\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }" { (expression_statement "iVar35 = *piVar21;" (assignment_expression "iVar35 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (if_statement "if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }" if (parenthesized_expression "(iVar11 == 2)" ( (binary_expression "iVar11 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }" { (expression_statement "iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);" (assignment_expression "iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2)" identifier = (call_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2)" (parenthesized_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)" ( (pointer_expression "*(code *)PTR___gmpn_addmul_1_0009d0d0" * (cast_expression "(code *)PTR___gmpn_addmul_1_0009d0d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + iVar13,puVar36,iVar40,2)" ( (binary_expression "param_1 + iVar13" identifier + identifier) , identifier , identifier , number_literal )))) ;) (expression_statement "iVar11 = iVar35 * 2;" (assignment_expression "iVar11 = iVar35 * 2" identifier = (binary_expression "iVar35 * 2" identifier * number_literal)) ;) (expression_statement "iVar35 = *piVar21;" (assignment_expression "iVar35 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "iVar11 = iVar11 + iVar12;" (assignment_expression "iVar11 = iVar11 + iVar12" identifier = (binary_expression "iVar11 + iVar12" identifier + identifier)) ;) }) (else_clause "else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }" else (compound_statement "{\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }" { (expression_statement "iVar12 = iVar11 * iVar35;" (assignment_expression "iVar12 = iVar11 * iVar35" identifier = (binary_expression "iVar11 * iVar35" identifier * identifier)) ;) (if_statement "if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }" { (expression_statement "iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11)" identifier = (call_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11)" (parenthesized_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)" ( (pointer_expression "*(code *)PTR___gmpn_addmul_1_0009d0d0" * (cast_expression "(code *)PTR___gmpn_addmul_1_0009d0d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + iVar13,puVar36,iVar40,iVar11)" ( (binary_expression "param_1 + iVar13" identifier + identifier) , identifier , identifier , identifier )))) ;) (expression_statement "iVar35 = *piVar21;" (assignment_expression "iVar35 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "iVar11 = iVar12 + iVar11;" (assignment_expression "iVar11 = iVar12 + iVar11" identifier = (binary_expression "iVar12 + iVar11" identifier + identifier)) ;) })) }))) }))) (if_statement "if (iVar35 != 0) {\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);\n    iVar11 = iVar11 + iVar35;\n  }" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);\n    iVar11 = iVar11 + iVar35;\n  }" { (expression_statement "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);" (assignment_expression "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40)" ( (binary_expression "param_1 + iVar13" identifier + identifier) , (binary_expression "param_1 + iVar13" identifier + identifier) , identifier , identifier )))) ;) (expression_statement "iVar11 = iVar11 + iVar35;" (assignment_expression "iVar11 = iVar11 + iVar35" identifier = (binary_expression "iVar11 + iVar35" identifier + identifier)) ;) })) (expression_statement "puVar50 = PTR___gmpn_mul_n_0009d364;" (assignment_expression "puVar50 = PTR___gmpn_mul_n_0009d364" identifier = identifier) ;) (expression_statement "piVar21 = (int *)(param_1 + iVar38 + iVar38);" (assignment_expression "piVar21 = (int *)(param_1 + iVar38 + iVar38)" identifier = (cast_expression "(int *)(param_1 + iVar38 + iVar38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + iVar38 + iVar38)" ( (binary_expression "param_1 + iVar38 + iVar38" (binary_expression "param_1 + iVar38" identifier + identifier) + identifier) )))) ;) (expression_statement "*piVar21 = iVar11;" (assignment_expression "*piVar21 = iVar11" (pointer_expression "*piVar21" * identifier) = identifier) ;) (expression_statement "(*(code *)puVar50)(param_1,param_2,param_4,iVar40);" (call_expression "(*(code *)puVar50)(param_1,param_2,param_4,iVar40)" (parenthesized_expression "(*(code *)puVar50)" ( (pointer_expression "*(code *)puVar50" * (cast_expression "(code *)puVar50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,param_4,iVar40)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (param_5 < param_3) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }" if (parenthesized_expression "(param_5 < param_3)" ( (binary_expression "param_5 < param_3" identifier < identifier) )) (compound_statement "{\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);\n  }" { (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "(*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);" (call_expression "(*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_0009d2b4)" ( (pointer_expression "*(code *)PTR___gmpn_mul_0009d2b4" * (cast_expression "(code *)PTR___gmpn_mul_0009d2b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar21 + iVar40 * 2,iVar44,param_3,puVar20)" ( (binary_expression "piVar21 + iVar40 * 2" identifier + (binary_expression "iVar40 * 2" identifier * number_literal)) , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }" else (compound_statement "{\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }" { (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "(*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);" (call_expression "(*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_0009d2b4)" ( (pointer_expression "*(code *)PTR___gmpn_mul_0009d2b4" * (cast_expression "(code *)PTR___gmpn_mul_0009d2b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar21 + iVar40 * 2,puVar20,param_5,iVar44)" ( (binary_expression "piVar21 + iVar40 * 2" identifier + (binary_expression "iVar40 * 2" identifier * number_literal)) , identifier , identifier , identifier ))) ;) }))) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "iVar13 = param_6 + iVar40 * 0x20 + 0x10;" (assignment_expression "iVar13 = param_6 + iVar40 * 0x20 + 0x10" identifier = (binary_expression "param_6 + iVar40 * 0x20 + 0x10" (binary_expression "param_6 + iVar40 * 0x20" identifier + (binary_expression "iVar40 * 0x20" identifier * number_literal)) + number_literal)) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "param_3 + param_5" identifier + identifier)) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "iVar35 = iVar40;" (assignment_expression "iVar35 = iVar40" identifier = identifier) ;) (expression_statement "iVar12 = iVar9;" (assignment_expression "iVar12 = iVar9" identifier = identifier) ;) (expression_statement "(*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();" (call_expression "(*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)()" (parenthesized_expression "(*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)" ( (pointer_expression "*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8" * (cast_expression "(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar19 == *(int *)puVar48) {\n    return;\n  }" if (parenthesized_expression "(iVar19 == *(int *)puVar48)" ( (binary_expression "iVar19 == *(int *)puVar48" identifier == (pointer_expression "*(int *)puVar48" * (cast_expression "(int *)puVar48" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "uVar18 = 0x5e16c;" (assignment_expression "uVar18 = 0x5e16c" identifier = number_literal) ;) (expression_statement "puVar48 = PTR___stack_chk_fail_0009d4d0;" (assignment_expression "puVar48 = PTR___stack_chk_fail_0009d4d0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0009d4d0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0009d4d0" * (cast_expression "(code *)PTR___stack_chk_fail_0009d4d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar50 = puVar48 + 0x46ed0;" (assignment_expression "puVar50 = puVar48 + 0x46ed0" identifier = (binary_expression "puVar48 + 0x46ed0" identifier + number_literal)) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x20)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x20" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x14)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x14" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64;" (assignment_expression "*(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64" (pointer_expression "*(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "local_64 + 2" identifier + number_literal)) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -8)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -8" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x1c" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "param_3 + param_5" identifier + identifier)) ;) (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21;" (assignment_expression "*(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21" (pointer_expression "*(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10)" * (cast_expression "(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x10)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x10" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50;" (assignment_expression "*(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50" (pointer_expression "*(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0xc)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0xc" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18;" (assignment_expression "*(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18" (pointer_expression "*(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9)" * (cast_expression "(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_c4 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)&uStack_c4 + iVar3 + uVar5 * -9" (binary_expression "(int)&uStack_c4 + iVar3" (cast_expression "(int)&uStack_c4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_c4" & identifier)) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0;" (assignment_expression "*(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0" (pointer_expression "*(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9)" * (cast_expression "(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "uVar39 = (local_64 + 2) / 3;" (assignment_expression "uVar39 = (local_64 + 2) / 3" identifier = (binary_expression "(local_64 + 2) / 3" (parenthesized_expression "(local_64 + 2)" ( (binary_expression "local_64 + 2" identifier + number_literal) )) / number_literal)) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -4)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -4" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x18)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x18" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "iVar10 = uVar39 + 1;" (assignment_expression "iVar10 = uVar39 + 1" identifier = (binary_expression "uVar39 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "uVar7 = iVar19 + uVar39 * -2;" (assignment_expression "uVar7 = iVar19 + uVar39 * -2" identifier = (binary_expression "iVar19 + uVar39 * -2" identifier + (binary_expression "uVar39 * -2" identifier * number_literal))) ;) (expression_statement "iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc);" (assignment_expression "iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar19 = iVar10 * 8;" (assignment_expression "iVar19 = iVar10 * 8" identifier = (binary_expression "iVar10 * 8" identifier * number_literal)) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x2c" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar10 * 0x10" identifier * number_literal)) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar4 + uVar39 * -2" identifier + (binary_expression "uVar39 * -2" identifier * number_literal))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar9 + iVar10 * 0xc" identifier + (binary_expression "iVar10 * 0xc" identifier * number_literal))) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x34" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar19 + -8" identifier + number_literal)) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar9 + iVar10 * 0x10" identifier + (binary_expression "iVar10 * 0x10" identifier * number_literal))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "param_1 + iVar19" identifier + identifier)) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar10 * 4" identifier * number_literal)) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar9 + iVar19" identifier + identifier)) ;) (expression_statement "iVar4 = param_1 + iVar10 * 4;" (assignment_expression "iVar4 = param_1 + iVar10 * 4" identifier = (binary_expression "param_1 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar35 + iVar19 + -8" (binary_expression "iVar35 + iVar19" identifier + identifier) + number_literal)) ;) (if_statement "if (uVar7 == 0) {\n    uVar8 = 0;\nLAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\nLAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);\n    piVar21 = (int *)(iVar11 + iVar35);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar11 = iVar9 + iVar35;\n    *piVar21 = iVar19;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);\n    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n    *puVar45 = 0;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar8 = 0;\nLAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\nLAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);\n    piVar21 = (int *)(iVar11 + iVar35);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar11 = iVar9 + iVar35;\n    *piVar21 = iVar19;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);\n    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n    *puVar45 = 0;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n  }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);" statement_identifier : (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) ))))) ;)) (labeled_statement "LAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }" statement_identifier : (if_statement "if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }" if (parenthesized_expression "((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8))" ( (binary_expression "(iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)" (parenthesized_expression "(iVar9 == iVar19)" ( (binary_expression "iVar9 == iVar19" identifier == identifier) )) || (parenthesized_expression "((int)uVar39 <= (int)uVar8)" ( (binary_expression "(int)uVar39 <= (int)uVar8" (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }" { (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" identifier = (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }" else (compound_statement "{\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }" { (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) ))))) ;) (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" identifier = (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + number_literal)) ;) (expression_statement "puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);" (assignment_expression "puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);" (assignment_expression "puVar45 = (undefined4 *)(iVar9 + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(iVar9 + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + uVar8 * 4)" ( (binary_expression "iVar9 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (do_statement "do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));" do (compound_statement "{\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      }" { (expression_statement "uVar18 = *puVar23;" (assignment_expression "uVar18 = *puVar23" identifier = (pointer_expression "*puVar23" * identifier)) ;) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) (expression_statement "*puVar45 = uVar18;" (assignment_expression "*puVar45 = uVar18" (pointer_expression "*puVar45" * identifier) = identifier) ;) (expression_statement "puVar45 = puVar45 + 1;" (assignment_expression "puVar45 = puVar45 + 1" identifier = (binary_expression "puVar45 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar23 != (undefined4 *)(iVar19 + iVar35))" ( (binary_expression "puVar23 != (undefined4 *)(iVar19 + iVar35)" identifier != (cast_expression "(undefined4 *)(iVar19 + iVar35)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar35)" ( (binary_expression "iVar19 + iVar35" identifier + identifier) )))) )) ;) })))) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;" (assignment_expression "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35" identifier = (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) + identifier)) ;) (expression_statement "iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);" (assignment_expression "iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39)" identifier = (call_expression "(**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39)" (parenthesized_expression "(**(code **)(puVar50 + -0x7d0c))" ( (pointer_expression "**(code **)(puVar50 + -0x7d0c)" * (pointer_expression "*(code **)(puVar50 + -0x7d0c)" * (cast_expression "(code **)(puVar50 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar50 + -0x7d0c)" ( (binary_expression "puVar50 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(iVar11,iVar9,iVar13,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "piVar21 = (int *)(iVar11 + iVar35);" (assignment_expression "piVar21 = (int *)(iVar11 + iVar35)" identifier = (cast_expression "(int *)(iVar11 + iVar35)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar35)" ( (binary_expression "iVar11 + iVar35" identifier + identifier) )))) ;) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar11 = iVar9 + iVar35;" (assignment_expression "iVar11 = iVar9 + iVar35" identifier = (binary_expression "iVar9 + iVar35" identifier + identifier)) ;) (expression_statement "*piVar21 = iVar19;" (assignment_expression "*piVar21 = iVar19" (pointer_expression "*piVar21" * identifier) = identifier) ;) (expression_statement "puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);" (assignment_expression "puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35)" identifier = (cast_expression "(uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35" (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) + (binary_expression "(uVar39 - 1) * 4" (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) )) * number_literal)) + identifier) )))) ;) (expression_statement "uVar8 = uVar39;" (assignment_expression "uVar8 = uVar39" identifier = identifier) ;) (do_statement "do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);" do (compound_statement "{\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    }" { (expression_statement "uVar8 = uVar8 - 1;" (assignment_expression "uVar8 = uVar8 - 1" identifier = (binary_expression "uVar8 - 1" identifier - number_literal)) ;) (if_statement "if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }" if (parenthesized_expression "(uVar8 == 0xffffffff)" ( (binary_expression "uVar8 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }" { (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar19 + iVar35" identifier + identifier)) ;) (goto_statement "goto LAB_0005e31c;" goto statement_identifier ;) })) (expression_statement "uVar24 = *(uint *)(iVar11 + -4);" (assignment_expression "uVar24 = *(uint *)(iVar11 + -4)" identifier = (pointer_expression "*(uint *)(iVar11 + -4)" * (cast_expression "(uint *)(iVar11 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + -4)" ( (binary_expression "iVar11 + -4" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *puVar28;" (assignment_expression "uVar30 = *puVar28" identifier = (pointer_expression "*puVar28" * identifier)) ;) (expression_statement "iVar11 = iVar11 + -4;" (assignment_expression "iVar11 = iVar11 + -4" identifier = (binary_expression "iVar11 + -4" identifier + number_literal)) ;) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" identifier = (binary_expression "puVar28 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar24 == uVar30)" ( (binary_expression "uVar24 == uVar30" identifier == identifier) )) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier)) ;) (if_statement "if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }" if (parenthesized_expression "(uVar30 < uVar24)" ( (binary_expression "uVar30 < uVar24" identifier < identifier) )) (compound_statement "{\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }" { (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0005e31c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);" (call_expression "(**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39)" (parenthesized_expression "(**(code **)(iVar12 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar12 + -0x7b2c)" * (pointer_expression "*(code **)(iVar12 + -0x7b2c)" * (cast_expression "(code **)(iVar12 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + -0x7b2c)" ( (binary_expression "iVar12 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39)" ( (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier , identifier ))) ;) (expression_statement "puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" identifier = (pointer_expression "*(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*puVar45 = 0;" (assignment_expression "*puVar45 = 0" (pointer_expression "*puVar45" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }" else (compound_statement "{\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }" { (expression_statement "iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);" (assignment_expression "iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9)" identifier = (call_expression "(**(code **)(puVar48 + 0x3f1c4))(iVar9)" (parenthesized_expression "(**(code **)(puVar48 + 0x3f1c4))" ( (pointer_expression "**(code **)(puVar48 + 0x3f1c4)" * (pointer_expression "*(code **)(puVar48 + 0x3f1c4)" * (cast_expression "(code **)(puVar48 + 0x3f1c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar48 + 0x3f1c4)" ( (binary_expression "puVar48 + 0x3f1c4" identifier + number_literal) ))))) )) (argument_list "(iVar9)" ( identifier )))) ;) (expression_statement "puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar8 = uVar7;" (assignment_expression "uVar8 = uVar7" identifier = identifier) ;) (if_statement "if (iVar19 == 0) goto LAB_0005e258;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005e258;" goto statement_identifier ;)) (if_statement "if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }" if (parenthesized_expression "((int)uVar7 < (int)uVar39)" ( (binary_expression "(int)uVar7 < (int)uVar39" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }" { (expression_statement "uVar24 = uVar7 + 1;" (assignment_expression "uVar24 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);" (assignment_expression "piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4)" identifier = (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) ;) (expression_statement "piVar21 = (int *)(iVar9 + uVar7 * 4);" (assignment_expression "piVar21 = (int *)(iVar9 + uVar7 * 4)" identifier = (cast_expression "(int *)(iVar9 + uVar7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + uVar7 * 4)" ( (binary_expression "iVar9 + uVar7 * 4" identifier + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar19 = *piVar17;" (assignment_expression "iVar19 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "*piVar21 = iVar19 + 1;" (assignment_expression "*piVar21 = iVar19 + 1" (pointer_expression "*piVar21" * identifier) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar24;" (assignment_expression "uVar8 = uVar24" identifier = identifier) ;) (if_statement "if (iVar19 + 1 != 0) goto LAB_0005e258;" if (parenthesized_expression "(iVar19 + 1 != 0)" ( (binary_expression "iVar19 + 1 != 0" (binary_expression "iVar19 + 1" identifier + number_literal) != number_literal) )) (goto_statement "goto LAB_0005e258;" goto statement_identifier ;)) (if_statement "if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;" if (parenthesized_expression "((int)uVar39 <= (int)uVar24)" ( (binary_expression "(int)uVar39 <= (int)uVar24" (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0005eac8;" goto statement_identifier ;)) (expression_statement "uVar8 = uVar7 + 2;" (assignment_expression "uVar8 = uVar7 + 2" identifier = (binary_expression "uVar7 + 2" identifier + number_literal)) ;) (expression_statement "iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;" (assignment_expression "iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1" identifier = (binary_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1" (pointer_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4)" * (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) + (binary_expression "uVar24 * 4" identifier * number_literal)) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar9 + uVar24 * 4) = iVar19;" (assignment_expression "*(int *)(iVar9 + uVar24 * 4) = iVar19" (pointer_expression "*(int *)(iVar9 + uVar24 * 4)" * (cast_expression "(int *)(iVar9 + uVar24 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + uVar24 * 4)" ( (binary_expression "iVar9 + uVar24 * 4" identifier + (binary_expression "uVar24 * 4" identifier * number_literal)) )))) = identifier) ;) (if_statement "if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }" { (do_statement "do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);" do (compound_statement "{\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        }" { (if_statement "if (uVar39 == uVar8) goto LAB_0005eac8;" if (parenthesized_expression "(uVar39 == uVar8)" ( (binary_expression "uVar39 == uVar8" identifier == identifier) )) (goto_statement "goto LAB_0005eac8;" goto statement_identifier ;)) (expression_statement "iVar19 = piVar17[2];" (assignment_expression "iVar19 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "piVar21[2] = iVar19 + 1;" (assignment_expression "piVar21[2] = iVar19 + 1" (subscript_expression "piVar21[2]" identifier [ number_literal ]) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "piVar21 = piVar21 + 1;" (assignment_expression "piVar21 = piVar21 + 1" identifier = (binary_expression "piVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar19 + 1 == 0)" ( (binary_expression "iVar19 + 1 == 0" (binary_expression "iVar19 + 1" identifier + number_literal) == number_literal) )) ;) (goto_statement "goto LAB_0005e258;" goto statement_identifier ;) })) (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) ))))) ;) (goto_statement "goto LAB_0005e25c;" goto statement_identifier ;) })) (labeled_statement "LAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" statement_identifier : (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;)) (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" identifier = (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + number_literal)) ;) (expression_statement "piVar21 = (int *)(iVar19 + iVar35);" (assignment_expression "piVar21 = (int *)(iVar19 + iVar35)" identifier = (cast_expression "(int *)(iVar19 + iVar35)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar35)" ( (binary_expression "iVar19 + iVar35" identifier + identifier) )))) ;) (expression_statement "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;" (assignment_expression "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35" identifier = (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) + identifier)) ;) (expression_statement "iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);" (assignment_expression "iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39)" identifier = (call_expression "(**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39)" (parenthesized_expression "(**(code **)(puVar50 + -0x7d0c))" ( (pointer_expression "**(code **)(puVar50 + -0x7d0c)" * (pointer_expression "*(code **)(puVar50 + -0x7d0c)" * (cast_expression "(code **)(puVar50 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar50 + -0x7d0c)" ( (binary_expression "puVar50 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(iVar19,iVar9,iVar13,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*piVar21 = iVar19 + 1;" (assignment_expression "*piVar21 = iVar19 + 1" (pointer_expression "*piVar21" * identifier) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar11 + iVar35" identifier + identifier)) ;) (labeled_statement "LAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);" statement_identifier : (expression_statement "iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);" (assignment_expression "iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39)" identifier = (call_expression "(**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39)" (parenthesized_expression "(**(code **)(iVar12 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar12 + -0x7b2c)" * (pointer_expression "*(code **)(iVar12 + -0x7b2c)" * (cast_expression "(code **)(iVar12 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + -0x7b2c)" ( (binary_expression "iVar12 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39)" ( (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier , identifier )))) ;)) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);" (assignment_expression "iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" identifier = (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "**(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;" (assignment_expression "**(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19" (pointer_expression "**(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (pointer_expression "*(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) = (binary_expression "iVar11 - iVar19" identifier - identifier)) ;) }))) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar8 = (**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7);" (assignment_expression "uVar8 = (**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7)" identifier = (call_expression "(**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7)" (parenthesized_expression "(**(code **)(iVar12 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar12 + -0x7d0c)" * (pointer_expression "*(code **)(iVar12 + -0x7d0c)" * (cast_expression "(code **)(iVar12 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + -0x7d0c)" ( (binary_expression "iVar12 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7)" ( identifier , (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar39 != uVar7) {\n    iVar12 = uVar39 - uVar7;\n    puVar33 = (uint *)(iVar11 + uVar7 * 4);\n    puVar28 = (uint *)(iVar4 + uVar7 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }\n  }" if (parenthesized_expression "(uVar39 != uVar7)" ( (binary_expression "uVar39 != uVar7" identifier != identifier) )) (compound_statement "{\n    iVar12 = uVar39 - uVar7;\n    puVar33 = (uint *)(iVar11 + uVar7 * 4);\n    puVar28 = (uint *)(iVar4 + uVar7 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }\n  }" { (expression_statement "iVar12 = uVar39 - uVar7;" (assignment_expression "iVar12 = uVar39 - uVar7" identifier = (binary_expression "uVar39 - uVar7" identifier - identifier)) ;) (expression_statement "puVar33 = (uint *)(iVar11 + uVar7 * 4);" (assignment_expression "puVar33 = (uint *)(iVar11 + uVar7 * 4)" identifier = (cast_expression "(uint *)(iVar11 + uVar7 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + uVar7 * 4)" ( (binary_expression "iVar11 + uVar7 * 4" identifier + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) ;) (expression_statement "puVar28 = (uint *)(iVar4 + uVar7 * 4);" (assignment_expression "puVar28 = (uint *)(iVar4 + uVar7 * 4)" identifier = (cast_expression "(uint *)(iVar4 + uVar7 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + uVar7 * 4)" ( (binary_expression "iVar4 + uVar7 * 4" identifier + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) ;) (expression_statement "uVar24 = *puVar33;" (assignment_expression "uVar24 = *puVar33" identifier = (pointer_expression "*puVar33" * identifier)) ;) (expression_statement "*puVar28 = uVar8 + uVar24;" (assignment_expression "*puVar28 = uVar8 + uVar24" (pointer_expression "*puVar28" * identifier) = (binary_expression "uVar8 + uVar24" identifier + identifier)) ;) (if_statement "if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }" if (parenthesized_expression "(uVar8 + uVar24 < uVar8)" ( (binary_expression "uVar8 + uVar24 < uVar8" (binary_expression "uVar8 + uVar24" identifier + identifier) < identifier) )) (compound_statement "{\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (if_statement "if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }" if (parenthesized_expression "(1 < iVar12)" ( (binary_expression "1 < iVar12" number_literal < identifier) )) (compound_statement "{\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }" { (expression_statement "uVar8 = puVar33[1];" (assignment_expression "uVar8 = puVar33[1]" identifier = (subscript_expression "puVar33[1]" identifier [ number_literal ])) ;) (expression_statement "puVar28[1] = uVar8 + 1;" (assignment_expression "puVar28[1] = uVar8 + 1" (subscript_expression "puVar28[1]" identifier [ number_literal ]) = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }" if (parenthesized_expression "(uVar8 + 1 == 0)" ( (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (if_statement "if (iVar12 == 2) goto LAB_0005e408;" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0005e408;" goto statement_identifier ;)) (expression_statement "uVar8 = puVar33[2];" (assignment_expression "uVar8 = puVar33[2]" identifier = (subscript_expression "puVar33[2]" identifier [ number_literal ])) ;) (expression_statement "puVar28[2] = uVar8 + 1;" (assignment_expression "puVar28[2] = uVar8 + 1" (subscript_expression "puVar28[2]" identifier [ number_literal ]) = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }" if (parenthesized_expression "(uVar8 + 1 == 0)" ( (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }" { (expression_statement "puVar31 = puVar33 + 3;" (assignment_expression "puVar31 = puVar33 + 3" identifier = (binary_expression "puVar33 + 3" identifier + number_literal)) ;) (expression_statement "iVar11 = 3;" (assignment_expression "iVar11 = 3" identifier = number_literal) ;) (expression_statement "puVar25 = puVar28 + 3;" (assignment_expression "puVar25 = puVar28 + 3" identifier = (binary_expression "puVar28 + 3" identifier + number_literal)) ;) (do_statement "do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);" do (compound_statement "{\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            }" { (if_statement "if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }" if (parenthesized_expression "(iVar12 == iVar11)" ( (binary_expression "iVar12 == iVar11" identifier == identifier) )) (compound_statement "{\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0005e408;" goto statement_identifier ;) })) (expression_statement "uVar8 = *puVar31;" (assignment_expression "uVar8 = *puVar31" identifier = (pointer_expression "*puVar31" * identifier)) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "puVar31 = puVar31 + 1;" (assignment_expression "puVar31 = puVar31 + 1" identifier = (binary_expression "puVar31 + 1" identifier + number_literal)) ;) (expression_statement "*puVar25 = uVar8 + 1;" (assignment_expression "*puVar25 = uVar8 + 1" (pointer_expression "*puVar25" * identifier) = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar8 + 1 == 0)" ( (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" identifier + number_literal) == number_literal) )) ;) }) (else_clause "else {\n            iVar11 = 3;\n          }" else (compound_statement "{\n            iVar11 = 3;\n          }" { (expression_statement "iVar11 = 3;" (assignment_expression "iVar11 = 3" identifier = number_literal) ;) }))) }) (else_clause "else {\n          iVar11 = 2;\n        }" else (compound_statement "{\n          iVar11 = 2;\n        }" { (expression_statement "iVar11 = 2;" (assignment_expression "iVar11 = 2" identifier = number_literal) ;) }))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }" if (parenthesized_expression "(puVar28 != puVar33)" ( (binary_expression "puVar28 != puVar33" identifier != identifier) )) (compound_statement "{\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }" { (if_statement "if (iVar12 <= iVar11) goto LAB_0005ea24;" if (parenthesized_expression "(iVar12 <= iVar11)" ( (binary_expression "iVar12 <= iVar11" identifier <= identifier) )) (goto_statement "goto LAB_0005ea24;" goto statement_identifier ;)) (expression_statement "puVar25 = puVar33 + iVar11;" (assignment_expression "puVar25 = puVar33 + iVar11" identifier = (binary_expression "puVar33 + iVar11" identifier + identifier)) ;) (expression_statement "puVar28 = puVar28 + iVar11;" (assignment_expression "puVar28 = puVar28 + iVar11" identifier = (binary_expression "puVar28 + iVar11" identifier + identifier)) ;) (do_statement "do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);" do (compound_statement "{\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          }" { (expression_statement "uVar8 = *puVar25;" (assignment_expression "uVar8 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (expression_statement "*puVar28 = uVar8;" (assignment_expression "*puVar28 = uVar8" (pointer_expression "*puVar28" * identifier) = identifier) ;) (expression_statement "puVar28 = puVar28 + 1;" (assignment_expression "puVar28 = puVar28 + 1" identifier = (binary_expression "puVar28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar25 != puVar33 + iVar12)" ( (binary_expression "puVar25 != puVar33 + iVar12" identifier != (binary_expression "puVar33 + iVar12" identifier + identifier)) )) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) })) })) }) (else_clause "else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }" else (compound_statement "{\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }" if (parenthesized_expression "(puVar28 != puVar33)" ( (binary_expression "puVar28 != puVar33" identifier != identifier) )) (compound_statement "{\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }" { (if_statement "if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }" if (parenthesized_expression "(1 < iVar12)" ( (binary_expression "1 < iVar12" number_literal < identifier) )) (compound_statement "{\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }" { (expression_statement "puVar25 = puVar33 + 1;" (assignment_expression "puVar25 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (do_statement "do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);" do (compound_statement "{\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          }" { (expression_statement "puVar28 = puVar28 + 1;" (assignment_expression "puVar28 = puVar28 + 1" identifier = (binary_expression "puVar28 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = *puVar25;" (assignment_expression "uVar8 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (expression_statement "*puVar28 = uVar8;" (assignment_expression "*puVar28 = uVar8" (pointer_expression "*puVar28" * identifier) = identifier) ;) }) while (parenthesized_expression "(puVar25 != puVar33 + iVar12)" ( (binary_expression "puVar25 != puVar33 + iVar12" identifier != (binary_expression "puVar33 + iVar12" identifier + identifier)) )) ;) })) (labeled_statement "LAB_0005ea24:\n        uVar8 = 0;" statement_identifier : (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;)) })) }))) })) (labeled_statement "LAB_0005e408:\n  iVar34 = *piVar21;" statement_identifier : (expression_statement "iVar34 = *piVar21;" (assignment_expression "iVar34 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;)) (expression_statement "iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1);" (assignment_expression "iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1)" identifier = (call_expression "(**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1)" (parenthesized_expression "(**(code **)(iVar19 + -0x7ad4))" ( (pointer_expression "**(code **)(iVar19 + -0x7ad4)" * (pointer_expression "*(code **)(iVar19 + -0x7ad4)" * (cast_expression "(code **)(iVar19 + -0x7ad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + -0x7ad4)" ( (binary_expression "iVar19 + -0x7ad4" identifier + number_literal) ))))) )) (argument_list "(iVar4,iVar4,uVar39,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39);" (assignment_expression "iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39)" identifier = (call_expression "(**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39)" (parenthesized_expression "(**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))" ( (pointer_expression "**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c)" * (pointer_expression "*(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c)" * (cast_expression "(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c)" ( (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + number_literal) ))))) )) (argument_list "(iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39)" ( identifier , identifier , (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) , identifier )))) ;) (expression_statement "iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);" (assignment_expression "iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" identifier = (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x34" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2;" (assignment_expression "*(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2" (pointer_expression "*(uint *)(iVar4 + iVar35)" * (cast_expression "(uint *)(iVar4 + iVar35)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar35)" ( (binary_expression "iVar4 + iVar35" identifier + identifier) )))) = (binary_expression "(iVar19 - iVar11) + (uVar8 + iVar34) * 2" (parenthesized_expression "(iVar19 - iVar11)" ( (binary_expression "iVar19 - iVar11" identifier - identifier) )) + (binary_expression "(uVar8 + iVar34) * 2" (parenthesized_expression "(uVar8 + iVar34)" ( (binary_expression "uVar8 + iVar34" identifier + identifier) )) * number_literal))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar12 + iVar13" identifier + identifier)) ;) (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (iVar19 == 0) {\n    uVar8 = 0;\nLAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\nLAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar19 = iVar9 + iVar35;\n    *(undefined4 *)(param_1 + iVar35) = uVar18;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);\n    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;\n  }\n  else {\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar8 = 0;\nLAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\nLAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar19 = iVar9 + iVar35;\n    *(undefined4 *)(param_1 + iVar35) = uVar18;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);\n    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;\n  }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" statement_identifier : (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;)) (labeled_statement "LAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }" statement_identifier : (if_statement "if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }" if (parenthesized_expression "((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39))" ( (binary_expression "(iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)" (parenthesized_expression "(iVar9 != iVar19)" ( (binary_expression "iVar9 != iVar19" identifier != identifier) )) && (parenthesized_expression "(iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)" ( (comma_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) , (binary_expression "(int)uVar8 < (int)uVar39" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }" { (expression_statement "puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);" (assignment_expression "puVar23 = (undefined4 *)(iVar19 + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(iVar19 + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + uVar8 * 4)" ( (binary_expression "iVar19 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);" (assignment_expression "puVar45 = (undefined4 *)(iVar9 + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(iVar9 + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + uVar8 * 4)" ( (binary_expression "iVar9 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (do_statement "do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);" do (compound_statement "{\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      }" { (expression_statement "uVar18 = *puVar23;" (assignment_expression "uVar18 = *puVar23" identifier = (pointer_expression "*puVar23" * identifier)) ;) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) (expression_statement "*puVar45 = uVar18;" (assignment_expression "*puVar45 = uVar18" (pointer_expression "*puVar45" * identifier) = identifier) ;) (expression_statement "puVar45 = puVar45 + 1;" (assignment_expression "puVar45 = puVar45 + 1" identifier = (binary_expression "puVar45 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((undefined4 *)(iVar19 + iVar35) != puVar23)" ( (binary_expression "(undefined4 *)(iVar19 + iVar35) != puVar23" (cast_expression "(undefined4 *)(iVar19 + iVar35)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar35)" ( (binary_expression "iVar19 + iVar35" identifier + identifier) ))) != identifier) )) ;) }))) (expression_statement "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;" (assignment_expression "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35" identifier = (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier)) ;) (expression_statement "uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);" (assignment_expression "uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39)" identifier = (call_expression "(**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39)" (parenthesized_expression "(**(code **)(iVar14 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar14 + -0x7d0c)" * (pointer_expression "*(code **)(iVar14 + -0x7d0c)" * (cast_expression "(code **)(iVar14 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + -0x7d0c)" ( (binary_expression "iVar14 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(param_1,iVar9,iVar13,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar19 = iVar9 + iVar35;" (assignment_expression "iVar19 = iVar9 + iVar35" identifier = (binary_expression "iVar9 + iVar35" identifier + identifier)) ;) (expression_statement "*(undefined4 *)(param_1 + iVar35) = uVar18;" (assignment_expression "*(undefined4 *)(param_1 + iVar35) = uVar18" (pointer_expression "*(undefined4 *)(param_1 + iVar35)" * (cast_expression "(undefined4 *)(param_1 + iVar35)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + iVar35)" ( (binary_expression "param_1 + iVar35" identifier + identifier) )))) = identifier) ;) (expression_statement "puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);" (assignment_expression "puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35)" identifier = (cast_expression "(uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35" (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + (binary_expression "(uVar39 - 1) * 4" (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) )) * number_literal)) + identifier) )))) ;) (expression_statement "uVar8 = uVar39;" (assignment_expression "uVar8 = uVar39" identifier = identifier) ;) (do_statement "do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);" do (compound_statement "{\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    }" { (expression_statement "uVar8 = uVar8 - 1;" (assignment_expression "uVar8 = uVar8 - 1" identifier = (binary_expression "uVar8 - 1" identifier - number_literal)) ;) (if_statement "if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }" if (parenthesized_expression "(uVar8 == 0xffffffff)" ( (binary_expression "uVar8 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }" { (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar19 + iVar35" identifier + identifier)) ;) (goto_statement "goto LAB_0005e534;" goto statement_identifier ;) })) (expression_statement "uVar24 = *(uint *)(iVar19 + -4);" (assignment_expression "uVar24 = *(uint *)(iVar19 + -4)" identifier = (pointer_expression "*(uint *)(iVar19 + -4)" * (cast_expression "(uint *)(iVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + -4)" ( (binary_expression "iVar19 + -4" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *puVar28;" (assignment_expression "uVar30 = *puVar28" identifier = (pointer_expression "*puVar28" * identifier)) ;) (expression_statement "iVar19 = iVar19 + -4;" (assignment_expression "iVar19 = iVar19 + -4" identifier = (binary_expression "iVar19 + -4" identifier + number_literal)) ;) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" identifier = (binary_expression "puVar28 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar24 == uVar30)" ( (binary_expression "uVar24 == uVar30" identifier == identifier) )) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier)) ;) (if_statement "if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }" if (parenthesized_expression "(uVar30 < uVar24)" ( (binary_expression "uVar30 < uVar24" identifier < identifier) )) (compound_statement "{\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }" { (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0005e534;" goto statement_identifier ;) })) (expression_statement "(**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);" (call_expression "(**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39)" (parenthesized_expression "(**(code **)(iVar12 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar12 + -0x7b2c)" * (pointer_expression "*(code **)(iVar12 + -0x7b2c)" * (cast_expression "(code **)(iVar12 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + -0x7b2c)" ( (binary_expression "iVar12 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39)" ( (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier , identifier ))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "**(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;" (assignment_expression "**(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0" (pointer_expression "**(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" * (pointer_expression "*(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" * (cast_expression "(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) = number_literal) ;) }) (else_clause "else {\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }" else (compound_statement "{\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }" { (expression_statement "iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);" (assignment_expression "iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19)" identifier = (call_expression "(**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19)" (parenthesized_expression "(**(code **)(iVar14 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar14 + -0x7d0c)" * (pointer_expression "*(code **)(iVar14 + -0x7d0c)" * (cast_expression "(code **)(iVar14 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + -0x7d0c)" ( (binary_expression "iVar14 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19)" ( identifier , (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier )))) ;) (expression_statement "iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }" { (expression_statement "uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" identifier = (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto LAB_0005e480;" goto statement_identifier ;) })) (if_statement "if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }" if (parenthesized_expression "(iVar19 < (int)uVar39)" ( (binary_expression "iVar19 < (int)uVar39" identifier < (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }" { (expression_statement "uVar8 = iVar19 + 1;" (assignment_expression "uVar8 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);" (assignment_expression "piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4)" identifier = (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + (binary_expression "iVar19 * 4" identifier * number_literal)) )))) ;) (expression_statement "piVar21 = (int *)(iVar9 + iVar19 * 4);" (assignment_expression "piVar21 = (int *)(iVar9 + iVar19 * 4)" identifier = (cast_expression "(int *)(iVar9 + iVar19 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar19 * 4)" ( (binary_expression "iVar9 + iVar19 * 4" identifier + (binary_expression "iVar19 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar11 = *piVar17;" (assignment_expression "iVar11 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "*piVar21 = iVar11 + 1;" (assignment_expression "*piVar21 = iVar11 + 1" (pointer_expression "*piVar21" * identifier) = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (if_statement "if (iVar11 + 1 != 0) goto LAB_0005e480;" if (parenthesized_expression "(iVar11 + 1 != 0)" ( (binary_expression "iVar11 + 1 != 0" (binary_expression "iVar11 + 1" identifier + number_literal) != number_literal) )) (goto_statement "goto LAB_0005e480;" goto statement_identifier ;)) (if_statement "if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;" if (parenthesized_expression "((int)uVar39 <= (int)uVar8)" ( (binary_expression "(int)uVar39 <= (int)uVar8" (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0005ec00;" goto statement_identifier ;)) (expression_statement "iVar11 = uVar8 * 4;" (assignment_expression "iVar11 = uVar8 * 4" identifier = (binary_expression "uVar8 * 4" identifier * number_literal)) ;) (expression_statement "uVar8 = iVar19 + 2;" (assignment_expression "uVar8 = iVar19 + 2" identifier = (binary_expression "iVar19 + 2" identifier + number_literal)) ;) (expression_statement "iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;" (assignment_expression "iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1" identifier = (binary_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1" (pointer_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11)" * (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar9 + iVar11) = iVar19;" (assignment_expression "*(int *)(iVar9 + iVar11) = iVar19" (pointer_expression "*(int *)(iVar9 + iVar11)" * (cast_expression "(int *)(iVar9 + iVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar11)" ( (binary_expression "iVar9 + iVar11" identifier + identifier) )))) = identifier) ;) (if_statement "if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }" { (do_statement "do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);" do (compound_statement "{\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        }" { (if_statement "if (uVar39 == uVar8) goto LAB_0005ec00;" if (parenthesized_expression "(uVar39 == uVar8)" ( (binary_expression "uVar39 == uVar8" identifier == identifier) )) (goto_statement "goto LAB_0005ec00;" goto statement_identifier ;)) (expression_statement "iVar19 = piVar17[2];" (assignment_expression "iVar19 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "piVar21[2] = iVar19 + 1;" (assignment_expression "piVar21[2] = iVar19 + 1" (subscript_expression "piVar21[2]" identifier [ number_literal ]) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "piVar21 = piVar21 + 1;" (assignment_expression "piVar21 = piVar21 + 1" identifier = (binary_expression "piVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar19 + 1 == 0)" ( (binary_expression "iVar19 + 1 == 0" (binary_expression "iVar19 + 1" identifier + number_literal) == number_literal) )) ;) (goto_statement "goto LAB_0005e480;" goto statement_identifier ;) })) (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto LAB_0005e484;" goto statement_identifier ;) })) (labeled_statement "LAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;" statement_identifier : (expression_statement "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;" (assignment_expression "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35" identifier = (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier)) ;)) (expression_statement "iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);" (assignment_expression "iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39)" identifier = (call_expression "(**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39)" (parenthesized_expression "(**(code **)(iVar14 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar14 + -0x7d0c)" * (pointer_expression "*(code **)(iVar14 + -0x7d0c)" * (cast_expression "(code **)(iVar14 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + -0x7d0c)" ( (binary_expression "iVar14 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(param_1,iVar9,iVar13,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)(param_1 + iVar35) = iVar19 + 1;" (assignment_expression "*(int *)(param_1 + iVar35) = iVar19 + 1" (pointer_expression "*(int *)(param_1 + iVar35)" * (cast_expression "(int *)(param_1 + iVar35)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + iVar35)" ( (binary_expression "param_1 + iVar35" identifier + identifier) )))) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar11 + iVar35" identifier + identifier)) ;) (labeled_statement "LAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);" statement_identifier : (expression_statement "iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);" (assignment_expression "iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39)" identifier = (call_expression "(**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39)" (parenthesized_expression "(**(code **)(iVar12 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar12 + -0x7b2c)" * (pointer_expression "*(code **)(iVar12 + -0x7b2c)" * (cast_expression "(code **)(iVar12 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + -0x7b2c)" ( (binary_expression "iVar12 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39)" ( (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier , identifier )))) ;)) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "**(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;" (assignment_expression "**(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19" (pointer_expression "**(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" * (pointer_expression "*(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" * (cast_expression "(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) = (binary_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) - identifier)) ;) }))) (expression_statement "uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" identifier = (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar8 = (**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24);" (assignment_expression "uVar8 = (**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24)" identifier = (call_expression "(**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24)" (parenthesized_expression "(**(code **)(iVar11 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar11 + -0x7d0c)" * (pointer_expression "*(code **)(iVar11 + -0x7d0c)" * (cast_expression "(code **)(iVar11 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + -0x7d0c)" ( (binary_expression "iVar11 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24)" ( (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier , (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier )))) ;) (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar39 != uVar24) {\n    iVar11 = uVar39 - uVar24;\n    puVar33 = (uint *)(param_1 + uVar24 * 4);\n    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }\n  }" if (parenthesized_expression "(uVar39 != uVar24)" ( (binary_expression "uVar39 != uVar24" identifier != identifier) )) (compound_statement "{\n    iVar11 = uVar39 - uVar24;\n    puVar33 = (uint *)(param_1 + uVar24 * 4);\n    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }\n  }" { (expression_statement "iVar11 = uVar39 - uVar24;" (assignment_expression "iVar11 = uVar39 - uVar24" identifier = (binary_expression "uVar39 - uVar24" identifier - identifier)) ;) (expression_statement "puVar33 = (uint *)(param_1 + uVar24 * 4);" (assignment_expression "puVar33 = (uint *)(param_1 + uVar24 * 4)" identifier = (cast_expression "(uint *)(param_1 + uVar24 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + uVar24 * 4)" ( (binary_expression "param_1 + uVar24 * 4" identifier + (binary_expression "uVar24 * 4" identifier * number_literal)) )))) ;) (expression_statement "puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);" (assignment_expression "puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4)" identifier = (cast_expression "(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4)" ( (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + (binary_expression "uVar24 * 4" identifier * number_literal)) )))) ;) (expression_statement "uVar24 = *puVar33;" (assignment_expression "uVar24 = *puVar33" identifier = (pointer_expression "*puVar33" * identifier)) ;) (expression_statement "*puVar28 = uVar8 + uVar24;" (assignment_expression "*puVar28 = uVar8 + uVar24" (pointer_expression "*puVar28" * identifier) = (binary_expression "uVar8 + uVar24" identifier + identifier)) ;) (if_statement "if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }" if (parenthesized_expression "(uVar8 + uVar24 < uVar8)" ( (binary_expression "uVar8 + uVar24 < uVar8" (binary_expression "uVar8 + uVar24" identifier + identifier) < identifier) )) (compound_statement "{\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (if_statement "if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }" if (parenthesized_expression "(1 < iVar11)" ( (binary_expression "1 < iVar11" number_literal < identifier) )) (compound_statement "{\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }" { (expression_statement "uVar8 = puVar33[1];" (assignment_expression "uVar8 = puVar33[1]" identifier = (subscript_expression "puVar33[1]" identifier [ number_literal ])) ;) (expression_statement "puVar28[1] = uVar8 + 1;" (assignment_expression "puVar28[1] = uVar8 + 1" (subscript_expression "puVar28[1]" identifier [ number_literal ]) = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }" if (parenthesized_expression "(uVar8 + 1 == 0)" ( (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (if_statement "if (iVar11 == 2) goto LAB_0005e618;" if (parenthesized_expression "(iVar11 == 2)" ( (binary_expression "iVar11 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0005e618;" goto statement_identifier ;)) (expression_statement "uVar8 = puVar33[2];" (assignment_expression "uVar8 = puVar33[2]" identifier = (subscript_expression "puVar33[2]" identifier [ number_literal ])) ;) (expression_statement "puVar28[2] = uVar8 + 1;" (assignment_expression "puVar28[2] = uVar8 + 1" (subscript_expression "puVar28[2]" identifier [ number_literal ]) = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }" if (parenthesized_expression "(uVar8 + 1 == 0)" ( (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }" { (expression_statement "puVar31 = puVar33 + 3;" (assignment_expression "puVar31 = puVar33 + 3" identifier = (binary_expression "puVar33 + 3" identifier + number_literal)) ;) (expression_statement "iVar12 = 3;" (assignment_expression "iVar12 = 3" identifier = number_literal) ;) (expression_statement "puVar25 = puVar28 + 3;" (assignment_expression "puVar25 = puVar28 + 3" identifier = (binary_expression "puVar28 + 3" identifier + number_literal)) ;) (do_statement "do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);" do (compound_statement "{\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            }" { (if_statement "if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }" if (parenthesized_expression "(iVar11 == iVar12)" ( (binary_expression "iVar11 == iVar12" identifier == identifier) )) (compound_statement "{\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0005e618;" goto statement_identifier ;) })) (expression_statement "uVar8 = *puVar31;" (assignment_expression "uVar8 = *puVar31" identifier = (pointer_expression "*puVar31" * identifier)) ;) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "puVar31 = puVar31 + 1;" (assignment_expression "puVar31 = puVar31 + 1" identifier = (binary_expression "puVar31 + 1" identifier + number_literal)) ;) (expression_statement "*puVar25 = uVar8 + 1;" (assignment_expression "*puVar25 = uVar8 + 1" (pointer_expression "*puVar25" * identifier) = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar8 + 1 == 0)" ( (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" identifier + number_literal) == number_literal) )) ;) }) (else_clause "else {\n            iVar12 = 3;\n          }" else (compound_statement "{\n            iVar12 = 3;\n          }" { (expression_statement "iVar12 = 3;" (assignment_expression "iVar12 = 3" identifier = number_literal) ;) }))) }) (else_clause "else {\n          iVar12 = 2;\n        }" else (compound_statement "{\n          iVar12 = 2;\n        }" { (expression_statement "iVar12 = 2;" (assignment_expression "iVar12 = 2" identifier = number_literal) ;) }))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }" if (parenthesized_expression "(puVar28 != puVar33)" ( (binary_expression "puVar28 != puVar33" identifier != identifier) )) (compound_statement "{\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }" { (if_statement "if (iVar11 <= iVar12) goto LAB_0005e9e8;" if (parenthesized_expression "(iVar11 <= iVar12)" ( (binary_expression "iVar11 <= iVar12" identifier <= identifier) )) (goto_statement "goto LAB_0005e9e8;" goto statement_identifier ;)) (expression_statement "puVar25 = puVar33 + iVar12;" (assignment_expression "puVar25 = puVar33 + iVar12" identifier = (binary_expression "puVar33 + iVar12" identifier + identifier)) ;) (expression_statement "puVar28 = puVar28 + iVar12;" (assignment_expression "puVar28 = puVar28 + iVar12" identifier = (binary_expression "puVar28 + iVar12" identifier + identifier)) ;) (do_statement "do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);" do (compound_statement "{\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          }" { (expression_statement "uVar8 = *puVar25;" (assignment_expression "uVar8 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (expression_statement "*puVar28 = uVar8;" (assignment_expression "*puVar28 = uVar8" (pointer_expression "*puVar28" * identifier) = identifier) ;) (expression_statement "puVar28 = puVar28 + 1;" (assignment_expression "puVar28 = puVar28 + 1" identifier = (binary_expression "puVar28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar33 + iVar11 != puVar25)" ( (binary_expression "puVar33 + iVar11 != puVar25" (binary_expression "puVar33 + iVar11" identifier + identifier) != identifier) )) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) })) })) }) (else_clause "else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }" else (compound_statement "{\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }" if (parenthesized_expression "(puVar28 != puVar33)" ( (binary_expression "puVar28 != puVar33" identifier != identifier) )) (compound_statement "{\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }" { (if_statement "if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }" if (parenthesized_expression "(1 < iVar11)" ( (binary_expression "1 < iVar11" number_literal < identifier) )) (compound_statement "{\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }" { (expression_statement "puVar25 = puVar33 + 1;" (assignment_expression "puVar25 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (do_statement "do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);" do (compound_statement "{\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          }" { (expression_statement "puVar28 = puVar28 + 1;" (assignment_expression "puVar28 = puVar28 + 1" identifier = (binary_expression "puVar28 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = *puVar25;" (assignment_expression "uVar8 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (expression_statement "*puVar28 = uVar8;" (assignment_expression "*puVar28 = uVar8" (pointer_expression "*puVar28" * identifier) = identifier) ;) }) while (parenthesized_expression "(puVar33 + iVar11 != puVar25)" ( (binary_expression "puVar33 + iVar11 != puVar25" (binary_expression "puVar33 + iVar11" identifier + identifier) != identifier) )) ;) })) (labeled_statement "LAB_0005e9e8:\n        uVar8 = 0;" statement_identifier : (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;)) })) }))) })) (labeled_statement "LAB_0005e618:\n  iVar13 = *(int *)(param_1 + iVar35);" statement_identifier : (expression_statement "iVar13 = *(int *)(param_1 + iVar35);" (assignment_expression "iVar13 = *(int *)(param_1 + iVar35)" identifier = (pointer_expression "*(int *)(param_1 + iVar35)" * (cast_expression "(int *)(param_1 + iVar35)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + iVar35)" ( (binary_expression "param_1 + iVar35" identifier + identifier) ))))) ;)) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1);" (assignment_expression "iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1)" identifier = (call_expression "(**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1)" (parenthesized_expression "(**(code **)(iVar19 + -0x7ad4))" ( (pointer_expression "**(code **)(iVar19 + -0x7ad4)" * (pointer_expression "*(code **)(iVar19 + -0x7ad4)" * (cast_expression "(code **)(iVar19 + -0x7ad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + -0x7ad4)" ( (binary_expression "iVar19 + -0x7ad4" identifier + number_literal) ))))) )) (argument_list "(uVar51,uVar51,uVar39,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39);" (assignment_expression "iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39)" identifier = (call_expression "(**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39)" (parenthesized_expression "(**(code **)(iVar11 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar11 + -0x7b2c)" * (pointer_expression "*(code **)(iVar11 + -0x7b2c)" * (cast_expression "(code **)(iVar11 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + -0x7b2c)" ( (binary_expression "iVar11 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(uVar51,uVar51,uVar18,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c);" (assignment_expression "iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" identifier = (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x2c" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);" (assignment_expression "uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" identifier = (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =\n       (iVar19 - iVar11) + (uVar8 + iVar13) * 2;" (assignment_expression "*(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =\n       (iVar19 - iVar11) + (uVar8 + iVar13) * 2" (pointer_expression "*(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35)" * (cast_expression "(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35)" ( (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier) )))) = (binary_expression "(iVar19 - iVar11) + (uVar8 + iVar13) * 2" (parenthesized_expression "(iVar19 - iVar11)" ( (binary_expression "iVar19 - iVar11" identifier - identifier) )) + (binary_expression "(uVar8 + iVar13) * 2" (parenthesized_expression "(uVar8 + iVar13)" ( (binary_expression "uVar8 + iVar13" identifier + identifier) )) * number_literal))) ;) (expression_statement "bVar2 = uVar24 < 0x39;" (assignment_expression "bVar2 = uVar24 < 0x39" identifier = (binary_expression "uVar24 < 0x39" identifier < number_literal)) ;) (expression_statement "iVar19 = iVar9 + iVar12 + -4;" (assignment_expression "iVar19 = iVar9 + iVar12 + -4" identifier = (binary_expression "iVar9 + iVar12 + -4" (binary_expression "iVar9 + iVar12" identifier + identifier) + number_literal)) ;) (if_statement "if (bVar2) {\n    pcVar49 = *(code **)(iVar34 + -0x7bd0);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\nLAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    iVar35 = iVar9 + (iVar35 + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar49 = *(code **)(iVar4 + -0x7f84);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\n  else {\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n    pcVar49 = *(code **)(iVar34 + -0x7bd0);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\nLAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    iVar35 = iVar9 + (iVar35 + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar49 = *(code **)(iVar4 + -0x7f84);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }" { (expression_statement "pcVar49 = *(code **)(iVar34 + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(iVar34 + -0x7bd0)" identifier = (pointer_expression "*(code **)(iVar34 + -0x7bd0)" * (cast_expression "(code **)(iVar34 + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar34 + -0x7bd0)" ( (binary_expression "iVar34 + -0x7bd0" identifier + number_literal) ))))) ;) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(iVar9,uVar18,iVar10,uVar51);" (call_expression "(*pcVar49)(iVar9,uVar18,iVar10,uVar51)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(iVar9,uVar18,iVar10,uVar51)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0)" identifier = (pointer_expression "*(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0)" * (cast_expression "(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0)" ( (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(iVar19,iVar4,iVar10,uVar18);" (call_expression "(*pcVar49)(iVar19,iVar4,iVar10,uVar18)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(iVar19,iVar4,iVar10,uVar18)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (labeled_statement "LAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);" statement_identifier : (expression_statement "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);" (assignment_expression "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" identifier = (cast_expression "(undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" ( (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10" (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" identifier + (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) ;)) (if_statement "if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;" if (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc))" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) <= (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) )) (goto_statement "goto LAB_0005e714;" goto statement_identifier ;)) (labeled_statement "LAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);" statement_identifier : (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7d8c);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7d8c)" identifier = (pointer_expression "*(code **)(iVar4 + -0x7d8c)" * (cast_expression "(code **)(iVar4 + -0x7d8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x7d8c)" ( (binary_expression "iVar4 + -0x7d8c" identifier + number_literal) ))))) ;)) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "(*pcVar49)(puVar45,uVar18,uVar7,uVar51);" (call_expression "(*pcVar49)(puVar45,uVar18,uVar7,uVar51)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(puVar45,uVar18,uVar7,uVar51)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar51 = *puVar45;" (assignment_expression "uVar51 = *puVar45" identifier = (pointer_expression "*puVar45" * identifier)) ;) (expression_statement "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);" (assignment_expression "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" identifier = (cast_expression "(undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" ( (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc" (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" identifier + (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) ;) (expression_statement "iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);" (assignment_expression "iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" identifier = (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" identifier + (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x34" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))))) ;) (expression_statement "uVar18 = *puVar45;" (assignment_expression "uVar18 = *puVar45" identifier = (pointer_expression "*puVar45" * identifier)) ;) (if_statement "if (bVar2) goto LAB_0005e968;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_0005e968;" goto statement_identifier ;)) (labeled_statement "LAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);" statement_identifier : (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "iVar35 = iVar9 + (iVar35 + iVar10) * 4;" (assignment_expression "iVar35 = iVar9 + (iVar35 + iVar10) * 4" identifier = (binary_expression "iVar9 + (iVar35 + iVar10) * 4" identifier + (binary_expression "(iVar35 + iVar10) * 4" (parenthesized_expression "(iVar35 + iVar10)" ( (binary_expression "iVar35 + iVar10" identifier + identifier) )) * number_literal))) ;) (if_statement "if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }" if (parenthesized_expression "(*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93)" ( (binary_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) < number_literal) )) (compound_statement "{\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }" { (expression_statement "pcVar49 = *(code **)(iVar11 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar11 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar11 + -0x7f84)" * (cast_expression "(code **)(iVar11 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + -0x7f84)" ( (binary_expression "iVar11 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(iVar4,uVar18,iVar10,param_1);" (call_expression "(*pcVar49)(iVar4,uVar18,iVar10,param_1)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(iVar4,uVar18,iVar10,param_1)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);" (assignment_expression "uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" identifier = (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (pointer_expression "*puVar45" * identifier) = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar8 < 0x3c) goto LAB_0005e990;" if (parenthesized_expression "(uVar8 < 0x3c)" ( (binary_expression "uVar8 < 0x3c" identifier < number_literal) )) (goto_statement "goto LAB_0005e990;" goto statement_identifier ;)) }) (else_clause "else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }" else (compound_statement "{\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }" { (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "__gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);" (call_expression "__gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1)" identifier (argument_list "(iVar4,uVar18,iVar10,param_1)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (pointer_expression "*puVar45" * identifier) = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }" if (parenthesized_expression "(uVar39 != 0x31)" ( (binary_expression "uVar39 != 0x31" identifier != number_literal) )) (compound_statement "{\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }" { (expression_statement "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "__gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);" (call_expression "__gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32)" identifier (argument_list "(param_1,uVar18,uVar39,uVar32)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto LAB_0005e7f0;" goto statement_identifier ;) })) }))) (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar4 + -0x7f84)" * (cast_expression "(code **)(iVar4 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x7f84)" ( (binary_expression "iVar4 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(param_1,uVar18,uVar39,uVar32);" (call_expression "(*pcVar49)(param_1,uVar18,uVar39,uVar32)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(param_1,uVar18,uVar39,uVar32)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) }) (else_clause "else {\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }" else (compound_statement "{\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }" { (expression_statement "iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;" (assignment_expression "iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" identifier = (binary_expression "iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" identifier + (binary_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10)" ( (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier) )) * number_literal))) ;) (if_statement "if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }" if (parenthesized_expression "(*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93)" ( (binary_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) < number_literal) )) (compound_statement "{\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }" { (expression_statement "pcVar49 = *(code **)(iVar34 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar34 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar34 + -0x7f84)" * (cast_expression "(code **)(iVar34 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar34 + -0x7f84)" ( (binary_expression "iVar34 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(iVar9,uVar18,iVar10,uVar51);" (call_expression "(*pcVar49)(iVar9,uVar18,iVar10,uVar51)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(iVar9,uVar18,iVar10,uVar51)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "pcVar49 = *(code **)(iVar35 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar35 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar35 + -0x7f84)" * (cast_expression "(code **)(iVar35 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar35 + -0x7f84)" ( (binary_expression "iVar35 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(iVar19,iVar4,iVar10,uVar18);" (call_expression "(*pcVar49)(iVar19,iVar4,iVar10,uVar18)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(iVar19,iVar4,iVar10,uVar18)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto LAB_0005e6f8;" goto statement_identifier ;) })) (expression_statement "iVar35 = *(int *)(iVar34 + -0x7fc0);" (assignment_expression "iVar35 = *(int *)(iVar34 + -0x7fc0)" identifier = (pointer_expression "*(int *)(iVar34 + -0x7fc0)" * (cast_expression "(int *)(iVar34 + -0x7fc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + -0x7fc0)" ( (binary_expression "iVar34 + -0x7fc0" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar35 + -0x1e90" identifier + number_literal)) ;) (expression_statement "__gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);" (call_expression "__gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51)" identifier (argument_list "(iVar9,uVar18,iVar10,uVar51)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" identifier = (pointer_expression "*(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(iVar19,iVar4,iVar10,uVar18);" (call_expression "(*pcVar49)(iVar19,iVar4,iVar10,uVar18)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(iVar19,iVar4,iVar10,uVar18)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);" (assignment_expression "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" identifier = (cast_expression "(undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" ( (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10" (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" identifier + (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) ;) (if_statement "if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;" if (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4))" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) < (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) )) (goto_statement "goto LAB_0005e924;" goto statement_identifier ;)) (labeled_statement "LAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }" statement_identifier : (if_statement "if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }" if (parenthesized_expression "((int)uVar7 < 0x14)" ( (binary_expression "(int)uVar7 < 0x14" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }" { (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7bd0)" identifier = (pointer_expression "*(code **)(iVar4 + -0x7bd0)" * (cast_expression "(code **)(iVar4 + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x7bd0)" ( (binary_expression "iVar4 + -0x7bd0" identifier + number_literal) ))))) ;) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(puVar45,uVar18,uVar7,uVar51);" (call_expression "(*pcVar49)(puVar45,uVar18,uVar7,uVar51)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(puVar45,uVar18,uVar7,uVar51)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) }) (else_clause "else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }" else (compound_statement "{\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }" { (expression_statement "iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;" (assignment_expression "iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" identifier = (binary_expression "iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" identifier + (binary_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10)" ( (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier) )) * number_literal))) ;) (if_statement "if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }" if (parenthesized_expression "((int)uVar7 < 0x32)" ( (binary_expression "(int)uVar7 < 0x32" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }" { (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar4 + -0x7f84)" * (cast_expression "(code **)(iVar4 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x7f84)" ( (binary_expression "iVar4 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(puVar45,uVar18,uVar7,uVar51);" (call_expression "(*pcVar49)(puVar45,uVar18,uVar7,uVar51)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(puVar45,uVar18,uVar7,uVar51)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) }) (else_clause "else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }" else (compound_statement "{\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }" { (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "__gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);" (call_expression "__gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51)" identifier (argument_list "(puVar45,uVar18,uVar7,uVar51)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) }))) })))) (expression_statement "uVar51 = *puVar45;" (assignment_expression "uVar51 = *puVar45" identifier = (pointer_expression "*puVar45" * identifier)) ;) (expression_statement "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);" (assignment_expression "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" identifier = (cast_expression "(undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" ( (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc" (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" identifier + (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) ;) (expression_statement "iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);" (assignment_expression "iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" identifier = (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" identifier + (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x34" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))))) ;) (expression_statement "uVar18 = *puVar45;" (assignment_expression "uVar18 = *puVar45" identifier = (pointer_expression "*puVar45" * identifier)) ;) (if_statement "if (!bVar2) goto LAB_0005e778;" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (goto_statement "goto LAB_0005e778;" goto statement_identifier ;)) (labeled_statement "LAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);" statement_identifier : (expression_statement "pcVar49 = *(code **)(iVar11 + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(iVar11 + -0x7bd0)" identifier = (pointer_expression "*(code **)(iVar11 + -0x7bd0)" * (cast_expression "(code **)(iVar11 + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + -0x7bd0)" ( (binary_expression "iVar11 + -0x7bd0" identifier + number_literal) ))))) ;)) (expression_statement "uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(iVar4,uVar32,iVar10,param_1);" (call_expression "(*pcVar49)(iVar4,uVar32,iVar10,param_1)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(iVar4,uVar32,iVar10,param_1)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (pointer_expression "*puVar45" * identifier) = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (labeled_statement "LAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);" statement_identifier : (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7bd0)" identifier = (pointer_expression "*(code **)(iVar4 + -0x7bd0)" * (cast_expression "(code **)(iVar4 + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x7bd0)" ( (binary_expression "iVar4 + -0x7bd0" identifier + number_literal) ))))) ;)) (expression_statement "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) ))))) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(param_1,uVar18,uVar39,uVar32);" (call_expression "(*pcVar49)(param_1,uVar18,uVar39,uVar32)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(param_1,uVar18,uVar39,uVar32)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) }))) (labeled_statement "LAB_0005e7f0:\n  iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" statement_identifier : (expression_statement "iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;)) (expression_statement "uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);" (assignment_expression "uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" identifier = (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7cf8);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7cf8)" identifier = (pointer_expression "*(code **)(iVar4 + -0x7cf8)" * (cast_expression "(code **)(iVar4 + -0x7cf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x7cf8)" ( (binary_expression "iVar4 + -0x7cf8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = (binary_expression "uVar7 + iVar10" identifier + identifier)) ;) (expression_statement "(*pcVar49)(param_1,iVar19,iVar9,uVar39);" (call_expression "(*pcVar49)(param_1,iVar19,iVar9,uVar39)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(param_1,iVar19,iVar9,uVar39)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void __gmpn_toom62_mul(mp_ptr pp,mp_srcptr ap,mp_size_t an,mp_srcptr bp,mp_size_t bn,mp_ptr scratch)\n\n{\n  mp_srcptr pmVar1;\n  bool bVar2;\n  int iVar3;\n  uint uVar4;\n  undefined1 *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  mp_limb_t mVar17;\n  mp_srcptr pmVar18;\n  int iVar19;\n  mp_srcptr pmVar20;\n  mp_ptr pmVar21;\n  mp_limb_t *pmVar22;\n  uint uVar23;\n  uint *puVar24;\n  undefined1 *puVar25;\n  uint *puVar26;\n  undefined1 *puVar27;\n  mp_srcptr pmVar28;\n  uint uVar29;\n  uint *puVar30;\n  mp_ptr pmVar31;\n  mp_srcptr pmVar32;\n  int iVar33;\n  mp_limb_t mVar34;\n  uint *puVar35;\n  mp_srcptr pmVar36;\n  mp_srcptr pmVar37;\n  mp_srcptr pmVar38;\n  uint uVar39;\n  int iVar40;\n  int iVar41;\n  mp_ptr pmVar42;\n  int iVar43;\n  undefined1 *puVar44;\n  int iVar45;\n  mp_ptr pmVar46;\n  mp_ptr pmVar47;\n  mp_srcptr pmVar48;\n  mp_srcptr pmVar49;\n  int *piVar50;\n  undefined *puVar51;\n  code *pcVar52;\n  undefined *puVar53;\n  undefined4 uVar54;\n  undefined4 *puVar55;\n  undefined4 uVar56;\n  uint auStack_140 [2];\n  mp_limb_t amStack_138 [6];\n  uint auStack_120 [16];\n  mp_limb_t amStack_e0 [6];\n  undefined1 auStack_c8 [4];\n  undefined4 uStack_c4;\n  undefined1 auStack_c0 [4];\n  int aiStack_bc [9];\n  uint local_64;\n  \n  puVar51 = PTR___stack_chk_guard_0009d540;\n  iVar19 = *(int *)PTR___stack_chk_guard_0009d540;\n  if (an < bn * 3) {\n    uVar39 = bn + -1 >> 1;\n  }\n  else {\n    uVar39 = (an - 1U) / 6;\n  }\n  iVar40 = uVar39 + 1;\n  iVar45 = uVar39 + 2;\n  iVar43 = iVar40 * 4;\n  iVar33 = an + iVar40 * -5;\n  uVar4 = iVar45 * 4 + 7U & 0xfffffff8;\n  puVar25 = &stack0xffffff68 + -uVar4;\n  puVar27 = &stack0xffffff68 + uVar4 * -2;\n  iVar41 = bn - iVar40;\n  puVar44 = &stack0xffffff68 + uVar4 * -5;\n  pmVar37 = (mp_srcptr)(&stack0xffffff68 + uVar4 * -6);\n  iVar3 = -(iVar43 + 7U & 0xfffffff8);\n  pmVar28 = ap + iVar40;\n  pmVar38 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -6);\n  pmVar36 = pmVar28 + iVar40;\n  pmVar48 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -7);\n  pmVar49 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -8);\n  pmVar32 = pmVar36 + iVar40;\n  puVar5 = &stack0xffffff68 + iVar3 + uVar4 * -9;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = iVar33;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar40;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pp;\n  uVar6 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar25,puVar27,5,ap);\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = iVar33;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pp;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar40;\n  uVar7 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar4 * -3,&stack0xffffff68 + uVar4 * -4,5,ap);\n  local_64 = uVar7 & 1 | uVar6 & 2;\n  iVar8 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,ap,iVar40,1);\n  iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar40);\n  iVar10 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);\n  iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar36,iVar40);\n  iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);\n  iVar13 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar32,iVar40);\n  iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);\n  iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar32 + iVar40,iVar40);\n  iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);\n  pmVar28 = pmVar32 + iVar40 + iVar40;\n  iVar16 = (iVar14 + iVar15 + (iVar12 + iVar13 + (iVar10 + iVar11 + (iVar8 + iVar9) * 2) * 2) * 2) *\n           2 + iVar16;\n  if ((iVar33 != 0) &&\n     (iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar33), iVar8 != 0)) {\n    if (iVar33 < iVar40) {\n      piVar50 = (int *)(puVar44 + iVar33 * 4);\n      iVar8 = *piVar50;\n      *piVar50 = iVar8 + 1;\n      if (iVar8 + 1 == 0) {\n        if (iVar40 <= iVar33 + 1) goto LAB_0005dbd4;\n        iVar8 = iVar33 + 2;\n        iVar9 = *(int *)(puVar44 + (iVar33 + 1) * 4) + 1;\n        *(int *)(puVar44 + (iVar33 + 1) * 4) = iVar9;\n        while (iVar9 == 0) {\n          if (iVar8 == iVar40) goto LAB_0005dbd4;\n          iVar8 = iVar8 + 1;\n          iVar9 = piVar50[2] + 1;\n          piVar50[2] = iVar9;\n          piVar50 = piVar50 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }\n  pmVar32 = bp + iVar40;\n  *(int *)(puVar44 + iVar43) = iVar16;\n  pmVar36 = pmVar37 + iVar40;\n  if (iVar40 == iVar41) {\n    mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar40);\n    *pmVar36 = mVar17;\n    puVar26 = bp + uVar39;\n    iVar8 = iVar40;\n    do {\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005ddc8;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    } while (uVar6 == puVar26[uVar39 + 2]);\n    if (puVar26[uVar39 + 2] < uVar6) {\nLAB_0005ddc8:\n      uVar6 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n    }\n    else {\n      uVar6 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n    }\nLAB_0005d5e4:\n    iVar8 = 0;\n    if (iVar41 == 0) {\nLAB_0005d5f0:\n      if ((pmVar37 != pmVar48) && (iVar8 < iVar45)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4);\n      }\n      if (uVar6 != 0) {\n        if (iVar41 != 0) goto LAB_0005df00;\n        iVar8 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar48,pmVar37,pmVar32,iVar41);\n    iVar8 = iVar41;\n    if (iVar9 == 0) goto LAB_0005d5f0;\n    if (iVar41 < iVar45) {\n      iVar8 = iVar41 + 1;\n      pmVar18 = pmVar37 + iVar41;\n      mVar17 = *pmVar18;\n      pmVar48[iVar41] = mVar17 + 1;\n      if (mVar17 + 1 == 0) {\n        if (iVar40 <= iVar41) goto LAB_0005da20;\n        iVar9 = iVar41 + 2;\n        mVar17 = pmVar37[iVar8] + 1;\n        pmVar48[iVar8] = mVar17;\n        pmVar20 = pmVar48 + iVar41;\n        while (iVar8 = iVar9, mVar17 == 0) {\n          if (iVar9 == iVar45) goto LAB_0005da20;\n          pmVar1 = pmVar18 + 2;\n          iVar9 = iVar9 + 1;\n          pmVar18 = pmVar18 + 1;\n          mVar17 = *pmVar1 + 1;\n          pmVar20[2] = mVar17;\n          pmVar20 = pmVar20 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar6 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar49,pmVar38,pmVar32,iVar41);\n    iVar8 = iVar41;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      mVar17 = 0;\n      if (pmVar38 != pmVar49) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4);\n          mVar17 = 0;\n        }\n        else {\n          mVar17 = 0;\n        }\n      }\n    }\n    else {\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = pmVar38 + iVar41;\n        mVar17 = *pmVar18;\n        pmVar49[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d678;\n          iVar9 = iVar41 + 2;\n          mVar17 = pmVar38[iVar8] + 1;\n          pmVar49[iVar8] = mVar17;\n          pmVar20 = pmVar49 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      mVar17 = 1;\n    }\nLAB_0005d678:\n    pmVar49[iVar40] = mVar17;\n    local_64 = local_64 ^ (uVar6 | 1);\n  }\n  else {\n    if (iVar41 == 0) {\n      iVar8 = 0;\nLAB_0005d51c:\n      mVar17 = 0;\n      if (pmVar37 != bp) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n        }\n        mVar17 = 0;\n      }\n    }\n    else {\n      iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) goto LAB_0005d51c;\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = bp + iVar41;\n        mVar17 = *pmVar18;\n        pmVar37[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d558;\n          iVar9 = iVar41 + 2;\n          mVar17 = bp[iVar8] + 1;\n          pmVar37[iVar8] = mVar17;\n          pmVar20 = pmVar37 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      mVar17 = 1;\n    }\nLAB_0005d558:\n    *pmVar36 = mVar17;\n    iVar9 = iVar40 - iVar41;\n    pmVar18 = bp + iVar41 + 0x3fffffff + iVar9;\n    iVar8 = iVar9;\n    do {\n      iVar8 = iVar8 + -1;\n      if (*pmVar18 != 0) goto LAB_0005d59c;\n      pmVar18 = pmVar18 + -1;\n    } while (iVar8 != 0);\n    puVar26 = bp + iVar41 + -1;\n    iVar8 = iVar41;\n    do {\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005d59c;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    } while (uVar6 == puVar26[uVar39 + 2]);\n    if (uVar6 <= puVar26[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n      uVar6 = 2;\n      (*(code *)PTR_memset_0009d2e8)(pmVar38 + iVar41,0,iVar9 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (iVar41 != 0) {\n      iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) {\nLAB_0005de34:\n        bVar2 = iVar8 < iVar40;\n        if (pmVar38 != bp) goto LAB_0005d5b4;\n        uVar6 = 0;\n      }\n      else {\n        if (iVar41 < iVar40) {\n          iVar8 = iVar41 + 1;\n          pmVar18 = bp + iVar41;\n          mVar17 = *pmVar18;\n          pmVar38[iVar41] = mVar17 - 1;\n          if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar6 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar8 = 0;\n    if (pmVar38 != bp) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n      }\n      uVar6 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((pmVar37 != pmVar48) && (0 < iVar45)) {\n      iVar8 = 0;\n      uVar6 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (iVar41 < iVar40) {\n      iVar8 = iVar40 - iVar41;\n      pmVar18 = pmVar38 + uVar39;\n      do {\n        iVar8 = iVar8 + -1;\n        if (*pmVar18 != 0) goto LAB_0005da5c;\n        pmVar18 = pmVar18 + -1;\n      } while (iVar8 != 0);\n      pmVar18 = pmVar38 + iVar41;\n      puVar26 = bp + iVar40 + iVar41 + -1;\n      iVar8 = iVar41;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005da5c;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005da5c:\n        iVar8 = 0;\n        if (iVar41 == 0) {\nLAB_0005da64:\n          bVar2 = iVar8 < iVar40;\n          if ((pmVar38 != pmVar49) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);\n          iVar8 = iVar41;\n          if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = iVar41 < iVar40;\n          if (pmVar38 != pmVar49) goto LAB_0005da78;\n        }\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41);\n        local_64 = local_64 ^ 1;\n        if (iVar45 != iVar41) {\n          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);\n        }\n      }\n    }\n    else {\n      pmVar18 = pmVar38 + uVar39 + 1;\n      puVar26 = bp + iVar40 + uVar39;\n      iVar8 = iVar40;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005dccc;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);\n        local_64 = local_64 ^ 1;\n        pmVar49[iVar40] = 0;\n      }\n    }\n  }\nLAB_0005d68c:\n  mVar17 = *pmVar36;\n  iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar5,pmVar37,bp,iVar40);\n  *(mp_limb_t *)(puVar5 + iVar43) = mVar17 + iVar8;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(scratch,&stack0xffffff68 + uVar4 * -3,pmVar48,iVar45);\n  pmVar47 = scratch + iVar40 * 2 + 1;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(pmVar47,&stack0xffffff68 + uVar4 * -4,pmVar49,iVar45);\n  pmVar21 = scratch + iVar40 * 4 + 2;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(pmVar21,puVar44,puVar5,iVar45);\n  pmVar42 = scratch + iVar40 * 6 + 3;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(pmVar42,puVar27,pmVar38,iVar40);\n  if (*(int *)(puVar27 + iVar43) == 1) {\n    mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)\n                       (scratch + iVar40 * 7 + 3,scratch + iVar40 * 7 + 3,pmVar38,iVar40);\n  }\n  else if (*(int *)(puVar27 + iVar43) == 2) {\n    mVar17 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(scratch + iVar40 * 7 + 3,pmVar38,iVar40,2);\n  }\n  else {\n    mVar17 = 0;\n  }\n  puVar53 = PTR___gmpn_mul_n_0009d364;\n  scratch[iVar40 * 8 + 3] = mVar17;\n  (*(code *)puVar53)(pp + iVar40 * 2,puVar25,pmVar37,iVar40);\n  mVar17 = *(mp_limb_t *)(puVar25 + iVar43);\n  if (mVar17 == 1) {\n    mVar17 = *pmVar36;\n    iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,pmVar37,iVar40);\n    mVar17 = mVar17 + iVar8;\n    mVar34 = *pmVar36;\n  }\n  else {\n    mVar34 = *pmVar36;\n    if (mVar17 == 2) {\n      iVar8 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,2);\n      iVar9 = mVar34 * 2;\n      mVar34 = *pmVar36;\n      mVar17 = iVar9 + iVar8;\n    }\n    else {\n      iVar8 = mVar17 * mVar34;\n      if (mVar17 != 0) {\n        iVar9 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17);\n        mVar34 = *pmVar36;\n        mVar17 = iVar8 + iVar9;\n      }\n    }\n  }\n  if (mVar34 != 0) {\n    iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,puVar25,iVar40);\n    mVar17 = mVar17 + iVar8;\n  }\n  puVar53 = PTR___gmpn_mul_n_0009d364;\n  pmVar46 = pp + iVar40 * 2 + iVar40 * 2;\n  *pmVar46 = mVar17;\n  (*(code *)puVar53)(pp,ap,bp,iVar40);\n  if (iVar41 < iVar33) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar41;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar28,iVar33,pmVar32);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar33;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar32,iVar41,pmVar28);\n  }\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pmVar21;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = scratch;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x18) = iVar33 + iVar41;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x1c) = scratch + iVar40 * 8 + 4;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = pmVar42;\n  iVar8 = iVar40;\n  pmVar31 = pmVar47;\n  (*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();\n  if (iVar19 == *(int *)puVar51) {\n    return;\n  }\n  uVar56 = 0x5e16c;\n  puVar51 = PTR___stack_chk_fail_0009d4d0;\n  (*(code *)PTR___stack_chk_fail_0009d4d0)();\n  puVar53 = puVar51 + 0x46ed0;\n  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -8) = iVar40;\n  *(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 4) = pmVar42;\n  *(uint *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) = local_64;\n  *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) = local_64 + 2;\n  *(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -8) = pmVar47;\n  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -4) = iVar33 + iVar41;\n  iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4);\n  pmVar42 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10);\n  *(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 8) = pmVar46;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) = pmVar31;\n  *(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) = puVar53;\n  *(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 0xc) = scratch + iVar40 * 8 + 4;\n  *(undefined4 *)((int)&uStack_c4 + iVar3 + uVar4 * -9) = uVar56;\n  *(undefined1 **)(auStack_c8 + iVar3 + uVar4 * -9) = auStack_c0;\n  uVar39 = (local_64 + 2) / 3;\n  *(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -4) = pmVar21;\n  *(mp_limb_t *)((int)amStack_e0 + iVar3 + uVar4 * -9) = mVar17;\n  iVar10 = uVar39 + 1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) = iVar8;\n  uVar6 = iVar19 + uVar39 * -2;\n  iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc);\n  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14) = iVar10 * 8;\n  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) = iVar10 * 0x10;\n  iVar19 = iVar10 * 8 + -8;\n  *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9) = iVar9 + uVar39 * -2;\n  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) = pmVar42 + iVar10 * 3;\n  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c) = iVar19;\n  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4) = pmVar42 + iVar10 * 4;\n  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = pp + iVar10 * 2;\n  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) = iVar10 * 4;\n  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = pmVar42 + iVar10 * 2;\n  pmVar47 = pp + iVar10;\n  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18) = iVar8 + iVar19;\n  if (uVar6 == 0) {\n    uVar7 = 0;\nLAB_0005e258:\n    pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\nLAB_0005e25c:\n    if ((pmVar42 == pmVar21) || ((int)uVar39 <= (int)uVar7)) {\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n      pmVar22 = (mp_limb_t *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4);\n      pmVar21 = pmVar42 + uVar7;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while (pmVar22 != (mp_limb_t *)(iVar19 + iVar9));\n    }\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;\n    iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar8,pmVar42,iVar12,uVar39);\n    piVar50 = (int *)(iVar8 + iVar9);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    iVar8 = (int)pmVar42 + iVar9;\n    *piVar50 = iVar19;\n    puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + (uVar39 - 1) * 4 + iVar9);\n    uVar7 = uVar39;\n    do {\n      uVar7 = uVar7 - 1;\n      if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n        *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar19 + iVar9;\n        goto LAB_0005e31c;\n      }\n      uVar23 = *(uint *)(iVar8 + -4);\n      uVar29 = *puVar26;\n      iVar8 = iVar8 + -4;\n      puVar26 = puVar26 + -1;\n    } while (uVar23 == uVar29);\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) =\n         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) + iVar9;\n    if (uVar29 < uVar23) {\n      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar11 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),iVar12,pmVar42,uVar39);\n    puVar55 = *(undefined4 **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n    *puVar55 = 0;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar51 + 0x3f1c4))(pmVar42);\n    puVar53 = *(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    uVar7 = uVar6;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar6 < (int)uVar39) {\n      uVar23 = uVar6 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar6 * 4);\n      iVar19 = *piVar50;\n      pmVar42[uVar6] = iVar19 + 1U;\n      uVar7 = uVar23;\n      if (iVar19 + 1U != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar23) goto LAB_0005eac8;\n      uVar7 = uVar6 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4) + 1;\n      pmVar42[uVar23] = mVar17;\n      pmVar21 = pmVar42 + uVar6;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005eac8;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e258;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n    piVar50 = (int *)(iVar19 + iVar9);\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;\n    iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar19,pmVar42,iVar12,uVar39);\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *piVar50 = iVar19 + 1;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 + iVar9;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),pmVar42,iVar12,\n                        uVar39);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;\n    iVar8 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n    **(int **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 - iVar19;\n  }\n  iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n  uVar7 = (**(code **)(iVar11 + -0x7d0c))\n                    (pmVar47,*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18),iVar8,\n                     uVar6);\n  iVar19 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  if (uVar39 != uVar6) {\n    iVar11 = uVar39 - uVar6;\n    puVar35 = (uint *)(iVar8 + uVar6 * 4);\n    puVar26 = pmVar47 + uVar6;\n    uVar23 = *puVar35;\n    *puVar26 = uVar7 + uVar23;\n    if (uVar7 + uVar23 < uVar7) {\n      uVar7 = 1;\n      if (1 < iVar11) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar11 == 2) goto LAB_0005e408;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar8 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar8 = 3;\n          }\n        }\n        else {\n          iVar8 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar11 <= iVar8) goto LAB_0005ea24;\n          puVar24 = puVar35 + iVar8;\n          puVar26 = puVar26 + iVar8;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar24 != puVar35 + iVar11);\n          uVar7 = 0;\n        }\n      }\n    }\n    else {\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar11) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar24 != puVar35 + iVar11);\n        }\nLAB_0005ea24:\n        uVar7 = 0;\n      }\n    }\n  }\nLAB_0005e408:\n  iVar13 = *piVar50;\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(pmVar47,pmVar47,uVar39,1);\n  iVar8 = (**(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7b2c))\n                    (pmVar47,pmVar47,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9),uVar39);\n  iVar12 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c);\n  iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  iVar11 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n  *(uint *)((int)pmVar47 + iVar9) = (iVar19 - iVar8) + (uVar7 + iVar13) * 2;\n  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar11 + iVar12;\n  iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9);\n  if (iVar19 == 0) {\n    uVar7 = 0;\nLAB_0005e480:\n    pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar23 = uVar7;\nLAB_0005e484:\n    if ((pmVar42 != pmVar21) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8), (int)uVar23 < (int)uVar39)) {\n      pmVar22 = (mp_limb_t *)(iVar19 + uVar23 * 4);\n      pmVar21 = pmVar42 + uVar23;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while ((mp_limb_t *)(iVar19 + iVar9) != pmVar22);\n    }\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;\n    uVar56 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    iVar19 = (int)pmVar42 + iVar9;\n    *(undefined4 *)((int)pp + iVar9) = uVar56;\n    puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + (uVar39 - 1) * 4 + iVar9\n                      );\n    uVar7 = uVar39;\n    do {\n      uVar7 = uVar7 - 1;\n      if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n        *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar19 + iVar9;\n        goto LAB_0005e534;\n      }\n      uVar23 = *(uint *)(iVar19 + -4);\n      uVar29 = *puVar26;\n      iVar19 = iVar19 + -4;\n      puVar26 = puVar26 + -1;\n    } while (uVar23 == uVar29);\n    *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) + iVar9;\n    if (uVar29 < uVar23) {\n      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar11 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),iVar12,pmVar42,uVar39);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) =\n         *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc);\n    **(undefined4 **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = 0;\n  }\n  else {\n    iVar8 = (**(code **)(iVar14 + -0x7d0c))\n                      (pmVar42,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8),\n                       *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),iVar19);\n    iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar7 = iVar19 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar19 * 4);\n      iVar8 = *piVar50;\n      pmVar42[iVar19] = iVar8 + 1U;\n      if (iVar8 + 1U != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar7) goto LAB_0005ec00;\n      uVar23 = iVar19 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4) + 1;\n      pmVar42[uVar7] = mVar17;\n      uVar7 = uVar23;\n      pmVar21 = pmVar42 + iVar19;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005ec00;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e480;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(int *)((int)pp + iVar9) = iVar19 + 1;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;\n    *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar8 + iVar9;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),pmVar42,iVar12\n                        ,uVar39);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    **(int **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) - iVar19;\n  }\n  uVar23 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);\n  uVar7 = (**(code **)(iVar8 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4),pp,\n                     *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),uVar23);\n  iVar19 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  if (uVar39 != uVar23) {\n    iVar8 = uVar39 - uVar23;\n    puVar35 = pp + uVar23;\n    puVar26 = (uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + uVar23 * 4);\n    uVar23 = *puVar35;\n    *puVar26 = uVar7 + uVar23;\n    if (uVar7 + uVar23 < uVar7) {\n      uVar7 = 1;\n      if (1 < iVar8) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar8 == 2) goto LAB_0005e618;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar11 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar8 <= iVar11) goto LAB_0005e9e8;\n          puVar24 = puVar35 + iVar11;\n          puVar26 = puVar26 + iVar11;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar35 + iVar8 != puVar24);\n          uVar7 = 0;\n        }\n      }\n    }\n    else {\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar8) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar35 + iVar8 != puVar24);\n        }\nLAB_0005e9e8:\n        uVar7 = 0;\n      }\n    }\n  }\nLAB_0005e618:\n  iVar12 = *(int *)((int)pp + iVar9);\n  uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar54,uVar54,uVar39,1);\n  iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n  *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar54;\n  iVar8 = (**(code **)(iVar8 + -0x7b2c))(uVar54,uVar54,uVar56,uVar39);\n  iVar11 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14);\n  iVar13 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  uVar23 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14);\n  *(uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + iVar9) =\n       (iVar19 - iVar8) + (uVar7 + iVar12) * 2;\n  bVar2 = uVar23 < 0x39;\n  iVar19 = (int)pmVar42 + iVar11 + -4;\n  if (bVar2) {\n    pcVar52 = *(code **)(iVar13 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n    pcVar52 = *(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\nLAB_0005e6f8:\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar52 = *(code **)(iVar8 + -0x7d8c);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9) =\n         *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9);\n    (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    mVar17 = *pmVar47;\n    puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));\n    uVar56 = *puVar55;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;\n    pmVar21 = pmVar42 + iVar9 + iVar10;\n    if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar47,uVar56,iVar10,pp);\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar7 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      __gmpn_toom33_mul(pmVar47,pmVar28,iVar10,pp,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar39 != 0x31) {\n        pmVar32 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n        pmVar28 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n        *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n        __gmpn_toom33_mul(pp,pmVar28,uVar39,pmVar32,\n                          *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                          *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n        iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar52 = *(code **)(iVar8 + -0x7f84);\n    uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n    (*pcVar52)(pp,uVar56,uVar39,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  }\n  else {\n    pmVar21 = pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n    if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {\n      pcVar52 = *(code **)(iVar13 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e6f8;\n    }\n    iVar8 = *(int *)(iVar13 + -0x7fc0);\n    pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = iVar8 + -0x1e90;\n    __gmpn_toom33_mul(pmVar42,pmVar28,iVar10,pmVar32,\n                      *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n    pcVar52 = *(code **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar6 < 0x14) {\n      pcVar52 = *(code **)(iVar8 + -0x7bd0);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else if ((int)uVar6 < 0x32) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else {\n      pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      __gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    mVar17 = *pmVar47;\n    puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));\n    uVar56 = *puVar55;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar52 = *(code **)(iVar8 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(pmVar47,uVar54,iVar10,pp);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\nLAB_0005e990:\n    pcVar52 = *(code **)(iVar8 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n    (*pcVar52)(pp,uVar56,uVar39,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  }\nLAB_0005e7f0:\n  iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9);\n  uVar56 = *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18);\n  pcVar52 = *(code **)(iVar8 + -0x7cf8);\n  *(mp_limb_t *)((int)amStack_138 + iVar3 + uVar4 * -9) = mVar17;\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = uVar56;\n  *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6 + iVar9;\n  (*pcVar52)(pp,iVar19,pmVar42,uVar39);\n  return;\n}\n\n" (function_definition "void __gmpn_toom62_mul(mp_ptr pp,mp_srcptr ap,mp_size_t an,mp_srcptr bp,mp_size_t bn,mp_ptr scratch)\n\n{\n  mp_srcptr pmVar1;\n  bool bVar2;\n  int iVar3;\n  uint uVar4;\n  undefined1 *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  mp_limb_t mVar17;\n  mp_srcptr pmVar18;\n  int iVar19;\n  mp_srcptr pmVar20;\n  mp_ptr pmVar21;\n  mp_limb_t *pmVar22;\n  uint uVar23;\n  uint *puVar24;\n  undefined1 *puVar25;\n  uint *puVar26;\n  undefined1 *puVar27;\n  mp_srcptr pmVar28;\n  uint uVar29;\n  uint *puVar30;\n  mp_ptr pmVar31;\n  mp_srcptr pmVar32;\n  int iVar33;\n  mp_limb_t mVar34;\n  uint *puVar35;\n  mp_srcptr pmVar36;\n  mp_srcptr pmVar37;\n  mp_srcptr pmVar38;\n  uint uVar39;\n  int iVar40;\n  int iVar41;\n  mp_ptr pmVar42;\n  int iVar43;\n  undefined1 *puVar44;\n  int iVar45;\n  mp_ptr pmVar46;\n  mp_ptr pmVar47;\n  mp_srcptr pmVar48;\n  mp_srcptr pmVar49;\n  int *piVar50;\n  undefined *puVar51;\n  code *pcVar52;\n  undefined *puVar53;\n  undefined4 uVar54;\n  undefined4 *puVar55;\n  undefined4 uVar56;\n  uint auStack_140 [2];\n  mp_limb_t amStack_138 [6];\n  uint auStack_120 [16];\n  mp_limb_t amStack_e0 [6];\n  undefined1 auStack_c8 [4];\n  undefined4 uStack_c4;\n  undefined1 auStack_c0 [4];\n  int aiStack_bc [9];\n  uint local_64;\n  \n  puVar51 = PTR___stack_chk_guard_0009d540;\n  iVar19 = *(int *)PTR___stack_chk_guard_0009d540;\n  if (an < bn * 3) {\n    uVar39 = bn + -1 >> 1;\n  }\n  else {\n    uVar39 = (an - 1U) / 6;\n  }\n  iVar40 = uVar39 + 1;\n  iVar45 = uVar39 + 2;\n  iVar43 = iVar40 * 4;\n  iVar33 = an + iVar40 * -5;\n  uVar4 = iVar45 * 4 + 7U & 0xfffffff8;\n  puVar25 = &stack0xffffff68 + -uVar4;\n  puVar27 = &stack0xffffff68 + uVar4 * -2;\n  iVar41 = bn - iVar40;\n  puVar44 = &stack0xffffff68 + uVar4 * -5;\n  pmVar37 = (mp_srcptr)(&stack0xffffff68 + uVar4 * -6);\n  iVar3 = -(iVar43 + 7U & 0xfffffff8);\n  pmVar28 = ap + iVar40;\n  pmVar38 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -6);\n  pmVar36 = pmVar28 + iVar40;\n  pmVar48 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -7);\n  pmVar49 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -8);\n  pmVar32 = pmVar36 + iVar40;\n  puVar5 = &stack0xffffff68 + iVar3 + uVar4 * -9;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = iVar33;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar40;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pp;\n  uVar6 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar25,puVar27,5,ap);\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = iVar33;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pp;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar40;\n  uVar7 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar4 * -3,&stack0xffffff68 + uVar4 * -4,5,ap);\n  local_64 = uVar7 & 1 | uVar6 & 2;\n  iVar8 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,ap,iVar40,1);\n  iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar40);\n  iVar10 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);\n  iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar36,iVar40);\n  iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);\n  iVar13 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar32,iVar40);\n  iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);\n  iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar32 + iVar40,iVar40);\n  iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);\n  pmVar28 = pmVar32 + iVar40 + iVar40;\n  iVar16 = (iVar14 + iVar15 + (iVar12 + iVar13 + (iVar10 + iVar11 + (iVar8 + iVar9) * 2) * 2) * 2) *\n           2 + iVar16;\n  if ((iVar33 != 0) &&\n     (iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar33), iVar8 != 0)) {\n    if (iVar33 < iVar40) {\n      piVar50 = (int *)(puVar44 + iVar33 * 4);\n      iVar8 = *piVar50;\n      *piVar50 = iVar8 + 1;\n      if (iVar8 + 1 == 0) {\n        if (iVar40 <= iVar33 + 1) goto LAB_0005dbd4;\n        iVar8 = iVar33 + 2;\n        iVar9 = *(int *)(puVar44 + (iVar33 + 1) * 4) + 1;\n        *(int *)(puVar44 + (iVar33 + 1) * 4) = iVar9;\n        while (iVar9 == 0) {\n          if (iVar8 == iVar40) goto LAB_0005dbd4;\n          iVar8 = iVar8 + 1;\n          iVar9 = piVar50[2] + 1;\n          piVar50[2] = iVar9;\n          piVar50 = piVar50 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }\n  pmVar32 = bp + iVar40;\n  *(int *)(puVar44 + iVar43) = iVar16;\n  pmVar36 = pmVar37 + iVar40;\n  if (iVar40 == iVar41) {\n    mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar40);\n    *pmVar36 = mVar17;\n    puVar26 = bp + uVar39;\n    iVar8 = iVar40;\n    do {\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005ddc8;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    } while (uVar6 == puVar26[uVar39 + 2]);\n    if (puVar26[uVar39 + 2] < uVar6) {\nLAB_0005ddc8:\n      uVar6 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n    }\n    else {\n      uVar6 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n    }\nLAB_0005d5e4:\n    iVar8 = 0;\n    if (iVar41 == 0) {\nLAB_0005d5f0:\n      if ((pmVar37 != pmVar48) && (iVar8 < iVar45)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4);\n      }\n      if (uVar6 != 0) {\n        if (iVar41 != 0) goto LAB_0005df00;\n        iVar8 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar48,pmVar37,pmVar32,iVar41);\n    iVar8 = iVar41;\n    if (iVar9 == 0) goto LAB_0005d5f0;\n    if (iVar41 < iVar45) {\n      iVar8 = iVar41 + 1;\n      pmVar18 = pmVar37 + iVar41;\n      mVar17 = *pmVar18;\n      pmVar48[iVar41] = mVar17 + 1;\n      if (mVar17 + 1 == 0) {\n        if (iVar40 <= iVar41) goto LAB_0005da20;\n        iVar9 = iVar41 + 2;\n        mVar17 = pmVar37[iVar8] + 1;\n        pmVar48[iVar8] = mVar17;\n        pmVar20 = pmVar48 + iVar41;\n        while (iVar8 = iVar9, mVar17 == 0) {\n          if (iVar9 == iVar45) goto LAB_0005da20;\n          pmVar1 = pmVar18 + 2;\n          iVar9 = iVar9 + 1;\n          pmVar18 = pmVar18 + 1;\n          mVar17 = *pmVar1 + 1;\n          pmVar20[2] = mVar17;\n          pmVar20 = pmVar20 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar6 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar49,pmVar38,pmVar32,iVar41);\n    iVar8 = iVar41;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      mVar17 = 0;\n      if (pmVar38 != pmVar49) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4);\n          mVar17 = 0;\n        }\n        else {\n          mVar17 = 0;\n        }\n      }\n    }\n    else {\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = pmVar38 + iVar41;\n        mVar17 = *pmVar18;\n        pmVar49[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d678;\n          iVar9 = iVar41 + 2;\n          mVar17 = pmVar38[iVar8] + 1;\n          pmVar49[iVar8] = mVar17;\n          pmVar20 = pmVar49 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      mVar17 = 1;\n    }\nLAB_0005d678:\n    pmVar49[iVar40] = mVar17;\n    local_64 = local_64 ^ (uVar6 | 1);\n  }\n  else {\n    if (iVar41 == 0) {\n      iVar8 = 0;\nLAB_0005d51c:\n      mVar17 = 0;\n      if (pmVar37 != bp) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n        }\n        mVar17 = 0;\n      }\n    }\n    else {\n      iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) goto LAB_0005d51c;\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = bp + iVar41;\n        mVar17 = *pmVar18;\n        pmVar37[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d558;\n          iVar9 = iVar41 + 2;\n          mVar17 = bp[iVar8] + 1;\n          pmVar37[iVar8] = mVar17;\n          pmVar20 = pmVar37 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      mVar17 = 1;\n    }\nLAB_0005d558:\n    *pmVar36 = mVar17;\n    iVar9 = iVar40 - iVar41;\n    pmVar18 = bp + iVar41 + 0x3fffffff + iVar9;\n    iVar8 = iVar9;\n    do {\n      iVar8 = iVar8 + -1;\n      if (*pmVar18 != 0) goto LAB_0005d59c;\n      pmVar18 = pmVar18 + -1;\n    } while (iVar8 != 0);\n    puVar26 = bp + iVar41 + -1;\n    iVar8 = iVar41;\n    do {\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005d59c;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    } while (uVar6 == puVar26[uVar39 + 2]);\n    if (uVar6 <= puVar26[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n      uVar6 = 2;\n      (*(code *)PTR_memset_0009d2e8)(pmVar38 + iVar41,0,iVar9 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (iVar41 != 0) {\n      iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) {\nLAB_0005de34:\n        bVar2 = iVar8 < iVar40;\n        if (pmVar38 != bp) goto LAB_0005d5b4;\n        uVar6 = 0;\n      }\n      else {\n        if (iVar41 < iVar40) {\n          iVar8 = iVar41 + 1;\n          pmVar18 = bp + iVar41;\n          mVar17 = *pmVar18;\n          pmVar38[iVar41] = mVar17 - 1;\n          if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar6 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar8 = 0;\n    if (pmVar38 != bp) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n      }\n      uVar6 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((pmVar37 != pmVar48) && (0 < iVar45)) {\n      iVar8 = 0;\n      uVar6 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (iVar41 < iVar40) {\n      iVar8 = iVar40 - iVar41;\n      pmVar18 = pmVar38 + uVar39;\n      do {\n        iVar8 = iVar8 + -1;\n        if (*pmVar18 != 0) goto LAB_0005da5c;\n        pmVar18 = pmVar18 + -1;\n      } while (iVar8 != 0);\n      pmVar18 = pmVar38 + iVar41;\n      puVar26 = bp + iVar40 + iVar41 + -1;\n      iVar8 = iVar41;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005da5c;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005da5c:\n        iVar8 = 0;\n        if (iVar41 == 0) {\nLAB_0005da64:\n          bVar2 = iVar8 < iVar40;\n          if ((pmVar38 != pmVar49) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);\n          iVar8 = iVar41;\n          if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = iVar41 < iVar40;\n          if (pmVar38 != pmVar49) goto LAB_0005da78;\n        }\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41);\n        local_64 = local_64 ^ 1;\n        if (iVar45 != iVar41) {\n          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);\n        }\n      }\n    }\n    else {\n      pmVar18 = pmVar38 + uVar39 + 1;\n      puVar26 = bp + iVar40 + uVar39;\n      iVar8 = iVar40;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005dccc;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);\n        local_64 = local_64 ^ 1;\n        pmVar49[iVar40] = 0;\n      }\n    }\n  }\nLAB_0005d68c:\n  mVar17 = *pmVar36;\n  iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar5,pmVar37,bp,iVar40);\n  *(mp_limb_t *)(puVar5 + iVar43) = mVar17 + iVar8;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(scratch,&stack0xffffff68 + uVar4 * -3,pmVar48,iVar45);\n  pmVar47 = scratch + iVar40 * 2 + 1;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(pmVar47,&stack0xffffff68 + uVar4 * -4,pmVar49,iVar45);\n  pmVar21 = scratch + iVar40 * 4 + 2;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(pmVar21,puVar44,puVar5,iVar45);\n  pmVar42 = scratch + iVar40 * 6 + 3;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(pmVar42,puVar27,pmVar38,iVar40);\n  if (*(int *)(puVar27 + iVar43) == 1) {\n    mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)\n                       (scratch + iVar40 * 7 + 3,scratch + iVar40 * 7 + 3,pmVar38,iVar40);\n  }\n  else if (*(int *)(puVar27 + iVar43) == 2) {\n    mVar17 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(scratch + iVar40 * 7 + 3,pmVar38,iVar40,2);\n  }\n  else {\n    mVar17 = 0;\n  }\n  puVar53 = PTR___gmpn_mul_n_0009d364;\n  scratch[iVar40 * 8 + 3] = mVar17;\n  (*(code *)puVar53)(pp + iVar40 * 2,puVar25,pmVar37,iVar40);\n  mVar17 = *(mp_limb_t *)(puVar25 + iVar43);\n  if (mVar17 == 1) {\n    mVar17 = *pmVar36;\n    iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,pmVar37,iVar40);\n    mVar17 = mVar17 + iVar8;\n    mVar34 = *pmVar36;\n  }\n  else {\n    mVar34 = *pmVar36;\n    if (mVar17 == 2) {\n      iVar8 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,2);\n      iVar9 = mVar34 * 2;\n      mVar34 = *pmVar36;\n      mVar17 = iVar9 + iVar8;\n    }\n    else {\n      iVar8 = mVar17 * mVar34;\n      if (mVar17 != 0) {\n        iVar9 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17);\n        mVar34 = *pmVar36;\n        mVar17 = iVar8 + iVar9;\n      }\n    }\n  }\n  if (mVar34 != 0) {\n    iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,puVar25,iVar40);\n    mVar17 = mVar17 + iVar8;\n  }\n  puVar53 = PTR___gmpn_mul_n_0009d364;\n  pmVar46 = pp + iVar40 * 2 + iVar40 * 2;\n  *pmVar46 = mVar17;\n  (*(code *)puVar53)(pp,ap,bp,iVar40);\n  if (iVar41 < iVar33) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar41;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar28,iVar33,pmVar32);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar33;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar32,iVar41,pmVar28);\n  }\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pmVar21;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = scratch;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x18) = iVar33 + iVar41;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x1c) = scratch + iVar40 * 8 + 4;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = pmVar42;\n  iVar8 = iVar40;\n  pmVar31 = pmVar47;\n  (*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();\n  if (iVar19 == *(int *)puVar51) {\n    return;\n  }\n  uVar56 = 0x5e16c;\n  puVar51 = PTR___stack_chk_fail_0009d4d0;\n  (*(code *)PTR___stack_chk_fail_0009d4d0)();\n  puVar53 = puVar51 + 0x46ed0;\n  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -8) = iVar40;\n  *(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 4) = pmVar42;\n  *(uint *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) = local_64;\n  *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) = local_64 + 2;\n  *(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -8) = pmVar47;\n  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -4) = iVar33 + iVar41;\n  iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4);\n  pmVar42 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10);\n  *(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 8) = pmVar46;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) = pmVar31;\n  *(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) = puVar53;\n  *(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 0xc) = scratch + iVar40 * 8 + 4;\n  *(undefined4 *)((int)&uStack_c4 + iVar3 + uVar4 * -9) = uVar56;\n  *(undefined1 **)(auStack_c8 + iVar3 + uVar4 * -9) = auStack_c0;\n  uVar39 = (local_64 + 2) / 3;\n  *(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -4) = pmVar21;\n  *(mp_limb_t *)((int)amStack_e0 + iVar3 + uVar4 * -9) = mVar17;\n  iVar10 = uVar39 + 1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) = iVar8;\n  uVar6 = iVar19 + uVar39 * -2;\n  iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc);\n  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14) = iVar10 * 8;\n  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) = iVar10 * 0x10;\n  iVar19 = iVar10 * 8 + -8;\n  *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9) = iVar9 + uVar39 * -2;\n  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) = pmVar42 + iVar10 * 3;\n  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c) = iVar19;\n  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4) = pmVar42 + iVar10 * 4;\n  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = pp + iVar10 * 2;\n  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) = iVar10 * 4;\n  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = pmVar42 + iVar10 * 2;\n  pmVar47 = pp + iVar10;\n  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18) = iVar8 + iVar19;\n  if (uVar6 == 0) {\n    uVar7 = 0;\nLAB_0005e258:\n    pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\nLAB_0005e25c:\n    if ((pmVar42 == pmVar21) || ((int)uVar39 <= (int)uVar7)) {\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n      pmVar22 = (mp_limb_t *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4);\n      pmVar21 = pmVar42 + uVar7;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while (pmVar22 != (mp_limb_t *)(iVar19 + iVar9));\n    }\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;\n    iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar8,pmVar42,iVar12,uVar39);\n    piVar50 = (int *)(iVar8 + iVar9);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    iVar8 = (int)pmVar42 + iVar9;\n    *piVar50 = iVar19;\n    puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + (uVar39 - 1) * 4 + iVar9);\n    uVar7 = uVar39;\n    do {\n      uVar7 = uVar7 - 1;\n      if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n        *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar19 + iVar9;\n        goto LAB_0005e31c;\n      }\n      uVar23 = *(uint *)(iVar8 + -4);\n      uVar29 = *puVar26;\n      iVar8 = iVar8 + -4;\n      puVar26 = puVar26 + -1;\n    } while (uVar23 == uVar29);\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) =\n         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) + iVar9;\n    if (uVar29 < uVar23) {\n      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar11 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),iVar12,pmVar42,uVar39);\n    puVar55 = *(undefined4 **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n    *puVar55 = 0;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar51 + 0x3f1c4))(pmVar42);\n    puVar53 = *(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    uVar7 = uVar6;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar6 < (int)uVar39) {\n      uVar23 = uVar6 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar6 * 4);\n      iVar19 = *piVar50;\n      pmVar42[uVar6] = iVar19 + 1U;\n      uVar7 = uVar23;\n      if (iVar19 + 1U != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar23) goto LAB_0005eac8;\n      uVar7 = uVar6 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4) + 1;\n      pmVar42[uVar23] = mVar17;\n      pmVar21 = pmVar42 + uVar6;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005eac8;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e258;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n    piVar50 = (int *)(iVar19 + iVar9);\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;\n    iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar19,pmVar42,iVar12,uVar39);\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *piVar50 = iVar19 + 1;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 + iVar9;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),pmVar42,iVar12,\n                        uVar39);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;\n    iVar8 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n    **(int **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 - iVar19;\n  }\n  iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n  uVar7 = (**(code **)(iVar11 + -0x7d0c))\n                    (pmVar47,*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18),iVar8,\n                     uVar6);\n  iVar19 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  if (uVar39 != uVar6) {\n    iVar11 = uVar39 - uVar6;\n    puVar35 = (uint *)(iVar8 + uVar6 * 4);\n    puVar26 = pmVar47 + uVar6;\n    uVar23 = *puVar35;\n    *puVar26 = uVar7 + uVar23;\n    if (uVar7 + uVar23 < uVar7) {\n      uVar7 = 1;\n      if (1 < iVar11) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar11 == 2) goto LAB_0005e408;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar8 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar8 = 3;\n          }\n        }\n        else {\n          iVar8 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar11 <= iVar8) goto LAB_0005ea24;\n          puVar24 = puVar35 + iVar8;\n          puVar26 = puVar26 + iVar8;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar24 != puVar35 + iVar11);\n          uVar7 = 0;\n        }\n      }\n    }\n    else {\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar11) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar24 != puVar35 + iVar11);\n        }\nLAB_0005ea24:\n        uVar7 = 0;\n      }\n    }\n  }\nLAB_0005e408:\n  iVar13 = *piVar50;\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(pmVar47,pmVar47,uVar39,1);\n  iVar8 = (**(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7b2c))\n                    (pmVar47,pmVar47,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9),uVar39);\n  iVar12 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c);\n  iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  iVar11 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n  *(uint *)((int)pmVar47 + iVar9) = (iVar19 - iVar8) + (uVar7 + iVar13) * 2;\n  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar11 + iVar12;\n  iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9);\n  if (iVar19 == 0) {\n    uVar7 = 0;\nLAB_0005e480:\n    pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar23 = uVar7;\nLAB_0005e484:\n    if ((pmVar42 != pmVar21) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8), (int)uVar23 < (int)uVar39)) {\n      pmVar22 = (mp_limb_t *)(iVar19 + uVar23 * 4);\n      pmVar21 = pmVar42 + uVar23;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while ((mp_limb_t *)(iVar19 + iVar9) != pmVar22);\n    }\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;\n    uVar56 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    iVar19 = (int)pmVar42 + iVar9;\n    *(undefined4 *)((int)pp + iVar9) = uVar56;\n    puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + (uVar39 - 1) * 4 + iVar9\n                      );\n    uVar7 = uVar39;\n    do {\n      uVar7 = uVar7 - 1;\n      if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n        *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar19 + iVar9;\n        goto LAB_0005e534;\n      }\n      uVar23 = *(uint *)(iVar19 + -4);\n      uVar29 = *puVar26;\n      iVar19 = iVar19 + -4;\n      puVar26 = puVar26 + -1;\n    } while (uVar23 == uVar29);\n    *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) + iVar9;\n    if (uVar29 < uVar23) {\n      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar11 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),iVar12,pmVar42,uVar39);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) =\n         *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc);\n    **(undefined4 **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = 0;\n  }\n  else {\n    iVar8 = (**(code **)(iVar14 + -0x7d0c))\n                      (pmVar42,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8),\n                       *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),iVar19);\n    iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar7 = iVar19 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar19 * 4);\n      iVar8 = *piVar50;\n      pmVar42[iVar19] = iVar8 + 1U;\n      if (iVar8 + 1U != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar7) goto LAB_0005ec00;\n      uVar23 = iVar19 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4) + 1;\n      pmVar42[uVar7] = mVar17;\n      uVar7 = uVar23;\n      pmVar21 = pmVar42 + iVar19;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005ec00;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e480;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(int *)((int)pp + iVar9) = iVar19 + 1;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;\n    *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar8 + iVar9;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),pmVar42,iVar12\n                        ,uVar39);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    **(int **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) - iVar19;\n  }\n  uVar23 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);\n  uVar7 = (**(code **)(iVar8 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4),pp,\n                     *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),uVar23);\n  iVar19 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  if (uVar39 != uVar23) {\n    iVar8 = uVar39 - uVar23;\n    puVar35 = pp + uVar23;\n    puVar26 = (uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + uVar23 * 4);\n    uVar23 = *puVar35;\n    *puVar26 = uVar7 + uVar23;\n    if (uVar7 + uVar23 < uVar7) {\n      uVar7 = 1;\n      if (1 < iVar8) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar8 == 2) goto LAB_0005e618;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar11 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar8 <= iVar11) goto LAB_0005e9e8;\n          puVar24 = puVar35 + iVar11;\n          puVar26 = puVar26 + iVar11;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar35 + iVar8 != puVar24);\n          uVar7 = 0;\n        }\n      }\n    }\n    else {\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar8) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar35 + iVar8 != puVar24);\n        }\nLAB_0005e9e8:\n        uVar7 = 0;\n      }\n    }\n  }\nLAB_0005e618:\n  iVar12 = *(int *)((int)pp + iVar9);\n  uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar54,uVar54,uVar39,1);\n  iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n  *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar54;\n  iVar8 = (**(code **)(iVar8 + -0x7b2c))(uVar54,uVar54,uVar56,uVar39);\n  iVar11 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14);\n  iVar13 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  uVar23 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14);\n  *(uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + iVar9) =\n       (iVar19 - iVar8) + (uVar7 + iVar12) * 2;\n  bVar2 = uVar23 < 0x39;\n  iVar19 = (int)pmVar42 + iVar11 + -4;\n  if (bVar2) {\n    pcVar52 = *(code **)(iVar13 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n    pcVar52 = *(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\nLAB_0005e6f8:\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar52 = *(code **)(iVar8 + -0x7d8c);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9) =\n         *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9);\n    (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    mVar17 = *pmVar47;\n    puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));\n    uVar56 = *puVar55;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;\n    pmVar21 = pmVar42 + iVar9 + iVar10;\n    if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar47,uVar56,iVar10,pp);\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar7 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      __gmpn_toom33_mul(pmVar47,pmVar28,iVar10,pp,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar39 != 0x31) {\n        pmVar32 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n        pmVar28 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n        *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n        __gmpn_toom33_mul(pp,pmVar28,uVar39,pmVar32,\n                          *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                          *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n        iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar52 = *(code **)(iVar8 + -0x7f84);\n    uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n    (*pcVar52)(pp,uVar56,uVar39,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  }\n  else {\n    pmVar21 = pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n    if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {\n      pcVar52 = *(code **)(iVar13 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e6f8;\n    }\n    iVar8 = *(int *)(iVar13 + -0x7fc0);\n    pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = iVar8 + -0x1e90;\n    __gmpn_toom33_mul(pmVar42,pmVar28,iVar10,pmVar32,\n                      *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n    pcVar52 = *(code **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar6 < 0x14) {\n      pcVar52 = *(code **)(iVar8 + -0x7bd0);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else if ((int)uVar6 < 0x32) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else {\n      pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      __gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    mVar17 = *pmVar47;\n    puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));\n    uVar56 = *puVar55;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar52 = *(code **)(iVar8 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(pmVar47,uVar54,iVar10,pp);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\nLAB_0005e990:\n    pcVar52 = *(code **)(iVar8 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n    (*pcVar52)(pp,uVar56,uVar39,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  }\nLAB_0005e7f0:\n  iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9);\n  uVar56 = *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18);\n  pcVar52 = *(code **)(iVar8 + -0x7cf8);\n  *(mp_limb_t *)((int)amStack_138 + iVar3 + uVar4 * -9) = mVar17;\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = uVar56;\n  *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6 + iVar9;\n  (*pcVar52)(pp,iVar19,pmVar42,uVar39);\n  return;\n}" primitive_type (function_declarator "__gmpn_toom62_mul(mp_ptr pp,mp_srcptr ap,mp_size_t an,mp_srcptr bp,mp_size_t bn,mp_ptr scratch)" identifier (parameter_list "(mp_ptr pp,mp_srcptr ap,mp_size_t an,mp_srcptr bp,mp_size_t bn,mp_ptr scratch)" ( (parameter_declaration "mp_ptr pp" type_identifier identifier) , (parameter_declaration "mp_srcptr ap" type_identifier identifier) , (parameter_declaration "mp_size_t an" type_identifier identifier) , (parameter_declaration "mp_srcptr bp" type_identifier identifier) , (parameter_declaration "mp_size_t bn" type_identifier identifier) , (parameter_declaration "mp_ptr scratch" type_identifier identifier) ))) (compound_statement "{\n  mp_srcptr pmVar1;\n  bool bVar2;\n  int iVar3;\n  uint uVar4;\n  undefined1 *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  mp_limb_t mVar17;\n  mp_srcptr pmVar18;\n  int iVar19;\n  mp_srcptr pmVar20;\n  mp_ptr pmVar21;\n  mp_limb_t *pmVar22;\n  uint uVar23;\n  uint *puVar24;\n  undefined1 *puVar25;\n  uint *puVar26;\n  undefined1 *puVar27;\n  mp_srcptr pmVar28;\n  uint uVar29;\n  uint *puVar30;\n  mp_ptr pmVar31;\n  mp_srcptr pmVar32;\n  int iVar33;\n  mp_limb_t mVar34;\n  uint *puVar35;\n  mp_srcptr pmVar36;\n  mp_srcptr pmVar37;\n  mp_srcptr pmVar38;\n  uint uVar39;\n  int iVar40;\n  int iVar41;\n  mp_ptr pmVar42;\n  int iVar43;\n  undefined1 *puVar44;\n  int iVar45;\n  mp_ptr pmVar46;\n  mp_ptr pmVar47;\n  mp_srcptr pmVar48;\n  mp_srcptr pmVar49;\n  int *piVar50;\n  undefined *puVar51;\n  code *pcVar52;\n  undefined *puVar53;\n  undefined4 uVar54;\n  undefined4 *puVar55;\n  undefined4 uVar56;\n  uint auStack_140 [2];\n  mp_limb_t amStack_138 [6];\n  uint auStack_120 [16];\n  mp_limb_t amStack_e0 [6];\n  undefined1 auStack_c8 [4];\n  undefined4 uStack_c4;\n  undefined1 auStack_c0 [4];\n  int aiStack_bc [9];\n  uint local_64;\n  \n  puVar51 = PTR___stack_chk_guard_0009d540;\n  iVar19 = *(int *)PTR___stack_chk_guard_0009d540;\n  if (an < bn * 3) {\n    uVar39 = bn + -1 >> 1;\n  }\n  else {\n    uVar39 = (an - 1U) / 6;\n  }\n  iVar40 = uVar39 + 1;\n  iVar45 = uVar39 + 2;\n  iVar43 = iVar40 * 4;\n  iVar33 = an + iVar40 * -5;\n  uVar4 = iVar45 * 4 + 7U & 0xfffffff8;\n  puVar25 = &stack0xffffff68 + -uVar4;\n  puVar27 = &stack0xffffff68 + uVar4 * -2;\n  iVar41 = bn - iVar40;\n  puVar44 = &stack0xffffff68 + uVar4 * -5;\n  pmVar37 = (mp_srcptr)(&stack0xffffff68 + uVar4 * -6);\n  iVar3 = -(iVar43 + 7U & 0xfffffff8);\n  pmVar28 = ap + iVar40;\n  pmVar38 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -6);\n  pmVar36 = pmVar28 + iVar40;\n  pmVar48 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -7);\n  pmVar49 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -8);\n  pmVar32 = pmVar36 + iVar40;\n  puVar5 = &stack0xffffff68 + iVar3 + uVar4 * -9;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = iVar33;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar40;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pp;\n  uVar6 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar25,puVar27,5,ap);\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = iVar33;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pp;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar40;\n  uVar7 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar4 * -3,&stack0xffffff68 + uVar4 * -4,5,ap);\n  local_64 = uVar7 & 1 | uVar6 & 2;\n  iVar8 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,ap,iVar40,1);\n  iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar40);\n  iVar10 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);\n  iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar36,iVar40);\n  iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);\n  iVar13 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar32,iVar40);\n  iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);\n  iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar32 + iVar40,iVar40);\n  iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);\n  pmVar28 = pmVar32 + iVar40 + iVar40;\n  iVar16 = (iVar14 + iVar15 + (iVar12 + iVar13 + (iVar10 + iVar11 + (iVar8 + iVar9) * 2) * 2) * 2) *\n           2 + iVar16;\n  if ((iVar33 != 0) &&\n     (iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar33), iVar8 != 0)) {\n    if (iVar33 < iVar40) {\n      piVar50 = (int *)(puVar44 + iVar33 * 4);\n      iVar8 = *piVar50;\n      *piVar50 = iVar8 + 1;\n      if (iVar8 + 1 == 0) {\n        if (iVar40 <= iVar33 + 1) goto LAB_0005dbd4;\n        iVar8 = iVar33 + 2;\n        iVar9 = *(int *)(puVar44 + (iVar33 + 1) * 4) + 1;\n        *(int *)(puVar44 + (iVar33 + 1) * 4) = iVar9;\n        while (iVar9 == 0) {\n          if (iVar8 == iVar40) goto LAB_0005dbd4;\n          iVar8 = iVar8 + 1;\n          iVar9 = piVar50[2] + 1;\n          piVar50[2] = iVar9;\n          piVar50 = piVar50 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }\n  pmVar32 = bp + iVar40;\n  *(int *)(puVar44 + iVar43) = iVar16;\n  pmVar36 = pmVar37 + iVar40;\n  if (iVar40 == iVar41) {\n    mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar40);\n    *pmVar36 = mVar17;\n    puVar26 = bp + uVar39;\n    iVar8 = iVar40;\n    do {\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005ddc8;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    } while (uVar6 == puVar26[uVar39 + 2]);\n    if (puVar26[uVar39 + 2] < uVar6) {\nLAB_0005ddc8:\n      uVar6 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n    }\n    else {\n      uVar6 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n    }\nLAB_0005d5e4:\n    iVar8 = 0;\n    if (iVar41 == 0) {\nLAB_0005d5f0:\n      if ((pmVar37 != pmVar48) && (iVar8 < iVar45)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4);\n      }\n      if (uVar6 != 0) {\n        if (iVar41 != 0) goto LAB_0005df00;\n        iVar8 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar48,pmVar37,pmVar32,iVar41);\n    iVar8 = iVar41;\n    if (iVar9 == 0) goto LAB_0005d5f0;\n    if (iVar41 < iVar45) {\n      iVar8 = iVar41 + 1;\n      pmVar18 = pmVar37 + iVar41;\n      mVar17 = *pmVar18;\n      pmVar48[iVar41] = mVar17 + 1;\n      if (mVar17 + 1 == 0) {\n        if (iVar40 <= iVar41) goto LAB_0005da20;\n        iVar9 = iVar41 + 2;\n        mVar17 = pmVar37[iVar8] + 1;\n        pmVar48[iVar8] = mVar17;\n        pmVar20 = pmVar48 + iVar41;\n        while (iVar8 = iVar9, mVar17 == 0) {\n          if (iVar9 == iVar45) goto LAB_0005da20;\n          pmVar1 = pmVar18 + 2;\n          iVar9 = iVar9 + 1;\n          pmVar18 = pmVar18 + 1;\n          mVar17 = *pmVar1 + 1;\n          pmVar20[2] = mVar17;\n          pmVar20 = pmVar20 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar6 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar49,pmVar38,pmVar32,iVar41);\n    iVar8 = iVar41;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      mVar17 = 0;\n      if (pmVar38 != pmVar49) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4);\n          mVar17 = 0;\n        }\n        else {\n          mVar17 = 0;\n        }\n      }\n    }\n    else {\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = pmVar38 + iVar41;\n        mVar17 = *pmVar18;\n        pmVar49[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d678;\n          iVar9 = iVar41 + 2;\n          mVar17 = pmVar38[iVar8] + 1;\n          pmVar49[iVar8] = mVar17;\n          pmVar20 = pmVar49 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      mVar17 = 1;\n    }\nLAB_0005d678:\n    pmVar49[iVar40] = mVar17;\n    local_64 = local_64 ^ (uVar6 | 1);\n  }\n  else {\n    if (iVar41 == 0) {\n      iVar8 = 0;\nLAB_0005d51c:\n      mVar17 = 0;\n      if (pmVar37 != bp) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n        }\n        mVar17 = 0;\n      }\n    }\n    else {\n      iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) goto LAB_0005d51c;\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = bp + iVar41;\n        mVar17 = *pmVar18;\n        pmVar37[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d558;\n          iVar9 = iVar41 + 2;\n          mVar17 = bp[iVar8] + 1;\n          pmVar37[iVar8] = mVar17;\n          pmVar20 = pmVar37 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      mVar17 = 1;\n    }\nLAB_0005d558:\n    *pmVar36 = mVar17;\n    iVar9 = iVar40 - iVar41;\n    pmVar18 = bp + iVar41 + 0x3fffffff + iVar9;\n    iVar8 = iVar9;\n    do {\n      iVar8 = iVar8 + -1;\n      if (*pmVar18 != 0) goto LAB_0005d59c;\n      pmVar18 = pmVar18 + -1;\n    } while (iVar8 != 0);\n    puVar26 = bp + iVar41 + -1;\n    iVar8 = iVar41;\n    do {\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005d59c;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    } while (uVar6 == puVar26[uVar39 + 2]);\n    if (uVar6 <= puVar26[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n      uVar6 = 2;\n      (*(code *)PTR_memset_0009d2e8)(pmVar38 + iVar41,0,iVar9 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (iVar41 != 0) {\n      iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) {\nLAB_0005de34:\n        bVar2 = iVar8 < iVar40;\n        if (pmVar38 != bp) goto LAB_0005d5b4;\n        uVar6 = 0;\n      }\n      else {\n        if (iVar41 < iVar40) {\n          iVar8 = iVar41 + 1;\n          pmVar18 = bp + iVar41;\n          mVar17 = *pmVar18;\n          pmVar38[iVar41] = mVar17 - 1;\n          if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar6 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar8 = 0;\n    if (pmVar38 != bp) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n      }\n      uVar6 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((pmVar37 != pmVar48) && (0 < iVar45)) {\n      iVar8 = 0;\n      uVar6 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (iVar41 < iVar40) {\n      iVar8 = iVar40 - iVar41;\n      pmVar18 = pmVar38 + uVar39;\n      do {\n        iVar8 = iVar8 + -1;\n        if (*pmVar18 != 0) goto LAB_0005da5c;\n        pmVar18 = pmVar18 + -1;\n      } while (iVar8 != 0);\n      pmVar18 = pmVar38 + iVar41;\n      puVar26 = bp + iVar40 + iVar41 + -1;\n      iVar8 = iVar41;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005da5c;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005da5c:\n        iVar8 = 0;\n        if (iVar41 == 0) {\nLAB_0005da64:\n          bVar2 = iVar8 < iVar40;\n          if ((pmVar38 != pmVar49) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);\n          iVar8 = iVar41;\n          if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = iVar41 < iVar40;\n          if (pmVar38 != pmVar49) goto LAB_0005da78;\n        }\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41);\n        local_64 = local_64 ^ 1;\n        if (iVar45 != iVar41) {\n          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);\n        }\n      }\n    }\n    else {\n      pmVar18 = pmVar38 + uVar39 + 1;\n      puVar26 = bp + iVar40 + uVar39;\n      iVar8 = iVar40;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005dccc;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);\n        local_64 = local_64 ^ 1;\n        pmVar49[iVar40] = 0;\n      }\n    }\n  }\nLAB_0005d68c:\n  mVar17 = *pmVar36;\n  iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar5,pmVar37,bp,iVar40);\n  *(mp_limb_t *)(puVar5 + iVar43) = mVar17 + iVar8;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(scratch,&stack0xffffff68 + uVar4 * -3,pmVar48,iVar45);\n  pmVar47 = scratch + iVar40 * 2 + 1;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(pmVar47,&stack0xffffff68 + uVar4 * -4,pmVar49,iVar45);\n  pmVar21 = scratch + iVar40 * 4 + 2;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(pmVar21,puVar44,puVar5,iVar45);\n  pmVar42 = scratch + iVar40 * 6 + 3;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(pmVar42,puVar27,pmVar38,iVar40);\n  if (*(int *)(puVar27 + iVar43) == 1) {\n    mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)\n                       (scratch + iVar40 * 7 + 3,scratch + iVar40 * 7 + 3,pmVar38,iVar40);\n  }\n  else if (*(int *)(puVar27 + iVar43) == 2) {\n    mVar17 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(scratch + iVar40 * 7 + 3,pmVar38,iVar40,2);\n  }\n  else {\n    mVar17 = 0;\n  }\n  puVar53 = PTR___gmpn_mul_n_0009d364;\n  scratch[iVar40 * 8 + 3] = mVar17;\n  (*(code *)puVar53)(pp + iVar40 * 2,puVar25,pmVar37,iVar40);\n  mVar17 = *(mp_limb_t *)(puVar25 + iVar43);\n  if (mVar17 == 1) {\n    mVar17 = *pmVar36;\n    iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,pmVar37,iVar40);\n    mVar17 = mVar17 + iVar8;\n    mVar34 = *pmVar36;\n  }\n  else {\n    mVar34 = *pmVar36;\n    if (mVar17 == 2) {\n      iVar8 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,2);\n      iVar9 = mVar34 * 2;\n      mVar34 = *pmVar36;\n      mVar17 = iVar9 + iVar8;\n    }\n    else {\n      iVar8 = mVar17 * mVar34;\n      if (mVar17 != 0) {\n        iVar9 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17);\n        mVar34 = *pmVar36;\n        mVar17 = iVar8 + iVar9;\n      }\n    }\n  }\n  if (mVar34 != 0) {\n    iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,puVar25,iVar40);\n    mVar17 = mVar17 + iVar8;\n  }\n  puVar53 = PTR___gmpn_mul_n_0009d364;\n  pmVar46 = pp + iVar40 * 2 + iVar40 * 2;\n  *pmVar46 = mVar17;\n  (*(code *)puVar53)(pp,ap,bp,iVar40);\n  if (iVar41 < iVar33) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar41;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar28,iVar33,pmVar32);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar33;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar32,iVar41,pmVar28);\n  }\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pmVar21;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = scratch;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x18) = iVar33 + iVar41;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x1c) = scratch + iVar40 * 8 + 4;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = pmVar42;\n  iVar8 = iVar40;\n  pmVar31 = pmVar47;\n  (*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();\n  if (iVar19 == *(int *)puVar51) {\n    return;\n  }\n  uVar56 = 0x5e16c;\n  puVar51 = PTR___stack_chk_fail_0009d4d0;\n  (*(code *)PTR___stack_chk_fail_0009d4d0)();\n  puVar53 = puVar51 + 0x46ed0;\n  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -8) = iVar40;\n  *(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 4) = pmVar42;\n  *(uint *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) = local_64;\n  *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) = local_64 + 2;\n  *(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -8) = pmVar47;\n  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -4) = iVar33 + iVar41;\n  iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4);\n  pmVar42 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10);\n  *(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 8) = pmVar46;\n  *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) = pmVar31;\n  *(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) = puVar53;\n  *(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 0xc) = scratch + iVar40 * 8 + 4;\n  *(undefined4 *)((int)&uStack_c4 + iVar3 + uVar4 * -9) = uVar56;\n  *(undefined1 **)(auStack_c8 + iVar3 + uVar4 * -9) = auStack_c0;\n  uVar39 = (local_64 + 2) / 3;\n  *(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -4) = pmVar21;\n  *(mp_limb_t *)((int)amStack_e0 + iVar3 + uVar4 * -9) = mVar17;\n  iVar10 = uVar39 + 1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) = iVar8;\n  uVar6 = iVar19 + uVar39 * -2;\n  iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc);\n  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14) = iVar10 * 8;\n  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) = iVar10 * 0x10;\n  iVar19 = iVar10 * 8 + -8;\n  *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9) = iVar9 + uVar39 * -2;\n  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) = pmVar42 + iVar10 * 3;\n  *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c) = iVar19;\n  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4) = pmVar42 + iVar10 * 4;\n  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = pp + iVar10 * 2;\n  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) = iVar10 * 4;\n  *(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = pmVar42 + iVar10 * 2;\n  pmVar47 = pp + iVar10;\n  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18) = iVar8 + iVar19;\n  if (uVar6 == 0) {\n    uVar7 = 0;\nLAB_0005e258:\n    pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\nLAB_0005e25c:\n    if ((pmVar42 == pmVar21) || ((int)uVar39 <= (int)uVar7)) {\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n      pmVar22 = (mp_limb_t *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4);\n      pmVar21 = pmVar42 + uVar7;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while (pmVar22 != (mp_limb_t *)(iVar19 + iVar9));\n    }\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;\n    iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar8,pmVar42,iVar12,uVar39);\n    piVar50 = (int *)(iVar8 + iVar9);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    iVar8 = (int)pmVar42 + iVar9;\n    *piVar50 = iVar19;\n    puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + (uVar39 - 1) * 4 + iVar9);\n    uVar7 = uVar39;\n    do {\n      uVar7 = uVar7 - 1;\n      if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n        *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar19 + iVar9;\n        goto LAB_0005e31c;\n      }\n      uVar23 = *(uint *)(iVar8 + -4);\n      uVar29 = *puVar26;\n      iVar8 = iVar8 + -4;\n      puVar26 = puVar26 + -1;\n    } while (uVar23 == uVar29);\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) =\n         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) + iVar9;\n    if (uVar29 < uVar23) {\n      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar11 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),iVar12,pmVar42,uVar39);\n    puVar55 = *(undefined4 **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n    *puVar55 = 0;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar51 + 0x3f1c4))(pmVar42);\n    puVar53 = *(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    uVar7 = uVar6;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar6 < (int)uVar39) {\n      uVar23 = uVar6 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar6 * 4);\n      iVar19 = *piVar50;\n      pmVar42[uVar6] = iVar19 + 1U;\n      uVar7 = uVar23;\n      if (iVar19 + 1U != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar23) goto LAB_0005eac8;\n      uVar7 = uVar6 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4) + 1;\n      pmVar42[uVar23] = mVar17;\n      pmVar21 = pmVar42 + uVar6;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005eac8;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e258;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n    piVar50 = (int *)(iVar19 + iVar9);\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;\n    iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar19,pmVar42,iVar12,uVar39);\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *piVar50 = iVar19 + 1;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 + iVar9;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),pmVar42,iVar12,\n                        uVar39);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;\n    iVar8 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n    **(int **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 - iVar19;\n  }\n  iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n  uVar7 = (**(code **)(iVar11 + -0x7d0c))\n                    (pmVar47,*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18),iVar8,\n                     uVar6);\n  iVar19 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  if (uVar39 != uVar6) {\n    iVar11 = uVar39 - uVar6;\n    puVar35 = (uint *)(iVar8 + uVar6 * 4);\n    puVar26 = pmVar47 + uVar6;\n    uVar23 = *puVar35;\n    *puVar26 = uVar7 + uVar23;\n    if (uVar7 + uVar23 < uVar7) {\n      uVar7 = 1;\n      if (1 < iVar11) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar11 == 2) goto LAB_0005e408;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar8 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar8 = 3;\n          }\n        }\n        else {\n          iVar8 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar11 <= iVar8) goto LAB_0005ea24;\n          puVar24 = puVar35 + iVar8;\n          puVar26 = puVar26 + iVar8;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar24 != puVar35 + iVar11);\n          uVar7 = 0;\n        }\n      }\n    }\n    else {\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar11) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar24 != puVar35 + iVar11);\n        }\nLAB_0005ea24:\n        uVar7 = 0;\n      }\n    }\n  }\nLAB_0005e408:\n  iVar13 = *piVar50;\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(pmVar47,pmVar47,uVar39,1);\n  iVar8 = (**(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7b2c))\n                    (pmVar47,pmVar47,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9),uVar39);\n  iVar12 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c);\n  iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  iVar11 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n  *(uint *)((int)pmVar47 + iVar9) = (iVar19 - iVar8) + (uVar7 + iVar13) * 2;\n  *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar11 + iVar12;\n  iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9);\n  if (iVar19 == 0) {\n    uVar7 = 0;\nLAB_0005e480:\n    pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar23 = uVar7;\nLAB_0005e484:\n    if ((pmVar42 != pmVar21) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8), (int)uVar23 < (int)uVar39)) {\n      pmVar22 = (mp_limb_t *)(iVar19 + uVar23 * 4);\n      pmVar21 = pmVar42 + uVar23;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while ((mp_limb_t *)(iVar19 + iVar9) != pmVar22);\n    }\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;\n    uVar56 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    iVar19 = (int)pmVar42 + iVar9;\n    *(undefined4 *)((int)pp + iVar9) = uVar56;\n    puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + (uVar39 - 1) * 4 + iVar9\n                      );\n    uVar7 = uVar39;\n    do {\n      uVar7 = uVar7 - 1;\n      if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n        *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar19 + iVar9;\n        goto LAB_0005e534;\n      }\n      uVar23 = *(uint *)(iVar19 + -4);\n      uVar29 = *puVar26;\n      iVar19 = iVar19 + -4;\n      puVar26 = puVar26 + -1;\n    } while (uVar23 == uVar29);\n    *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) + iVar9;\n    if (uVar29 < uVar23) {\n      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar11 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),iVar12,pmVar42,uVar39);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) =\n         *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc);\n    **(undefined4 **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = 0;\n  }\n  else {\n    iVar8 = (**(code **)(iVar14 + -0x7d0c))\n                      (pmVar42,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8),\n                       *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),iVar19);\n    iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar7 = iVar19 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar19 * 4);\n      iVar8 = *piVar50;\n      pmVar42[iVar19] = iVar8 + 1U;\n      if (iVar8 + 1U != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar7) goto LAB_0005ec00;\n      uVar23 = iVar19 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4) + 1;\n      pmVar42[uVar7] = mVar17;\n      uVar7 = uVar23;\n      pmVar21 = pmVar42 + iVar19;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005ec00;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e480;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(int *)((int)pp + iVar9) = iVar19 + 1;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;\n    *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar8 + iVar9;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),pmVar42,iVar12\n                        ,uVar39);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    **(int **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) - iVar19;\n  }\n  uVar23 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);\n  uVar7 = (**(code **)(iVar8 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4),pp,\n                     *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),uVar23);\n  iVar19 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  if (uVar39 != uVar23) {\n    iVar8 = uVar39 - uVar23;\n    puVar35 = pp + uVar23;\n    puVar26 = (uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + uVar23 * 4);\n    uVar23 = *puVar35;\n    *puVar26 = uVar7 + uVar23;\n    if (uVar7 + uVar23 < uVar7) {\n      uVar7 = 1;\n      if (1 < iVar8) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar8 == 2) goto LAB_0005e618;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar11 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar8 <= iVar11) goto LAB_0005e9e8;\n          puVar24 = puVar35 + iVar11;\n          puVar26 = puVar26 + iVar11;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar35 + iVar8 != puVar24);\n          uVar7 = 0;\n        }\n      }\n    }\n    else {\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar8) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar35 + iVar8 != puVar24);\n        }\nLAB_0005e9e8:\n        uVar7 = 0;\n      }\n    }\n  }\nLAB_0005e618:\n  iVar12 = *(int *)((int)pp + iVar9);\n  uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar54,uVar54,uVar39,1);\n  iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n  *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar54;\n  iVar8 = (**(code **)(iVar8 + -0x7b2c))(uVar54,uVar54,uVar56,uVar39);\n  iVar11 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14);\n  iVar13 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  uVar23 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14);\n  *(uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + iVar9) =\n       (iVar19 - iVar8) + (uVar7 + iVar12) * 2;\n  bVar2 = uVar23 < 0x39;\n  iVar19 = (int)pmVar42 + iVar11 + -4;\n  if (bVar2) {\n    pcVar52 = *(code **)(iVar13 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n    pcVar52 = *(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\nLAB_0005e6f8:\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar52 = *(code **)(iVar8 + -0x7d8c);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9) =\n         *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9);\n    (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    mVar17 = *pmVar47;\n    puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));\n    uVar56 = *puVar55;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;\n    pmVar21 = pmVar42 + iVar9 + iVar10;\n    if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar47,uVar56,iVar10,pp);\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar7 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      __gmpn_toom33_mul(pmVar47,pmVar28,iVar10,pp,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar39 != 0x31) {\n        pmVar32 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n        pmVar28 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n        *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n        __gmpn_toom33_mul(pp,pmVar28,uVar39,pmVar32,\n                          *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                          *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n        iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar52 = *(code **)(iVar8 + -0x7f84);\n    uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n    (*pcVar52)(pp,uVar56,uVar39,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  }\n  else {\n    pmVar21 = pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n    if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {\n      pcVar52 = *(code **)(iVar13 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e6f8;\n    }\n    iVar8 = *(int *)(iVar13 + -0x7fc0);\n    pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = iVar8 + -0x1e90;\n    __gmpn_toom33_mul(pmVar42,pmVar28,iVar10,pmVar32,\n                      *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n    pcVar52 = *(code **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar6 < 0x14) {\n      pcVar52 = *(code **)(iVar8 + -0x7bd0);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else if ((int)uVar6 < 0x32) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else {\n      pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      __gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    mVar17 = *pmVar47;\n    puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));\n    uVar56 = *puVar55;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar52 = *(code **)(iVar8 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(pmVar47,uVar54,iVar10,pp);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\nLAB_0005e990:\n    pcVar52 = *(code **)(iVar8 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n    (*pcVar52)(pp,uVar56,uVar39,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  }\nLAB_0005e7f0:\n  iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9);\n  uVar56 = *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18);\n  pcVar52 = *(code **)(iVar8 + -0x7cf8);\n  *(mp_limb_t *)((int)amStack_138 + iVar3 + uVar4 * -9) = mVar17;\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = uVar56;\n  *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6 + iVar9;\n  (*pcVar52)(pp,iVar19,pmVar42,uVar39);\n  return;\n}" { (declaration "mp_srcptr pmVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "mp_limb_t mVar17;" type_identifier identifier ;) (declaration "mp_srcptr pmVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "mp_srcptr pmVar20;" type_identifier identifier ;) (declaration "mp_ptr pmVar21;" type_identifier identifier ;) (declaration "mp_limb_t *pmVar22;" type_identifier (pointer_declarator "*pmVar22" * identifier) ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "uint *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined1 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "uint *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "undefined1 *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "mp_srcptr pmVar28;" type_identifier identifier ;) (declaration "uint uVar29;" type_identifier identifier ;) (declaration "uint *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "mp_ptr pmVar31;" type_identifier identifier ;) (declaration "mp_srcptr pmVar32;" type_identifier identifier ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "mp_limb_t mVar34;" type_identifier identifier ;) (declaration "uint *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "mp_srcptr pmVar36;" type_identifier identifier ;) (declaration "mp_srcptr pmVar37;" type_identifier identifier ;) (declaration "mp_srcptr pmVar38;" type_identifier identifier ;) (declaration "uint uVar39;" type_identifier identifier ;) (declaration "int iVar40;" primitive_type identifier ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "mp_ptr pmVar42;" type_identifier identifier ;) (declaration "int iVar43;" primitive_type identifier ;) (declaration "undefined1 *puVar44;" type_identifier (pointer_declarator "*puVar44" * identifier) ;) (declaration "int iVar45;" primitive_type identifier ;) (declaration "mp_ptr pmVar46;" type_identifier identifier ;) (declaration "mp_ptr pmVar47;" type_identifier identifier ;) (declaration "mp_srcptr pmVar48;" type_identifier identifier ;) (declaration "mp_srcptr pmVar49;" type_identifier identifier ;) (declaration "int *piVar50;" primitive_type (pointer_declarator "*piVar50" * identifier) ;) (declaration "undefined *puVar51;" type_identifier (pointer_declarator "*puVar51" * identifier) ;) (declaration "code *pcVar52;" type_identifier (pointer_declarator "*pcVar52" * identifier) ;) (declaration "undefined *puVar53;" type_identifier (pointer_declarator "*puVar53" * identifier) ;) (declaration "undefined4 uVar54;" type_identifier identifier ;) (declaration "undefined4 *puVar55;" type_identifier (pointer_declarator "*puVar55" * identifier) ;) (declaration "undefined4 uVar56;" type_identifier identifier ;) (declaration "uint auStack_140 [2];" type_identifier (array_declarator "auStack_140 [2]" identifier [ number_literal ]) ;) (declaration "mp_limb_t amStack_138 [6];" type_identifier (array_declarator "amStack_138 [6]" identifier [ number_literal ]) ;) (declaration "uint auStack_120 [16];" type_identifier (array_declarator "auStack_120 [16]" identifier [ number_literal ]) ;) (declaration "mp_limb_t amStack_e0 [6];" type_identifier (array_declarator "amStack_e0 [6]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_c8 [4];" type_identifier (array_declarator "auStack_c8 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "undefined1 auStack_c0 [4];" type_identifier (array_declarator "auStack_c0 [4]" identifier [ number_literal ]) ;) (declaration "int aiStack_bc [9];" primitive_type (array_declarator "aiStack_bc [9]" identifier [ number_literal ]) ;) (declaration "uint local_64;" type_identifier identifier ;) (expression_statement "puVar51 = PTR___stack_chk_guard_0009d540;" (assignment_expression "puVar51 = PTR___stack_chk_guard_0009d540" identifier = identifier) ;) (expression_statement "iVar19 = *(int *)PTR___stack_chk_guard_0009d540;" (assignment_expression "iVar19 = *(int *)PTR___stack_chk_guard_0009d540" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0009d540" * (cast_expression "(int *)PTR___stack_chk_guard_0009d540" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (an < bn * 3) {\n    uVar39 = bn + -1 >> 1;\n  }\n  else {\n    uVar39 = (an - 1U) / 6;\n  }" if (parenthesized_expression "(an < bn * 3)" ( (binary_expression "an < bn * 3" identifier < (binary_expression "bn * 3" identifier * number_literal)) )) (compound_statement "{\n    uVar39 = bn + -1 >> 1;\n  }" { (expression_statement "uVar39 = bn + -1 >> 1;" (assignment_expression "uVar39 = bn + -1 >> 1" identifier = (binary_expression "bn + -1 >> 1" (binary_expression "bn + -1" identifier + number_literal) >> number_literal)) ;) }) (else_clause "else {\n    uVar39 = (an - 1U) / 6;\n  }" else (compound_statement "{\n    uVar39 = (an - 1U) / 6;\n  }" { (expression_statement "uVar39 = (an - 1U) / 6;" (assignment_expression "uVar39 = (an - 1U) / 6" identifier = (binary_expression "(an - 1U) / 6" (parenthesized_expression "(an - 1U)" ( (binary_expression "an - 1U" identifier - number_literal) )) / number_literal)) ;) }))) (expression_statement "iVar40 = uVar39 + 1;" (assignment_expression "iVar40 = uVar39 + 1" identifier = (binary_expression "uVar39 + 1" identifier + number_literal)) ;) (expression_statement "iVar45 = uVar39 + 2;" (assignment_expression "iVar45 = uVar39 + 2" identifier = (binary_expression "uVar39 + 2" identifier + number_literal)) ;) (expression_statement "iVar43 = iVar40 * 4;" (assignment_expression "iVar43 = iVar40 * 4" identifier = (binary_expression "iVar40 * 4" identifier * number_literal)) ;) (expression_statement "iVar33 = an + iVar40 * -5;" (assignment_expression "iVar33 = an + iVar40 * -5" identifier = (binary_expression "an + iVar40 * -5" identifier + (binary_expression "iVar40 * -5" identifier * number_literal))) ;) (expression_statement "uVar4 = iVar45 * 4 + 7U & 0xfffffff8;" (assignment_expression "uVar4 = iVar45 * 4 + 7U & 0xfffffff8" identifier = (binary_expression "iVar45 * 4 + 7U & 0xfffffff8" (binary_expression "iVar45 * 4 + 7U" (binary_expression "iVar45 * 4" identifier * number_literal) + number_literal) & number_literal)) ;) (expression_statement "puVar25 = &stack0xffffff68 + -uVar4;" (assignment_expression "puVar25 = &stack0xffffff68 + -uVar4" identifier = (binary_expression "&stack0xffffff68 + -uVar4" (pointer_expression "&stack0xffffff68" & identifier) + (unary_expression "-uVar4" - identifier))) ;) (expression_statement "puVar27 = &stack0xffffff68 + uVar4 * -2;" (assignment_expression "puVar27 = &stack0xffffff68 + uVar4 * -2" identifier = (binary_expression "&stack0xffffff68 + uVar4 * -2" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar4 * -2" identifier * number_literal))) ;) (expression_statement "iVar41 = bn - iVar40;" (assignment_expression "iVar41 = bn - iVar40" identifier = (binary_expression "bn - iVar40" identifier - identifier)) ;) (expression_statement "puVar44 = &stack0xffffff68 + uVar4 * -5;" (assignment_expression "puVar44 = &stack0xffffff68 + uVar4 * -5" identifier = (binary_expression "&stack0xffffff68 + uVar4 * -5" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar4 * -5" identifier * number_literal))) ;) (expression_statement "pmVar37 = (mp_srcptr)(&stack0xffffff68 + uVar4 * -6);" (assignment_expression "pmVar37 = (mp_srcptr)(&stack0xffffff68 + uVar4 * -6)" identifier = (call_expression "(mp_srcptr)(&stack0xffffff68 + uVar4 * -6)" (parenthesized_expression "(mp_srcptr)" ( identifier )) (argument_list "(&stack0xffffff68 + uVar4 * -6)" ( (binary_expression "&stack0xffffff68 + uVar4 * -6" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar4 * -6" identifier * number_literal)) )))) ;) (expression_statement "iVar3 = -(iVar43 + 7U & 0xfffffff8);" (assignment_expression "iVar3 = -(iVar43 + 7U & 0xfffffff8)" identifier = (unary_expression "-(iVar43 + 7U & 0xfffffff8)" - (parenthesized_expression "(iVar43 + 7U & 0xfffffff8)" ( (binary_expression "iVar43 + 7U & 0xfffffff8" (binary_expression "iVar43 + 7U" identifier + number_literal) & number_literal) )))) ;) (expression_statement "pmVar28 = ap + iVar40;" (assignment_expression "pmVar28 = ap + iVar40" identifier = (binary_expression "ap + iVar40" identifier + identifier)) ;) (expression_statement "pmVar38 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -6);" (assignment_expression "pmVar38 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -6)" identifier = (call_expression "(mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -6)" (parenthesized_expression "(mp_srcptr)" ( identifier )) (argument_list "(&stack0xffffff68 + iVar3 + uVar4 * -6)" ( (binary_expression "&stack0xffffff68 + iVar3 + uVar4 * -6" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" & identifier) + identifier) + (binary_expression "uVar4 * -6" identifier * number_literal)) )))) ;) (expression_statement "pmVar36 = pmVar28 + iVar40;" (assignment_expression "pmVar36 = pmVar28 + iVar40" identifier = (binary_expression "pmVar28 + iVar40" identifier + identifier)) ;) (expression_statement "pmVar48 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -7);" (assignment_expression "pmVar48 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -7)" identifier = (call_expression "(mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -7)" (parenthesized_expression "(mp_srcptr)" ( identifier )) (argument_list "(&stack0xffffff68 + iVar3 + uVar4 * -7)" ( (binary_expression "&stack0xffffff68 + iVar3 + uVar4 * -7" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" & identifier) + identifier) + (binary_expression "uVar4 * -7" identifier * number_literal)) )))) ;) (expression_statement "pmVar49 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -8);" (assignment_expression "pmVar49 = (mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -8)" identifier = (call_expression "(mp_srcptr)(&stack0xffffff68 + iVar3 + uVar4 * -8)" (parenthesized_expression "(mp_srcptr)" ( identifier )) (argument_list "(&stack0xffffff68 + iVar3 + uVar4 * -8)" ( (binary_expression "&stack0xffffff68 + iVar3 + uVar4 * -8" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" & identifier) + identifier) + (binary_expression "uVar4 * -8" identifier * number_literal)) )))) ;) (expression_statement "pmVar32 = pmVar36 + iVar40;" (assignment_expression "pmVar32 = pmVar36 + iVar40" identifier = (binary_expression "pmVar36 + iVar40" identifier + identifier)) ;) (expression_statement "puVar5 = &stack0xffffff68 + iVar3 + uVar4 * -9;" (assignment_expression "puVar5 = &stack0xffffff68 + iVar3 + uVar4 * -9" identifier = (binary_expression "&stack0xffffff68 + iVar3 + uVar4 * -9" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" & identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal))) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = iVar33;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = iVar33" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar40;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar40" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pp;" (assignment_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pp" (pointer_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14)" * (cast_expression "(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "uVar6 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar25,puVar27,5,ap);" (assignment_expression "uVar6 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar25,puVar27,5,ap)" identifier = (call_expression "(*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar25,puVar27,5,ap)" (parenthesized_expression "(*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)" ( (pointer_expression "*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0" * (cast_expression "(code *)PTR___gmpn_toom_eval_pm1_0009d1e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar25,puVar27,5,ap)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = iVar33;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = iVar33" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pp;" (assignment_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pp" (pointer_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14)" * (cast_expression "(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar40;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar40" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "uVar7 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar4 * -3,&stack0xffffff68 + uVar4 * -4,5,ap);" (assignment_expression "uVar7 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar4 * -3,&stack0xffffff68 + uVar4 * -4,5,ap)" identifier = (call_expression "(*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar4 * -3,&stack0xffffff68 + uVar4 * -4,5,ap)" (parenthesized_expression "(*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)" ( (pointer_expression "*(code *)PTR___gmpn_toom_eval_pm2_0009d47c" * (cast_expression "(code *)PTR___gmpn_toom_eval_pm2_0009d47c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&stack0xffffff68 + uVar4 * -3,&stack0xffffff68 + uVar4 * -4,5,ap)" ( (binary_expression "&stack0xffffff68 + uVar4 * -3" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar4 * -3" identifier * number_literal)) , (binary_expression "&stack0xffffff68 + uVar4 * -4" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar4 * -4" identifier * number_literal)) , number_literal , identifier )))) ;) (expression_statement "local_64 = uVar7 & 1 | uVar6 & 2;" (assignment_expression "local_64 = uVar7 & 1 | uVar6 & 2" identifier = (binary_expression "uVar7 & 1 | uVar6 & 2" (binary_expression "uVar7 & 1" identifier & number_literal) | (binary_expression "uVar6 & 2" identifier & number_literal))) ;) (expression_statement "iVar8 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,ap,iVar40,1);" (assignment_expression "iVar8 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,ap,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,ap,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar44,ap,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar40);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar44,puVar44,pmVar28,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar10 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);" (assignment_expression "iVar10 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar44,puVar44,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar36,iVar40);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar36,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar36,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar44,puVar44,pmVar36,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);" (assignment_expression "iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar44,puVar44,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar13 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar32,iVar40);" (assignment_expression "iVar13 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar32,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar32,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar44,puVar44,pmVar32,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);" (assignment_expression "iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar44,puVar44,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar32 + iVar40,iVar40);" (assignment_expression "iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar32 + iVar40,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar32 + iVar40,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar44,puVar44,pmVar32 + iVar40,iVar40)" ( identifier , identifier , (binary_expression "pmVar32 + iVar40" identifier + identifier) , identifier )))) ;) (expression_statement "iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1);" (assignment_expression "iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar44,puVar44,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar44,puVar44,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "pmVar28 = pmVar32 + iVar40 + iVar40;" (assignment_expression "pmVar28 = pmVar32 + iVar40 + iVar40" identifier = (binary_expression "pmVar32 + iVar40 + iVar40" (binary_expression "pmVar32 + iVar40" identifier + identifier) + identifier)) ;) (expression_statement "iVar16 = (iVar14 + iVar15 + (iVar12 + iVar13 + (iVar10 + iVar11 + (iVar8 + iVar9) * 2) * 2) * 2) *\n           2 + iVar16;" (assignment_expression "iVar16 = (iVar14 + iVar15 + (iVar12 + iVar13 + (iVar10 + iVar11 + (iVar8 + iVar9) * 2) * 2) * 2) *\n           2 + iVar16" identifier = (binary_expression "(iVar14 + iVar15 + (iVar12 + iVar13 + (iVar10 + iVar11 + (iVar8 + iVar9) * 2) * 2) * 2) *\n           2 + iVar16" (binary_expression "(iVar14 + iVar15 + (iVar12 + iVar13 + (iVar10 + iVar11 + (iVar8 + iVar9) * 2) * 2) * 2) *\n           2" (parenthesized_expression "(iVar14 + iVar15 + (iVar12 + iVar13 + (iVar10 + iVar11 + (iVar8 + iVar9) * 2) * 2) * 2)" ( (binary_expression "iVar14 + iVar15 + (iVar12 + iVar13 + (iVar10 + iVar11 + (iVar8 + iVar9) * 2) * 2) * 2" (binary_expression "iVar14 + iVar15" identifier + identifier) + (binary_expression "(iVar12 + iVar13 + (iVar10 + iVar11 + (iVar8 + iVar9) * 2) * 2) * 2" (parenthesized_expression "(iVar12 + iVar13 + (iVar10 + iVar11 + (iVar8 + iVar9) * 2) * 2)" ( (binary_expression "iVar12 + iVar13 + (iVar10 + iVar11 + (iVar8 + iVar9) * 2) * 2" (binary_expression "iVar12 + iVar13" identifier + identifier) + (binary_expression "(iVar10 + iVar11 + (iVar8 + iVar9) * 2) * 2" (parenthesized_expression "(iVar10 + iVar11 + (iVar8 + iVar9) * 2)" ( (binary_expression "iVar10 + iVar11 + (iVar8 + iVar9) * 2" (binary_expression "iVar10 + iVar11" identifier + identifier) + (binary_expression "(iVar8 + iVar9) * 2" (parenthesized_expression "(iVar8 + iVar9)" ( (binary_expression "iVar8 + iVar9" identifier + identifier) )) * number_literal)) )) * number_literal)) )) * number_literal)) )) * number_literal) + identifier)) ;) (if_statement "if ((iVar33 != 0) &&\n     (iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar33), iVar8 != 0)) {\n    if (iVar33 < iVar40) {\n      piVar50 = (int *)(puVar44 + iVar33 * 4);\n      iVar8 = *piVar50;\n      *piVar50 = iVar8 + 1;\n      if (iVar8 + 1 == 0) {\n        if (iVar40 <= iVar33 + 1) goto LAB_0005dbd4;\n        iVar8 = iVar33 + 2;\n        iVar9 = *(int *)(puVar44 + (iVar33 + 1) * 4) + 1;\n        *(int *)(puVar44 + (iVar33 + 1) * 4) = iVar9;\n        while (iVar9 == 0) {\n          if (iVar8 == iVar40) goto LAB_0005dbd4;\n          iVar8 = iVar8 + 1;\n          iVar9 = piVar50[2] + 1;\n          piVar50[2] = iVar9;\n          piVar50 = piVar50 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }" if (parenthesized_expression "((iVar33 != 0) &&\n     (iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar33), iVar8 != 0))" ( (binary_expression "(iVar33 != 0) &&\n     (iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar33), iVar8 != 0)" (parenthesized_expression "(iVar33 != 0)" ( (binary_expression "iVar33 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar33), iVar8 != 0)" ( (comma_expression "iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar33), iVar8 != 0" (assignment_expression "iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar33)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar44,puVar44,pmVar28,iVar33)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar44,puVar44,pmVar28,iVar33)" ( identifier , identifier , identifier , identifier )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    if (iVar33 < iVar40) {\n      piVar50 = (int *)(puVar44 + iVar33 * 4);\n      iVar8 = *piVar50;\n      *piVar50 = iVar8 + 1;\n      if (iVar8 + 1 == 0) {\n        if (iVar40 <= iVar33 + 1) goto LAB_0005dbd4;\n        iVar8 = iVar33 + 2;\n        iVar9 = *(int *)(puVar44 + (iVar33 + 1) * 4) + 1;\n        *(int *)(puVar44 + (iVar33 + 1) * 4) = iVar9;\n        while (iVar9 == 0) {\n          if (iVar8 == iVar40) goto LAB_0005dbd4;\n          iVar8 = iVar8 + 1;\n          iVar9 = piVar50[2] + 1;\n          piVar50[2] = iVar9;\n          piVar50 = piVar50 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }" { (if_statement "if (iVar33 < iVar40) {\n      piVar50 = (int *)(puVar44 + iVar33 * 4);\n      iVar8 = *piVar50;\n      *piVar50 = iVar8 + 1;\n      if (iVar8 + 1 == 0) {\n        if (iVar40 <= iVar33 + 1) goto LAB_0005dbd4;\n        iVar8 = iVar33 + 2;\n        iVar9 = *(int *)(puVar44 + (iVar33 + 1) * 4) + 1;\n        *(int *)(puVar44 + (iVar33 + 1) * 4) = iVar9;\n        while (iVar9 == 0) {\n          if (iVar8 == iVar40) goto LAB_0005dbd4;\n          iVar8 = iVar8 + 1;\n          iVar9 = piVar50[2] + 1;\n          piVar50[2] = iVar9;\n          piVar50 = piVar50 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }" if (parenthesized_expression "(iVar33 < iVar40)" ( (binary_expression "iVar33 < iVar40" identifier < identifier) )) (compound_statement "{\n      piVar50 = (int *)(puVar44 + iVar33 * 4);\n      iVar8 = *piVar50;\n      *piVar50 = iVar8 + 1;\n      if (iVar8 + 1 == 0) {\n        if (iVar40 <= iVar33 + 1) goto LAB_0005dbd4;\n        iVar8 = iVar33 + 2;\n        iVar9 = *(int *)(puVar44 + (iVar33 + 1) * 4) + 1;\n        *(int *)(puVar44 + (iVar33 + 1) * 4) = iVar9;\n        while (iVar9 == 0) {\n          if (iVar8 == iVar40) goto LAB_0005dbd4;\n          iVar8 = iVar8 + 1;\n          iVar9 = piVar50[2] + 1;\n          piVar50[2] = iVar9;\n          piVar50 = piVar50 + 1;\n        }\n      }\n    }" { (expression_statement "piVar50 = (int *)(puVar44 + iVar33 * 4);" (assignment_expression "piVar50 = (int *)(puVar44 + iVar33 * 4)" identifier = (cast_expression "(int *)(puVar44 + iVar33 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar44 + iVar33 * 4)" ( (binary_expression "puVar44 + iVar33 * 4" identifier + (binary_expression "iVar33 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar8 = *piVar50;" (assignment_expression "iVar8 = *piVar50" identifier = (pointer_expression "*piVar50" * identifier)) ;) (expression_statement "*piVar50 = iVar8 + 1;" (assignment_expression "*piVar50 = iVar8 + 1" (pointer_expression "*piVar50" * identifier) = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 + 1 == 0) {\n        if (iVar40 <= iVar33 + 1) goto LAB_0005dbd4;\n        iVar8 = iVar33 + 2;\n        iVar9 = *(int *)(puVar44 + (iVar33 + 1) * 4) + 1;\n        *(int *)(puVar44 + (iVar33 + 1) * 4) = iVar9;\n        while (iVar9 == 0) {\n          if (iVar8 == iVar40) goto LAB_0005dbd4;\n          iVar8 = iVar8 + 1;\n          iVar9 = piVar50[2] + 1;\n          piVar50[2] = iVar9;\n          piVar50 = piVar50 + 1;\n        }\n      }" if (parenthesized_expression "(iVar8 + 1 == 0)" ( (binary_expression "iVar8 + 1 == 0" (binary_expression "iVar8 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n        if (iVar40 <= iVar33 + 1) goto LAB_0005dbd4;\n        iVar8 = iVar33 + 2;\n        iVar9 = *(int *)(puVar44 + (iVar33 + 1) * 4) + 1;\n        *(int *)(puVar44 + (iVar33 + 1) * 4) = iVar9;\n        while (iVar9 == 0) {\n          if (iVar8 == iVar40) goto LAB_0005dbd4;\n          iVar8 = iVar8 + 1;\n          iVar9 = piVar50[2] + 1;\n          piVar50[2] = iVar9;\n          piVar50 = piVar50 + 1;\n        }\n      }" { (if_statement "if (iVar40 <= iVar33 + 1) goto LAB_0005dbd4;" if (parenthesized_expression "(iVar40 <= iVar33 + 1)" ( (binary_expression "iVar40 <= iVar33 + 1" identifier <= (binary_expression "iVar33 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_0005dbd4;" goto statement_identifier ;)) (expression_statement "iVar8 = iVar33 + 2;" (assignment_expression "iVar8 = iVar33 + 2" identifier = (binary_expression "iVar33 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = *(int *)(puVar44 + (iVar33 + 1) * 4) + 1;" (assignment_expression "iVar9 = *(int *)(puVar44 + (iVar33 + 1) * 4) + 1" identifier = (binary_expression "*(int *)(puVar44 + (iVar33 + 1) * 4) + 1" (pointer_expression "*(int *)(puVar44 + (iVar33 + 1) * 4)" * (cast_expression "(int *)(puVar44 + (iVar33 + 1) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar44 + (iVar33 + 1) * 4)" ( (binary_expression "puVar44 + (iVar33 + 1) * 4" identifier + (binary_expression "(iVar33 + 1) * 4" (parenthesized_expression "(iVar33 + 1)" ( (binary_expression "iVar33 + 1" identifier + number_literal) )) * number_literal)) )))) + number_literal)) ;) (expression_statement "*(int *)(puVar44 + (iVar33 + 1) * 4) = iVar9;" (assignment_expression "*(int *)(puVar44 + (iVar33 + 1) * 4) = iVar9" (pointer_expression "*(int *)(puVar44 + (iVar33 + 1) * 4)" * (cast_expression "(int *)(puVar44 + (iVar33 + 1) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar44 + (iVar33 + 1) * 4)" ( (binary_expression "puVar44 + (iVar33 + 1) * 4" identifier + (binary_expression "(iVar33 + 1) * 4" (parenthesized_expression "(iVar33 + 1)" ( (binary_expression "iVar33 + 1" identifier + number_literal) )) * number_literal)) )))) = identifier) ;) (while_statement "while (iVar9 == 0) {\n          if (iVar8 == iVar40) goto LAB_0005dbd4;\n          iVar8 = iVar8 + 1;\n          iVar9 = piVar50[2] + 1;\n          piVar50[2] = iVar9;\n          piVar50 = piVar50 + 1;\n        }" while (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          if (iVar8 == iVar40) goto LAB_0005dbd4;\n          iVar8 = iVar8 + 1;\n          iVar9 = piVar50[2] + 1;\n          piVar50[2] = iVar9;\n          piVar50 = piVar50 + 1;\n        }" { (if_statement "if (iVar8 == iVar40) goto LAB_0005dbd4;" if (parenthesized_expression "(iVar8 == iVar40)" ( (binary_expression "iVar8 == iVar40" identifier == identifier) )) (goto_statement "goto LAB_0005dbd4;" goto statement_identifier ;)) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "iVar9 = piVar50[2] + 1;" (assignment_expression "iVar9 = piVar50[2] + 1" identifier = (binary_expression "piVar50[2] + 1" (subscript_expression "piVar50[2]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar50[2] = iVar9;" (assignment_expression "piVar50[2] = iVar9" (subscript_expression "piVar50[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar50 = piVar50 + 1;" (assignment_expression "piVar50 = piVar50 + 1" identifier = (binary_expression "piVar50 + 1" identifier + number_literal)) ;) })) })) }) (else_clause "else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }" else (compound_statement "{\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }" { (labeled_statement "LAB_0005dbd4:\n      iVar16 = iVar16 + 1;" statement_identifier : (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;)) }))) })) (expression_statement "pmVar32 = bp + iVar40;" (assignment_expression "pmVar32 = bp + iVar40" identifier = (binary_expression "bp + iVar40" identifier + identifier)) ;) (expression_statement "*(int *)(puVar44 + iVar43) = iVar16;" (assignment_expression "*(int *)(puVar44 + iVar43) = iVar16" (pointer_expression "*(int *)(puVar44 + iVar43)" * (cast_expression "(int *)(puVar44 + iVar43)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar44 + iVar43)" ( (binary_expression "puVar44 + iVar43" identifier + identifier) )))) = identifier) ;) (expression_statement "pmVar36 = pmVar37 + iVar40;" (assignment_expression "pmVar36 = pmVar37 + iVar40" identifier = (binary_expression "pmVar37 + iVar40" identifier + identifier)) ;) (if_statement "if (iVar40 == iVar41) {\n    mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar40);\n    *pmVar36 = mVar17;\n    puVar26 = bp + uVar39;\n    iVar8 = iVar40;\n    do {\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005ddc8;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    } while (uVar6 == puVar26[uVar39 + 2]);\n    if (puVar26[uVar39 + 2] < uVar6) {\nLAB_0005ddc8:\n      uVar6 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n    }\n    else {\n      uVar6 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n    }\nLAB_0005d5e4:\n    iVar8 = 0;\n    if (iVar41 == 0) {\nLAB_0005d5f0:\n      if ((pmVar37 != pmVar48) && (iVar8 < iVar45)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4);\n      }\n      if (uVar6 != 0) {\n        if (iVar41 != 0) goto LAB_0005df00;\n        iVar8 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar48,pmVar37,pmVar32,iVar41);\n    iVar8 = iVar41;\n    if (iVar9 == 0) goto LAB_0005d5f0;\n    if (iVar41 < iVar45) {\n      iVar8 = iVar41 + 1;\n      pmVar18 = pmVar37 + iVar41;\n      mVar17 = *pmVar18;\n      pmVar48[iVar41] = mVar17 + 1;\n      if (mVar17 + 1 == 0) {\n        if (iVar40 <= iVar41) goto LAB_0005da20;\n        iVar9 = iVar41 + 2;\n        mVar17 = pmVar37[iVar8] + 1;\n        pmVar48[iVar8] = mVar17;\n        pmVar20 = pmVar48 + iVar41;\n        while (iVar8 = iVar9, mVar17 == 0) {\n          if (iVar9 == iVar45) goto LAB_0005da20;\n          pmVar1 = pmVar18 + 2;\n          iVar9 = iVar9 + 1;\n          pmVar18 = pmVar18 + 1;\n          mVar17 = *pmVar1 + 1;\n          pmVar20[2] = mVar17;\n          pmVar20 = pmVar20 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar6 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar49,pmVar38,pmVar32,iVar41);\n    iVar8 = iVar41;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      mVar17 = 0;\n      if (pmVar38 != pmVar49) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4);\n          mVar17 = 0;\n        }\n        else {\n          mVar17 = 0;\n        }\n      }\n    }\n    else {\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = pmVar38 + iVar41;\n        mVar17 = *pmVar18;\n        pmVar49[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d678;\n          iVar9 = iVar41 + 2;\n          mVar17 = pmVar38[iVar8] + 1;\n          pmVar49[iVar8] = mVar17;\n          pmVar20 = pmVar49 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      mVar17 = 1;\n    }\nLAB_0005d678:\n    pmVar49[iVar40] = mVar17;\n    local_64 = local_64 ^ (uVar6 | 1);\n  }\n  else {\n    if (iVar41 == 0) {\n      iVar8 = 0;\nLAB_0005d51c:\n      mVar17 = 0;\n      if (pmVar37 != bp) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n        }\n        mVar17 = 0;\n      }\n    }\n    else {\n      iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) goto LAB_0005d51c;\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = bp + iVar41;\n        mVar17 = *pmVar18;\n        pmVar37[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d558;\n          iVar9 = iVar41 + 2;\n          mVar17 = bp[iVar8] + 1;\n          pmVar37[iVar8] = mVar17;\n          pmVar20 = pmVar37 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      mVar17 = 1;\n    }\nLAB_0005d558:\n    *pmVar36 = mVar17;\n    iVar9 = iVar40 - iVar41;\n    pmVar18 = bp + iVar41 + 0x3fffffff + iVar9;\n    iVar8 = iVar9;\n    do {\n      iVar8 = iVar8 + -1;\n      if (*pmVar18 != 0) goto LAB_0005d59c;\n      pmVar18 = pmVar18 + -1;\n    } while (iVar8 != 0);\n    puVar26 = bp + iVar41 + -1;\n    iVar8 = iVar41;\n    do {\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005d59c;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    } while (uVar6 == puVar26[uVar39 + 2]);\n    if (uVar6 <= puVar26[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n      uVar6 = 2;\n      (*(code *)PTR_memset_0009d2e8)(pmVar38 + iVar41,0,iVar9 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (iVar41 != 0) {\n      iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) {\nLAB_0005de34:\n        bVar2 = iVar8 < iVar40;\n        if (pmVar38 != bp) goto LAB_0005d5b4;\n        uVar6 = 0;\n      }\n      else {\n        if (iVar41 < iVar40) {\n          iVar8 = iVar41 + 1;\n          pmVar18 = bp + iVar41;\n          mVar17 = *pmVar18;\n          pmVar38[iVar41] = mVar17 - 1;\n          if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar6 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar8 = 0;\n    if (pmVar38 != bp) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n      }\n      uVar6 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((pmVar37 != pmVar48) && (0 < iVar45)) {\n      iVar8 = 0;\n      uVar6 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (iVar41 < iVar40) {\n      iVar8 = iVar40 - iVar41;\n      pmVar18 = pmVar38 + uVar39;\n      do {\n        iVar8 = iVar8 + -1;\n        if (*pmVar18 != 0) goto LAB_0005da5c;\n        pmVar18 = pmVar18 + -1;\n      } while (iVar8 != 0);\n      pmVar18 = pmVar38 + iVar41;\n      puVar26 = bp + iVar40 + iVar41 + -1;\n      iVar8 = iVar41;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005da5c;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005da5c:\n        iVar8 = 0;\n        if (iVar41 == 0) {\nLAB_0005da64:\n          bVar2 = iVar8 < iVar40;\n          if ((pmVar38 != pmVar49) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);\n          iVar8 = iVar41;\n          if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = iVar41 < iVar40;\n          if (pmVar38 != pmVar49) goto LAB_0005da78;\n        }\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41);\n        local_64 = local_64 ^ 1;\n        if (iVar45 != iVar41) {\n          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);\n        }\n      }\n    }\n    else {\n      pmVar18 = pmVar38 + uVar39 + 1;\n      puVar26 = bp + iVar40 + uVar39;\n      iVar8 = iVar40;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005dccc;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);\n        local_64 = local_64 ^ 1;\n        pmVar49[iVar40] = 0;\n      }\n    }\n  }" if (parenthesized_expression "(iVar40 == iVar41)" ( (binary_expression "iVar40 == iVar41" identifier == identifier) )) (compound_statement "{\n    mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar40);\n    *pmVar36 = mVar17;\n    puVar26 = bp + uVar39;\n    iVar8 = iVar40;\n    do {\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005ddc8;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    } while (uVar6 == puVar26[uVar39 + 2]);\n    if (puVar26[uVar39 + 2] < uVar6) {\nLAB_0005ddc8:\n      uVar6 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n    }\n    else {\n      uVar6 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n    }\nLAB_0005d5e4:\n    iVar8 = 0;\n    if (iVar41 == 0) {\nLAB_0005d5f0:\n      if ((pmVar37 != pmVar48) && (iVar8 < iVar45)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4);\n      }\n      if (uVar6 != 0) {\n        if (iVar41 != 0) goto LAB_0005df00;\n        iVar8 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar48,pmVar37,pmVar32,iVar41);\n    iVar8 = iVar41;\n    if (iVar9 == 0) goto LAB_0005d5f0;\n    if (iVar41 < iVar45) {\n      iVar8 = iVar41 + 1;\n      pmVar18 = pmVar37 + iVar41;\n      mVar17 = *pmVar18;\n      pmVar48[iVar41] = mVar17 + 1;\n      if (mVar17 + 1 == 0) {\n        if (iVar40 <= iVar41) goto LAB_0005da20;\n        iVar9 = iVar41 + 2;\n        mVar17 = pmVar37[iVar8] + 1;\n        pmVar48[iVar8] = mVar17;\n        pmVar20 = pmVar48 + iVar41;\n        while (iVar8 = iVar9, mVar17 == 0) {\n          if (iVar9 == iVar45) goto LAB_0005da20;\n          pmVar1 = pmVar18 + 2;\n          iVar9 = iVar9 + 1;\n          pmVar18 = pmVar18 + 1;\n          mVar17 = *pmVar1 + 1;\n          pmVar20[2] = mVar17;\n          pmVar20 = pmVar20 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar6 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar49,pmVar38,pmVar32,iVar41);\n    iVar8 = iVar41;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      mVar17 = 0;\n      if (pmVar38 != pmVar49) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4);\n          mVar17 = 0;\n        }\n        else {\n          mVar17 = 0;\n        }\n      }\n    }\n    else {\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = pmVar38 + iVar41;\n        mVar17 = *pmVar18;\n        pmVar49[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d678;\n          iVar9 = iVar41 + 2;\n          mVar17 = pmVar38[iVar8] + 1;\n          pmVar49[iVar8] = mVar17;\n          pmVar20 = pmVar49 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      mVar17 = 1;\n    }\nLAB_0005d678:\n    pmVar49[iVar40] = mVar17;\n    local_64 = local_64 ^ (uVar6 | 1);\n  }" { (expression_statement "mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar40);" (assignment_expression "mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar37,bp,pmVar32,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "*pmVar36 = mVar17;" (assignment_expression "*pmVar36 = mVar17" (pointer_expression "*pmVar36" * identifier) = identifier) ;) (expression_statement "puVar26 = bp + uVar39;" (assignment_expression "puVar26 = bp + uVar39" identifier = (binary_expression "bp + uVar39" identifier + identifier)) ;) (expression_statement "iVar8 = iVar40;" (assignment_expression "iVar8 = iVar40" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005ddc8;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    } while (uVar6 == puVar26[uVar39 + 2]);" do (compound_statement "{\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005ddc8;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    }" { (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (if_statement "if (iVar8 < 0) goto LAB_0005ddc8;" if (parenthesized_expression "(iVar8 < 0)" ( (binary_expression "iVar8 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0005ddc8;" goto statement_identifier ;)) (expression_statement "uVar6 = *puVar26;" (assignment_expression "uVar6 = *puVar26" identifier = (pointer_expression "*puVar26" * identifier)) ;) (expression_statement "puVar26 = puVar26 + -1;" (assignment_expression "puVar26 = puVar26 + -1" identifier = (binary_expression "puVar26 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar6 == puVar26[uVar39 + 2])" ( (binary_expression "uVar6 == puVar26[uVar39 + 2]" identifier == (subscript_expression "puVar26[uVar39 + 2]" identifier [ (binary_expression "uVar39 + 2" identifier + number_literal) ])) )) ;) (if_statement "if (puVar26[uVar39 + 2] < uVar6) {\nLAB_0005ddc8:\n      uVar6 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n    }\n    else {\n      uVar6 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n    }" if (parenthesized_expression "(puVar26[uVar39 + 2] < uVar6)" ( (binary_expression "puVar26[uVar39 + 2] < uVar6" (subscript_expression "puVar26[uVar39 + 2]" identifier [ (binary_expression "uVar39 + 2" identifier + number_literal) ]) < identifier) )) (compound_statement "{\nLAB_0005ddc8:\n      uVar6 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n    }" { (labeled_statement "LAB_0005ddc8:\n      uVar6 = 0;" statement_identifier : (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;)) (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar38,bp,pmVar32,iVar41)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n      uVar6 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n    }" else (compound_statement "{\n      uVar6 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n    }" { (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar38,pmVar32,bp,iVar41)" ( identifier , identifier , identifier , identifier ))) ;) }))) (labeled_statement "LAB_0005d5e4:\n    iVar8 = 0;" statement_identifier : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;)) (if_statement "if (iVar41 == 0) {\nLAB_0005d5f0:\n      if ((pmVar37 != pmVar48) && (iVar8 < iVar45)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4);\n      }\n      if (uVar6 != 0) {\n        if (iVar41 != 0) goto LAB_0005df00;\n        iVar8 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }" if (parenthesized_expression "(iVar41 == 0)" ( (binary_expression "iVar41 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0005d5f0:\n      if ((pmVar37 != pmVar48) && (iVar8 < iVar45)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4);\n      }\n      if (uVar6 != 0) {\n        if (iVar41 != 0) goto LAB_0005df00;\n        iVar8 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }" { (labeled_statement "LAB_0005d5f0:\n      if ((pmVar37 != pmVar48) && (iVar8 < iVar45)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4);\n      }" statement_identifier : (if_statement "if ((pmVar37 != pmVar48) && (iVar8 < iVar45)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4);\n      }" if (parenthesized_expression "((pmVar37 != pmVar48) && (iVar8 < iVar45))" ( (binary_expression "(pmVar37 != pmVar48) && (iVar8 < iVar45)" (parenthesized_expression "(pmVar37 != pmVar48)" ( (binary_expression "pmVar37 != pmVar48" identifier != identifier) )) && (parenthesized_expression "(iVar8 < iVar45)" ( (binary_expression "iVar8 < iVar45" identifier < identifier) ))) )) (compound_statement "{\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4);\n      }" { (labeled_statement "LAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4);" statement_identifier : (expression_statement "(*(code *)PTR_memcpy_0009d544)(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4);" (call_expression "(*(code *)PTR_memcpy_0009d544)(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar48 + iVar8,pmVar37 + iVar8,(iVar45 - iVar8) * 4)" ( (binary_expression "pmVar48 + iVar8" identifier + identifier) , (binary_expression "pmVar37 + iVar8" identifier + identifier) , (binary_expression "(iVar45 - iVar8) * 4" (parenthesized_expression "(iVar45 - iVar8)" ( (binary_expression "iVar45 - iVar8" identifier - identifier) )) * number_literal) ))) ;)) }))) (if_statement "if (uVar6 != 0) {\n        if (iVar41 != 0) goto LAB_0005df00;\n        iVar8 = 0;\n        goto LAB_0005d63c;\n      }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        if (iVar41 != 0) goto LAB_0005df00;\n        iVar8 = 0;\n        goto LAB_0005d63c;\n      }" { (if_statement "if (iVar41 != 0) goto LAB_0005df00;" if (parenthesized_expression "(iVar41 != 0)" ( (binary_expression "iVar41 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0005df00;" goto statement_identifier ;)) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005d63c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0005da2c;" goto statement_identifier ;) })) (labeled_statement "LAB_0005d980:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar48,pmVar37,pmVar32,iVar41);" statement_identifier : (expression_statement "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar48,pmVar37,pmVar32,iVar41);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar48,pmVar37,pmVar32,iVar41)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(pmVar48,pmVar37,pmVar32,iVar41)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar48,pmVar37,pmVar32,iVar41)" ( identifier , identifier , identifier , identifier )))) ;)) (expression_statement "iVar8 = iVar41;" (assignment_expression "iVar8 = iVar41" identifier = identifier) ;) (if_statement "if (iVar9 == 0) goto LAB_0005d5f0;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005d5f0;" goto statement_identifier ;)) (if_statement "if (iVar41 < iVar45) {\n      iVar8 = iVar41 + 1;\n      pmVar18 = pmVar37 + iVar41;\n      mVar17 = *pmVar18;\n      pmVar48[iVar41] = mVar17 + 1;\n      if (mVar17 + 1 == 0) {\n        if (iVar40 <= iVar41) goto LAB_0005da20;\n        iVar9 = iVar41 + 2;\n        mVar17 = pmVar37[iVar8] + 1;\n        pmVar48[iVar8] = mVar17;\n        pmVar20 = pmVar48 + iVar41;\n        while (iVar8 = iVar9, mVar17 == 0) {\n          if (iVar9 == iVar45) goto LAB_0005da20;\n          pmVar1 = pmVar18 + 2;\n          iVar9 = iVar9 + 1;\n          pmVar18 = pmVar18 + 1;\n          mVar17 = *pmVar1 + 1;\n          pmVar20[2] = mVar17;\n          pmVar20 = pmVar20 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }" if (parenthesized_expression "(iVar41 < iVar45)" ( (binary_expression "iVar41 < iVar45" identifier < identifier) )) (compound_statement "{\n      iVar8 = iVar41 + 1;\n      pmVar18 = pmVar37 + iVar41;\n      mVar17 = *pmVar18;\n      pmVar48[iVar41] = mVar17 + 1;\n      if (mVar17 + 1 == 0) {\n        if (iVar40 <= iVar41) goto LAB_0005da20;\n        iVar9 = iVar41 + 2;\n        mVar17 = pmVar37[iVar8] + 1;\n        pmVar48[iVar8] = mVar17;\n        pmVar20 = pmVar48 + iVar41;\n        while (iVar8 = iVar9, mVar17 == 0) {\n          if (iVar9 == iVar45) goto LAB_0005da20;\n          pmVar1 = pmVar18 + 2;\n          iVar9 = iVar9 + 1;\n          pmVar18 = pmVar18 + 1;\n          mVar17 = *pmVar1 + 1;\n          pmVar20[2] = mVar17;\n          pmVar20 = pmVar20 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }" { (expression_statement "iVar8 = iVar41 + 1;" (assignment_expression "iVar8 = iVar41 + 1" identifier = (binary_expression "iVar41 + 1" identifier + number_literal)) ;) (expression_statement "pmVar18 = pmVar37 + iVar41;" (assignment_expression "pmVar18 = pmVar37 + iVar41" identifier = (binary_expression "pmVar37 + iVar41" identifier + identifier)) ;) (expression_statement "mVar17 = *pmVar18;" (assignment_expression "mVar17 = *pmVar18" identifier = (pointer_expression "*pmVar18" * identifier)) ;) (expression_statement "pmVar48[iVar41] = mVar17 + 1;" (assignment_expression "pmVar48[iVar41] = mVar17 + 1" (subscript_expression "pmVar48[iVar41]" identifier [ identifier ]) = (binary_expression "mVar17 + 1" identifier + number_literal)) ;) (if_statement "if (mVar17 + 1 == 0) {\n        if (iVar40 <= iVar41) goto LAB_0005da20;\n        iVar9 = iVar41 + 2;\n        mVar17 = pmVar37[iVar8] + 1;\n        pmVar48[iVar8] = mVar17;\n        pmVar20 = pmVar48 + iVar41;\n        while (iVar8 = iVar9, mVar17 == 0) {\n          if (iVar9 == iVar45) goto LAB_0005da20;\n          pmVar1 = pmVar18 + 2;\n          iVar9 = iVar9 + 1;\n          pmVar18 = pmVar18 + 1;\n          mVar17 = *pmVar1 + 1;\n          pmVar20[2] = mVar17;\n          pmVar20 = pmVar20 + 1;\n        }\n      }" if (parenthesized_expression "(mVar17 + 1 == 0)" ( (binary_expression "mVar17 + 1 == 0" (binary_expression "mVar17 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n        if (iVar40 <= iVar41) goto LAB_0005da20;\n        iVar9 = iVar41 + 2;\n        mVar17 = pmVar37[iVar8] + 1;\n        pmVar48[iVar8] = mVar17;\n        pmVar20 = pmVar48 + iVar41;\n        while (iVar8 = iVar9, mVar17 == 0) {\n          if (iVar9 == iVar45) goto LAB_0005da20;\n          pmVar1 = pmVar18 + 2;\n          iVar9 = iVar9 + 1;\n          pmVar18 = pmVar18 + 1;\n          mVar17 = *pmVar1 + 1;\n          pmVar20[2] = mVar17;\n          pmVar20 = pmVar20 + 1;\n        }\n      }" { (if_statement "if (iVar40 <= iVar41) goto LAB_0005da20;" if (parenthesized_expression "(iVar40 <= iVar41)" ( (binary_expression "iVar40 <= iVar41" identifier <= identifier) )) (goto_statement "goto LAB_0005da20;" goto statement_identifier ;)) (expression_statement "iVar9 = iVar41 + 2;" (assignment_expression "iVar9 = iVar41 + 2" identifier = (binary_expression "iVar41 + 2" identifier + number_literal)) ;) (expression_statement "mVar17 = pmVar37[iVar8] + 1;" (assignment_expression "mVar17 = pmVar37[iVar8] + 1" identifier = (binary_expression "pmVar37[iVar8] + 1" (subscript_expression "pmVar37[iVar8]" identifier [ identifier ]) + number_literal)) ;) (expression_statement "pmVar48[iVar8] = mVar17;" (assignment_expression "pmVar48[iVar8] = mVar17" (subscript_expression "pmVar48[iVar8]" identifier [ identifier ]) = identifier) ;) (expression_statement "pmVar20 = pmVar48 + iVar41;" (assignment_expression "pmVar20 = pmVar48 + iVar41" identifier = (binary_expression "pmVar48 + iVar41" identifier + identifier)) ;) (while_statement "while (iVar8 = iVar9, mVar17 == 0) {\n          if (iVar9 == iVar45) goto LAB_0005da20;\n          pmVar1 = pmVar18 + 2;\n          iVar9 = iVar9 + 1;\n          pmVar18 = pmVar18 + 1;\n          mVar17 = *pmVar1 + 1;\n          pmVar20[2] = mVar17;\n          pmVar20 = pmVar20 + 1;\n        }" while (parenthesized_expression "(iVar8 = iVar9, mVar17 == 0)" ( (comma_expression "iVar8 = iVar9, mVar17 == 0" (assignment_expression "iVar8 = iVar9" identifier = identifier) , (binary_expression "mVar17 == 0" identifier == number_literal)) )) (compound_statement "{\n          if (iVar9 == iVar45) goto LAB_0005da20;\n          pmVar1 = pmVar18 + 2;\n          iVar9 = iVar9 + 1;\n          pmVar18 = pmVar18 + 1;\n          mVar17 = *pmVar1 + 1;\n          pmVar20[2] = mVar17;\n          pmVar20 = pmVar20 + 1;\n        }" { (if_statement "if (iVar9 == iVar45) goto LAB_0005da20;" if (parenthesized_expression "(iVar9 == iVar45)" ( (binary_expression "iVar9 == iVar45" identifier == identifier) )) (goto_statement "goto LAB_0005da20;" goto statement_identifier ;)) (expression_statement "pmVar1 = pmVar18 + 2;" (assignment_expression "pmVar1 = pmVar18 + 2" identifier = (binary_expression "pmVar18 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "pmVar18 = pmVar18 + 1;" (assignment_expression "pmVar18 = pmVar18 + 1" identifier = (binary_expression "pmVar18 + 1" identifier + number_literal)) ;) (expression_statement "mVar17 = *pmVar1 + 1;" (assignment_expression "mVar17 = *pmVar1 + 1" identifier = (binary_expression "*pmVar1 + 1" (pointer_expression "*pmVar1" * identifier) + number_literal)) ;) (expression_statement "pmVar20[2] = mVar17;" (assignment_expression "pmVar20[2] = mVar17" (subscript_expression "pmVar20[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pmVar20 = pmVar20 + 1;" (assignment_expression "pmVar20 = pmVar20 + 1" identifier = (binary_expression "pmVar20 + 1" identifier + number_literal)) ;) })) })) (goto_statement "goto LAB_0005d5f0;" goto statement_identifier ;) })) (labeled_statement "LAB_0005da20:\n    if (uVar6 == 0) goto LAB_0005da2c;" statement_identifier : (if_statement "if (uVar6 == 0) goto LAB_0005da2c;" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005da2c;" goto statement_identifier ;))) (labeled_statement "LAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar49,pmVar38,pmVar32,iVar41);" statement_identifier : (expression_statement "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar49,pmVar38,pmVar32,iVar41);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar49,pmVar38,pmVar32,iVar41)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(pmVar49,pmVar38,pmVar32,iVar41)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar49,pmVar38,pmVar32,iVar41)" ( identifier , identifier , identifier , identifier )))) ;)) (expression_statement "iVar8 = iVar41;" (assignment_expression "iVar8 = iVar41" identifier = identifier) ;) (if_statement "if (iVar9 == 0) {\nLAB_0005d63c:\n      mVar17 = 0;\n      if (pmVar38 != pmVar49) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4);\n          mVar17 = 0;\n        }\n        else {\n          mVar17 = 0;\n        }\n      }\n    }\n    else {\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = pmVar38 + iVar41;\n        mVar17 = *pmVar18;\n        pmVar49[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d678;\n          iVar9 = iVar41 + 2;\n          mVar17 = pmVar38[iVar8] + 1;\n          pmVar49[iVar8] = mVar17;\n          pmVar20 = pmVar49 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      mVar17 = 1;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0005d63c:\n      mVar17 = 0;\n      if (pmVar38 != pmVar49) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4);\n          mVar17 = 0;\n        }\n        else {\n          mVar17 = 0;\n        }\n      }\n    }" { (labeled_statement "LAB_0005d63c:\n      mVar17 = 0;" statement_identifier : (expression_statement "mVar17 = 0;" (assignment_expression "mVar17 = 0" identifier = number_literal) ;)) (if_statement "if (pmVar38 != pmVar49) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4);\n          mVar17 = 0;\n        }\n        else {\n          mVar17 = 0;\n        }\n      }" if (parenthesized_expression "(pmVar38 != pmVar49)" ( (binary_expression "pmVar38 != pmVar49" identifier != identifier) )) (compound_statement "{\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4);\n          mVar17 = 0;\n        }\n        else {\n          mVar17 = 0;\n        }\n      }" { (if_statement "if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4);\n          mVar17 = 0;\n        }\n        else {\n          mVar17 = 0;\n        }" if (parenthesized_expression "(iVar8 < iVar40)" ( (binary_expression "iVar8 < iVar40" identifier < identifier) )) (compound_statement "{\n          (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4);\n          mVar17 = 0;\n        }" { (expression_statement "(*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4);" (call_expression "(*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar49 + iVar8,pmVar38 + iVar8,(iVar40 - iVar8) * 4)" ( (binary_expression "pmVar49 + iVar8" identifier + identifier) , (binary_expression "pmVar38 + iVar8" identifier + identifier) , (binary_expression "(iVar40 - iVar8) * 4" (parenthesized_expression "(iVar40 - iVar8)" ( (binary_expression "iVar40 - iVar8" identifier - identifier) )) * number_literal) ))) ;) (expression_statement "mVar17 = 0;" (assignment_expression "mVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          mVar17 = 0;\n        }" else (compound_statement "{\n          mVar17 = 0;\n        }" { (expression_statement "mVar17 = 0;" (assignment_expression "mVar17 = 0" identifier = number_literal) ;) }))) })) }) (else_clause "else {\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = pmVar38 + iVar41;\n        mVar17 = *pmVar18;\n        pmVar49[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d678;\n          iVar9 = iVar41 + 2;\n          mVar17 = pmVar38[iVar8] + 1;\n          pmVar49[iVar8] = mVar17;\n          pmVar20 = pmVar49 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      mVar17 = 1;\n    }" else (compound_statement "{\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = pmVar38 + iVar41;\n        mVar17 = *pmVar18;\n        pmVar49[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d678;\n          iVar9 = iVar41 + 2;\n          mVar17 = pmVar38[iVar8] + 1;\n          pmVar49[iVar8] = mVar17;\n          pmVar20 = pmVar49 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      mVar17 = 1;\n    }" { (if_statement "if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = pmVar38 + iVar41;\n        mVar17 = *pmVar18;\n        pmVar49[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d678;\n          iVar9 = iVar41 + 2;\n          mVar17 = pmVar38[iVar8] + 1;\n          pmVar49[iVar8] = mVar17;\n          pmVar20 = pmVar49 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }" if (parenthesized_expression "(iVar41 < iVar40)" ( (binary_expression "iVar41 < iVar40" identifier < identifier) )) (compound_statement "{\n        iVar8 = iVar41 + 1;\n        pmVar18 = pmVar38 + iVar41;\n        mVar17 = *pmVar18;\n        pmVar49[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d678;\n          iVar9 = iVar41 + 2;\n          mVar17 = pmVar38[iVar8] + 1;\n          pmVar49[iVar8] = mVar17;\n          pmVar20 = pmVar49 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }" { (expression_statement "iVar8 = iVar41 + 1;" (assignment_expression "iVar8 = iVar41 + 1" identifier = (binary_expression "iVar41 + 1" identifier + number_literal)) ;) (expression_statement "pmVar18 = pmVar38 + iVar41;" (assignment_expression "pmVar18 = pmVar38 + iVar41" identifier = (binary_expression "pmVar38 + iVar41" identifier + identifier)) ;) (expression_statement "mVar17 = *pmVar18;" (assignment_expression "mVar17 = *pmVar18" identifier = (pointer_expression "*pmVar18" * identifier)) ;) (expression_statement "pmVar49[iVar41] = mVar17 + 1;" (assignment_expression "pmVar49[iVar41] = mVar17 + 1" (subscript_expression "pmVar49[iVar41]" identifier [ identifier ]) = (binary_expression "mVar17 + 1" identifier + number_literal)) ;) (if_statement "if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d678;\n          iVar9 = iVar41 + 2;\n          mVar17 = pmVar38[iVar8] + 1;\n          pmVar49[iVar8] = mVar17;\n          pmVar20 = pmVar49 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }" if (parenthesized_expression "(mVar17 + 1 == 0)" ( (binary_expression "mVar17 + 1 == 0" (binary_expression "mVar17 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d678;\n          iVar9 = iVar41 + 2;\n          mVar17 = pmVar38[iVar8] + 1;\n          pmVar49[iVar8] = mVar17;\n          pmVar20 = pmVar49 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }" { (expression_statement "mVar17 = 1;" (assignment_expression "mVar17 = 1" identifier = number_literal) ;) (if_statement "if (iVar40 <= iVar8) goto LAB_0005d678;" if (parenthesized_expression "(iVar40 <= iVar8)" ( (binary_expression "iVar40 <= iVar8" identifier <= identifier) )) (goto_statement "goto LAB_0005d678;" goto statement_identifier ;)) (expression_statement "iVar9 = iVar41 + 2;" (assignment_expression "iVar9 = iVar41 + 2" identifier = (binary_expression "iVar41 + 2" identifier + number_literal)) ;) (expression_statement "mVar17 = pmVar38[iVar8] + 1;" (assignment_expression "mVar17 = pmVar38[iVar8] + 1" identifier = (binary_expression "pmVar38[iVar8] + 1" (subscript_expression "pmVar38[iVar8]" identifier [ identifier ]) + number_literal)) ;) (expression_statement "pmVar49[iVar8] = mVar17;" (assignment_expression "pmVar49[iVar8] = mVar17" (subscript_expression "pmVar49[iVar8]" identifier [ identifier ]) = identifier) ;) (expression_statement "pmVar20 = pmVar49 + iVar41;" (assignment_expression "pmVar20 = pmVar49 + iVar41" identifier = (binary_expression "pmVar49 + iVar41" identifier + identifier)) ;) (while_statement "while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }" while (parenthesized_expression "(iVar8 = iVar9, mVar17 == 0)" ( (comma_expression "iVar8 = iVar9, mVar17 == 0" (assignment_expression "iVar8 = iVar9" identifier = identifier) , (binary_expression "mVar17 == 0" identifier == number_literal)) )) (compound_statement "{\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }" { (if_statement "if (iVar40 == iVar9) goto LAB_0005dfa8;" if (parenthesized_expression "(iVar40 == iVar9)" ( (binary_expression "iVar40 == iVar9" identifier == identifier) )) (goto_statement "goto LAB_0005dfa8;" goto statement_identifier ;)) (expression_statement "pmVar1 = pmVar18 + 2;" (assignment_expression "pmVar1 = pmVar18 + 2" identifier = (binary_expression "pmVar18 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "pmVar18 = pmVar18 + 1;" (assignment_expression "pmVar18 = pmVar18 + 1" identifier = (binary_expression "pmVar18 + 1" identifier + number_literal)) ;) (expression_statement "mVar17 = *pmVar1 + 1;" (assignment_expression "mVar17 = *pmVar1 + 1" identifier = (binary_expression "*pmVar1 + 1" (pointer_expression "*pmVar1" * identifier) + number_literal)) ;) (expression_statement "pmVar20[2] = mVar17;" (assignment_expression "pmVar20[2] = mVar17" (subscript_expression "pmVar20[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pmVar20 = pmVar20 + 1;" (assignment_expression "pmVar20 = pmVar20 + 1" identifier = (binary_expression "pmVar20 + 1" identifier + number_literal)) ;) })) })) (goto_statement "goto LAB_0005d63c;" goto statement_identifier ;) })) (labeled_statement "LAB_0005dfa8:\n      mVar17 = 1;" statement_identifier : (expression_statement "mVar17 = 1;" (assignment_expression "mVar17 = 1" identifier = number_literal) ;)) }))) (labeled_statement "LAB_0005d678:\n    pmVar49[iVar40] = mVar17;" statement_identifier : (expression_statement "pmVar49[iVar40] = mVar17;" (assignment_expression "pmVar49[iVar40] = mVar17" (subscript_expression "pmVar49[iVar40]" identifier [ identifier ]) = identifier) ;)) (expression_statement "local_64 = local_64 ^ (uVar6 | 1);" (assignment_expression "local_64 = local_64 ^ (uVar6 | 1)" identifier = (binary_expression "local_64 ^ (uVar6 | 1)" identifier ^ (parenthesized_expression "(uVar6 | 1)" ( (binary_expression "uVar6 | 1" identifier | number_literal) )))) ;) }) (else_clause "else {\n    if (iVar41 == 0) {\n      iVar8 = 0;\nLAB_0005d51c:\n      mVar17 = 0;\n      if (pmVar37 != bp) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n        }\n        mVar17 = 0;\n      }\n    }\n    else {\n      iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) goto LAB_0005d51c;\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = bp + iVar41;\n        mVar17 = *pmVar18;\n        pmVar37[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d558;\n          iVar9 = iVar41 + 2;\n          mVar17 = bp[iVar8] + 1;\n          pmVar37[iVar8] = mVar17;\n          pmVar20 = pmVar37 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      mVar17 = 1;\n    }\nLAB_0005d558:\n    *pmVar36 = mVar17;\n    iVar9 = iVar40 - iVar41;\n    pmVar18 = bp + iVar41 + 0x3fffffff + iVar9;\n    iVar8 = iVar9;\n    do {\n      iVar8 = iVar8 + -1;\n      if (*pmVar18 != 0) goto LAB_0005d59c;\n      pmVar18 = pmVar18 + -1;\n    } while (iVar8 != 0);\n    puVar26 = bp + iVar41 + -1;\n    iVar8 = iVar41;\n    do {\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005d59c;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    } while (uVar6 == puVar26[uVar39 + 2]);\n    if (uVar6 <= puVar26[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n      uVar6 = 2;\n      (*(code *)PTR_memset_0009d2e8)(pmVar38 + iVar41,0,iVar9 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (iVar41 != 0) {\n      iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) {\nLAB_0005de34:\n        bVar2 = iVar8 < iVar40;\n        if (pmVar38 != bp) goto LAB_0005d5b4;\n        uVar6 = 0;\n      }\n      else {\n        if (iVar41 < iVar40) {\n          iVar8 = iVar41 + 1;\n          pmVar18 = bp + iVar41;\n          mVar17 = *pmVar18;\n          pmVar38[iVar41] = mVar17 - 1;\n          if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar6 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar8 = 0;\n    if (pmVar38 != bp) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n      }\n      uVar6 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((pmVar37 != pmVar48) && (0 < iVar45)) {\n      iVar8 = 0;\n      uVar6 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (iVar41 < iVar40) {\n      iVar8 = iVar40 - iVar41;\n      pmVar18 = pmVar38 + uVar39;\n      do {\n        iVar8 = iVar8 + -1;\n        if (*pmVar18 != 0) goto LAB_0005da5c;\n        pmVar18 = pmVar18 + -1;\n      } while (iVar8 != 0);\n      pmVar18 = pmVar38 + iVar41;\n      puVar26 = bp + iVar40 + iVar41 + -1;\n      iVar8 = iVar41;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005da5c;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005da5c:\n        iVar8 = 0;\n        if (iVar41 == 0) {\nLAB_0005da64:\n          bVar2 = iVar8 < iVar40;\n          if ((pmVar38 != pmVar49) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);\n          iVar8 = iVar41;\n          if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = iVar41 < iVar40;\n          if (pmVar38 != pmVar49) goto LAB_0005da78;\n        }\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41);\n        local_64 = local_64 ^ 1;\n        if (iVar45 != iVar41) {\n          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);\n        }\n      }\n    }\n    else {\n      pmVar18 = pmVar38 + uVar39 + 1;\n      puVar26 = bp + iVar40 + uVar39;\n      iVar8 = iVar40;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005dccc;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);\n        local_64 = local_64 ^ 1;\n        pmVar49[iVar40] = 0;\n      }\n    }\n  }" else (compound_statement "{\n    if (iVar41 == 0) {\n      iVar8 = 0;\nLAB_0005d51c:\n      mVar17 = 0;\n      if (pmVar37 != bp) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n        }\n        mVar17 = 0;\n      }\n    }\n    else {\n      iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) goto LAB_0005d51c;\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = bp + iVar41;\n        mVar17 = *pmVar18;\n        pmVar37[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d558;\n          iVar9 = iVar41 + 2;\n          mVar17 = bp[iVar8] + 1;\n          pmVar37[iVar8] = mVar17;\n          pmVar20 = pmVar37 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      mVar17 = 1;\n    }\nLAB_0005d558:\n    *pmVar36 = mVar17;\n    iVar9 = iVar40 - iVar41;\n    pmVar18 = bp + iVar41 + 0x3fffffff + iVar9;\n    iVar8 = iVar9;\n    do {\n      iVar8 = iVar8 + -1;\n      if (*pmVar18 != 0) goto LAB_0005d59c;\n      pmVar18 = pmVar18 + -1;\n    } while (iVar8 != 0);\n    puVar26 = bp + iVar41 + -1;\n    iVar8 = iVar41;\n    do {\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005d59c;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    } while (uVar6 == puVar26[uVar39 + 2]);\n    if (uVar6 <= puVar26[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n      uVar6 = 2;\n      (*(code *)PTR_memset_0009d2e8)(pmVar38 + iVar41,0,iVar9 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (iVar41 != 0) {\n      iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) {\nLAB_0005de34:\n        bVar2 = iVar8 < iVar40;\n        if (pmVar38 != bp) goto LAB_0005d5b4;\n        uVar6 = 0;\n      }\n      else {\n        if (iVar41 < iVar40) {\n          iVar8 = iVar41 + 1;\n          pmVar18 = bp + iVar41;\n          mVar17 = *pmVar18;\n          pmVar38[iVar41] = mVar17 - 1;\n          if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar6 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar8 = 0;\n    if (pmVar38 != bp) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n      }\n      uVar6 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((pmVar37 != pmVar48) && (0 < iVar45)) {\n      iVar8 = 0;\n      uVar6 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (iVar41 < iVar40) {\n      iVar8 = iVar40 - iVar41;\n      pmVar18 = pmVar38 + uVar39;\n      do {\n        iVar8 = iVar8 + -1;\n        if (*pmVar18 != 0) goto LAB_0005da5c;\n        pmVar18 = pmVar18 + -1;\n      } while (iVar8 != 0);\n      pmVar18 = pmVar38 + iVar41;\n      puVar26 = bp + iVar40 + iVar41 + -1;\n      iVar8 = iVar41;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005da5c;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005da5c:\n        iVar8 = 0;\n        if (iVar41 == 0) {\nLAB_0005da64:\n          bVar2 = iVar8 < iVar40;\n          if ((pmVar38 != pmVar49) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);\n          iVar8 = iVar41;\n          if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = iVar41 < iVar40;\n          if (pmVar38 != pmVar49) goto LAB_0005da78;\n        }\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41);\n        local_64 = local_64 ^ 1;\n        if (iVar45 != iVar41) {\n          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);\n        }\n      }\n    }\n    else {\n      pmVar18 = pmVar38 + uVar39 + 1;\n      puVar26 = bp + iVar40 + uVar39;\n      iVar8 = iVar40;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005dccc;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);\n        local_64 = local_64 ^ 1;\n        pmVar49[iVar40] = 0;\n      }\n    }\n  }" { (if_statement "if (iVar41 == 0) {\n      iVar8 = 0;\nLAB_0005d51c:\n      mVar17 = 0;\n      if (pmVar37 != bp) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n        }\n        mVar17 = 0;\n      }\n    }\n    else {\n      iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) goto LAB_0005d51c;\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = bp + iVar41;\n        mVar17 = *pmVar18;\n        pmVar37[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d558;\n          iVar9 = iVar41 + 2;\n          mVar17 = bp[iVar8] + 1;\n          pmVar37[iVar8] = mVar17;\n          pmVar20 = pmVar37 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      mVar17 = 1;\n    }" if (parenthesized_expression "(iVar41 == 0)" ( (binary_expression "iVar41 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar8 = 0;\nLAB_0005d51c:\n      mVar17 = 0;\n      if (pmVar37 != bp) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n        }\n        mVar17 = 0;\n      }\n    }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0005d51c:\n      mVar17 = 0;" statement_identifier : (expression_statement "mVar17 = 0;" (assignment_expression "mVar17 = 0" identifier = number_literal) ;)) (if_statement "if (pmVar37 != bp) {\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n        }\n        mVar17 = 0;\n      }" if (parenthesized_expression "(pmVar37 != bp)" ( (binary_expression "pmVar37 != bp" identifier != identifier) )) (compound_statement "{\n        if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n        }\n        mVar17 = 0;\n      }" { (if_statement "if (iVar8 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n        }" if (parenthesized_expression "(iVar8 < iVar40)" ( (binary_expression "iVar8 < iVar40" identifier < identifier) )) (compound_statement "{\n          (*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n        }" { (expression_statement "(*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);" (call_expression "(*(code *)PTR_memcpy_0009d544)(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar37 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4)" ( (binary_expression "pmVar37 + iVar8" identifier + identifier) , (binary_expression "bp + iVar8" identifier + identifier) , (binary_expression "(iVar40 - iVar8) * 4" (parenthesized_expression "(iVar40 - iVar8)" ( (binary_expression "iVar40 - iVar8" identifier - identifier) )) * number_literal) ))) ;) })) (expression_statement "mVar17 = 0;" (assignment_expression "mVar17 = 0" identifier = number_literal) ;) })) }) (else_clause "else {\n      iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) goto LAB_0005d51c;\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = bp + iVar41;\n        mVar17 = *pmVar18;\n        pmVar37[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d558;\n          iVar9 = iVar41 + 2;\n          mVar17 = bp[iVar8] + 1;\n          pmVar37[iVar8] = mVar17;\n          pmVar20 = pmVar37 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      mVar17 = 1;\n    }" else (compound_statement "{\n      iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) goto LAB_0005d51c;\n      if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = bp + iVar41;\n        mVar17 = *pmVar18;\n        pmVar37[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d558;\n          iVar9 = iVar41 + 2;\n          mVar17 = bp[iVar8] + 1;\n          pmVar37[iVar8] = mVar17;\n          pmVar20 = pmVar37 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      mVar17 = 1;\n    }" { (expression_statement "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar41);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar41)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(pmVar37,bp,pmVar32,iVar41)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar37,bp,pmVar32,iVar41)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar8 = iVar41;" (assignment_expression "iVar8 = iVar41" identifier = identifier) ;) (if_statement "if (iVar9 == 0) goto LAB_0005d51c;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005d51c;" goto statement_identifier ;)) (if_statement "if (iVar41 < iVar40) {\n        iVar8 = iVar41 + 1;\n        pmVar18 = bp + iVar41;\n        mVar17 = *pmVar18;\n        pmVar37[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d558;\n          iVar9 = iVar41 + 2;\n          mVar17 = bp[iVar8] + 1;\n          pmVar37[iVar8] = mVar17;\n          pmVar20 = pmVar37 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }" if (parenthesized_expression "(iVar41 < iVar40)" ( (binary_expression "iVar41 < iVar40" identifier < identifier) )) (compound_statement "{\n        iVar8 = iVar41 + 1;\n        pmVar18 = bp + iVar41;\n        mVar17 = *pmVar18;\n        pmVar37[iVar41] = mVar17 + 1;\n        if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d558;\n          iVar9 = iVar41 + 2;\n          mVar17 = bp[iVar8] + 1;\n          pmVar37[iVar8] = mVar17;\n          pmVar20 = pmVar37 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }" { (expression_statement "iVar8 = iVar41 + 1;" (assignment_expression "iVar8 = iVar41 + 1" identifier = (binary_expression "iVar41 + 1" identifier + number_literal)) ;) (expression_statement "pmVar18 = bp + iVar41;" (assignment_expression "pmVar18 = bp + iVar41" identifier = (binary_expression "bp + iVar41" identifier + identifier)) ;) (expression_statement "mVar17 = *pmVar18;" (assignment_expression "mVar17 = *pmVar18" identifier = (pointer_expression "*pmVar18" * identifier)) ;) (expression_statement "pmVar37[iVar41] = mVar17 + 1;" (assignment_expression "pmVar37[iVar41] = mVar17 + 1" (subscript_expression "pmVar37[iVar41]" identifier [ identifier ]) = (binary_expression "mVar17 + 1" identifier + number_literal)) ;) (if_statement "if (mVar17 + 1 == 0) {\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d558;\n          iVar9 = iVar41 + 2;\n          mVar17 = bp[iVar8] + 1;\n          pmVar37[iVar8] = mVar17;\n          pmVar20 = pmVar37 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }" if (parenthesized_expression "(mVar17 + 1 == 0)" ( (binary_expression "mVar17 + 1 == 0" (binary_expression "mVar17 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n          mVar17 = 1;\n          if (iVar40 <= iVar8) goto LAB_0005d558;\n          iVar9 = iVar41 + 2;\n          mVar17 = bp[iVar8] + 1;\n          pmVar37[iVar8] = mVar17;\n          pmVar20 = pmVar37 + iVar41;\n          while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }\n        }" { (expression_statement "mVar17 = 1;" (assignment_expression "mVar17 = 1" identifier = number_literal) ;) (if_statement "if (iVar40 <= iVar8) goto LAB_0005d558;" if (parenthesized_expression "(iVar40 <= iVar8)" ( (binary_expression "iVar40 <= iVar8" identifier <= identifier) )) (goto_statement "goto LAB_0005d558;" goto statement_identifier ;)) (expression_statement "iVar9 = iVar41 + 2;" (assignment_expression "iVar9 = iVar41 + 2" identifier = (binary_expression "iVar41 + 2" identifier + number_literal)) ;) (expression_statement "mVar17 = bp[iVar8] + 1;" (assignment_expression "mVar17 = bp[iVar8] + 1" identifier = (binary_expression "bp[iVar8] + 1" (subscript_expression "bp[iVar8]" identifier [ identifier ]) + number_literal)) ;) (expression_statement "pmVar37[iVar8] = mVar17;" (assignment_expression "pmVar37[iVar8] = mVar17" (subscript_expression "pmVar37[iVar8]" identifier [ identifier ]) = identifier) ;) (expression_statement "pmVar20 = pmVar37 + iVar41;" (assignment_expression "pmVar20 = pmVar37 + iVar41" identifier = (binary_expression "pmVar37 + iVar41" identifier + identifier)) ;) (while_statement "while (iVar8 = iVar9, mVar17 == 0) {\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }" while (parenthesized_expression "(iVar8 = iVar9, mVar17 == 0)" ( (comma_expression "iVar8 = iVar9, mVar17 == 0" (assignment_expression "iVar8 = iVar9" identifier = identifier) , (binary_expression "mVar17 == 0" identifier == number_literal)) )) (compound_statement "{\n            if (iVar9 == iVar40) goto LAB_0005dc80;\n            pmVar1 = pmVar18 + 2;\n            iVar9 = iVar9 + 1;\n            pmVar18 = pmVar18 + 1;\n            mVar17 = *pmVar1 + 1;\n            pmVar20[2] = mVar17;\n            pmVar20 = pmVar20 + 1;\n          }" { (if_statement "if (iVar9 == iVar40) goto LAB_0005dc80;" if (parenthesized_expression "(iVar9 == iVar40)" ( (binary_expression "iVar9 == iVar40" identifier == identifier) )) (goto_statement "goto LAB_0005dc80;" goto statement_identifier ;)) (expression_statement "pmVar1 = pmVar18 + 2;" (assignment_expression "pmVar1 = pmVar18 + 2" identifier = (binary_expression "pmVar18 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "pmVar18 = pmVar18 + 1;" (assignment_expression "pmVar18 = pmVar18 + 1" identifier = (binary_expression "pmVar18 + 1" identifier + number_literal)) ;) (expression_statement "mVar17 = *pmVar1 + 1;" (assignment_expression "mVar17 = *pmVar1 + 1" identifier = (binary_expression "*pmVar1 + 1" (pointer_expression "*pmVar1" * identifier) + number_literal)) ;) (expression_statement "pmVar20[2] = mVar17;" (assignment_expression "pmVar20[2] = mVar17" (subscript_expression "pmVar20[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pmVar20 = pmVar20 + 1;" (assignment_expression "pmVar20 = pmVar20 + 1" identifier = (binary_expression "pmVar20 + 1" identifier + number_literal)) ;) })) })) (goto_statement "goto LAB_0005d51c;" goto statement_identifier ;) })) (labeled_statement "LAB_0005dc80:\n      mVar17 = 1;" statement_identifier : (expression_statement "mVar17 = 1;" (assignment_expression "mVar17 = 1" identifier = number_literal) ;)) }))) (labeled_statement "LAB_0005d558:\n    *pmVar36 = mVar17;" statement_identifier : (expression_statement "*pmVar36 = mVar17;" (assignment_expression "*pmVar36 = mVar17" (pointer_expression "*pmVar36" * identifier) = identifier) ;)) (expression_statement "iVar9 = iVar40 - iVar41;" (assignment_expression "iVar9 = iVar40 - iVar41" identifier = (binary_expression "iVar40 - iVar41" identifier - identifier)) ;) (expression_statement "pmVar18 = bp + iVar41 + 0x3fffffff + iVar9;" (assignment_expression "pmVar18 = bp + iVar41 + 0x3fffffff + iVar9" identifier = (binary_expression "bp + iVar41 + 0x3fffffff + iVar9" (binary_expression "bp + iVar41 + 0x3fffffff" (binary_expression "bp + iVar41" identifier + identifier) + number_literal) + identifier)) ;) (expression_statement "iVar8 = iVar9;" (assignment_expression "iVar8 = iVar9" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + -1;\n      if (*pmVar18 != 0) goto LAB_0005d59c;\n      pmVar18 = pmVar18 + -1;\n    } while (iVar8 != 0);" do (compound_statement "{\n      iVar8 = iVar8 + -1;\n      if (*pmVar18 != 0) goto LAB_0005d59c;\n      pmVar18 = pmVar18 + -1;\n    }" { (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (if_statement "if (*pmVar18 != 0) goto LAB_0005d59c;" if (parenthesized_expression "(*pmVar18 != 0)" ( (binary_expression "*pmVar18 != 0" (pointer_expression "*pmVar18" * identifier) != number_literal) )) (goto_statement "goto LAB_0005d59c;" goto statement_identifier ;)) (expression_statement "pmVar18 = pmVar18 + -1;" (assignment_expression "pmVar18 = pmVar18 + -1" identifier = (binary_expression "pmVar18 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) ;) (expression_statement "puVar26 = bp + iVar41 + -1;" (assignment_expression "puVar26 = bp + iVar41 + -1" identifier = (binary_expression "bp + iVar41 + -1" (binary_expression "bp + iVar41" identifier + identifier) + number_literal)) ;) (expression_statement "iVar8 = iVar41;" (assignment_expression "iVar8 = iVar41" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005d59c;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    } while (uVar6 == puVar26[uVar39 + 2]);" do (compound_statement "{\n      iVar8 = iVar8 + -1;\n      if (iVar8 < 0) goto LAB_0005d59c;\n      uVar6 = *puVar26;\n      puVar26 = puVar26 + -1;\n    }" { (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (if_statement "if (iVar8 < 0) goto LAB_0005d59c;" if (parenthesized_expression "(iVar8 < 0)" ( (binary_expression "iVar8 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0005d59c;" goto statement_identifier ;)) (expression_statement "uVar6 = *puVar26;" (assignment_expression "uVar6 = *puVar26" identifier = (pointer_expression "*puVar26" * identifier)) ;) (expression_statement "puVar26 = puVar26 + -1;" (assignment_expression "puVar26 = puVar26 + -1" identifier = (binary_expression "puVar26 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar6 == puVar26[uVar39 + 2])" ( (binary_expression "uVar6 == puVar26[uVar39 + 2]" identifier == (subscript_expression "puVar26[uVar39 + 2]" identifier [ (binary_expression "uVar39 + 2" identifier + number_literal) ])) )) ;) (if_statement "if (uVar6 <= puVar26[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n      uVar6 = 2;\n      (*(code *)PTR_memset_0009d2e8)(pmVar38 + iVar41,0,iVar9 * 4);\n      goto LAB_0005d5e4;\n    }" if (parenthesized_expression "(uVar6 <= puVar26[uVar39 + 2])" ( (binary_expression "uVar6 <= puVar26[uVar39 + 2]" identifier <= (subscript_expression "puVar26[uVar39 + 2]" identifier [ (binary_expression "uVar39 + 2" identifier + number_literal) ])) )) (compound_statement "{\n      (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);\n      uVar6 = 2;\n      (*(code *)PTR_memset_0009d2e8)(pmVar38 + iVar41,0,iVar9 * 4);\n      goto LAB_0005d5e4;\n    }" { (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,pmVar32,bp,iVar41)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar38,pmVar32,bp,iVar41)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (expression_statement "(*(code *)PTR_memset_0009d2e8)(pmVar38 + iVar41,0,iVar9 * 4);" (call_expression "(*(code *)PTR_memset_0009d2e8)(pmVar38 + iVar41,0,iVar9 * 4)" (parenthesized_expression "(*(code *)PTR_memset_0009d2e8)" ( (pointer_expression "*(code *)PTR_memset_0009d2e8" * (cast_expression "(code *)PTR_memset_0009d2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar38 + iVar41,0,iVar9 * 4)" ( (binary_expression "pmVar38 + iVar41" identifier + identifier) , number_literal , (binary_expression "iVar9 * 4" identifier * number_literal) ))) ;) (goto_statement "goto LAB_0005d5e4;" goto statement_identifier ;) })) (labeled_statement "LAB_0005d59c:\n    if (iVar41 != 0) {\n      iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) {\nLAB_0005de34:\n        bVar2 = iVar8 < iVar40;\n        if (pmVar38 != bp) goto LAB_0005d5b4;\n        uVar6 = 0;\n      }\n      else {\n        if (iVar41 < iVar40) {\n          iVar8 = iVar41 + 1;\n          pmVar18 = bp + iVar41;\n          mVar17 = *pmVar18;\n          pmVar38[iVar41] = mVar17 - 1;\n          if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar6 = 0;\n      }\n      goto LAB_0005d980;\n    }" statement_identifier : (if_statement "if (iVar41 != 0) {\n      iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) {\nLAB_0005de34:\n        bVar2 = iVar8 < iVar40;\n        if (pmVar38 != bp) goto LAB_0005d5b4;\n        uVar6 = 0;\n      }\n      else {\n        if (iVar41 < iVar40) {\n          iVar8 = iVar41 + 1;\n          pmVar18 = bp + iVar41;\n          mVar17 = *pmVar18;\n          pmVar38[iVar41] = mVar17 - 1;\n          if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar6 = 0;\n      }\n      goto LAB_0005d980;\n    }" if (parenthesized_expression "(iVar41 != 0)" ( (binary_expression "iVar41 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);\n      iVar8 = iVar41;\n      if (iVar9 == 0) {\nLAB_0005de34:\n        bVar2 = iVar8 < iVar40;\n        if (pmVar38 != bp) goto LAB_0005d5b4;\n        uVar6 = 0;\n      }\n      else {\n        if (iVar41 < iVar40) {\n          iVar8 = iVar41 + 1;\n          pmVar18 = bp + iVar41;\n          mVar17 = *pmVar18;\n          pmVar38[iVar41] = mVar17 - 1;\n          if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar6 = 0;\n      }\n      goto LAB_0005d980;\n    }" { (expression_statement "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar38,bp,pmVar32,iVar41)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar38,bp,pmVar32,iVar41)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar8 = iVar41;" (assignment_expression "iVar8 = iVar41" identifier = identifier) ;) (if_statement "if (iVar9 == 0) {\nLAB_0005de34:\n        bVar2 = iVar8 < iVar40;\n        if (pmVar38 != bp) goto LAB_0005d5b4;\n        uVar6 = 0;\n      }\n      else {\n        if (iVar41 < iVar40) {\n          iVar8 = iVar41 + 1;\n          pmVar18 = bp + iVar41;\n          mVar17 = *pmVar18;\n          pmVar38[iVar41] = mVar17 - 1;\n          if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar6 = 0;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0005de34:\n        bVar2 = iVar8 < iVar40;\n        if (pmVar38 != bp) goto LAB_0005d5b4;\n        uVar6 = 0;\n      }" { (labeled_statement "LAB_0005de34:\n        bVar2 = iVar8 < iVar40;" statement_identifier : (expression_statement "bVar2 = iVar8 < iVar40;" (assignment_expression "bVar2 = iVar8 < iVar40" identifier = (binary_expression "iVar8 < iVar40" identifier < identifier)) ;)) (if_statement "if (pmVar38 != bp) goto LAB_0005d5b4;" if (parenthesized_expression "(pmVar38 != bp)" ( (binary_expression "pmVar38 != bp" identifier != identifier) )) (goto_statement "goto LAB_0005d5b4;" goto statement_identifier ;)) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        if (iVar41 < iVar40) {\n          iVar8 = iVar41 + 1;\n          pmVar18 = bp + iVar41;\n          mVar17 = *pmVar18;\n          pmVar38[iVar41] = mVar17 - 1;\n          if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar6 = 0;\n      }" else (compound_statement "{\n        if (iVar41 < iVar40) {\n          iVar8 = iVar41 + 1;\n          pmVar18 = bp + iVar41;\n          mVar17 = *pmVar18;\n          pmVar38[iVar41] = mVar17 - 1;\n          if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar6 = 0;\n      }" { (if_statement "if (iVar41 < iVar40) {\n          iVar8 = iVar41 + 1;\n          pmVar18 = bp + iVar41;\n          mVar17 = *pmVar18;\n          pmVar38[iVar41] = mVar17 - 1;\n          if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }" if (parenthesized_expression "(iVar41 < iVar40)" ( (binary_expression "iVar41 < iVar40" identifier < identifier) )) (compound_statement "{\n          iVar8 = iVar41 + 1;\n          pmVar18 = bp + iVar41;\n          mVar17 = *pmVar18;\n          pmVar38[iVar41] = mVar17 - 1;\n          if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }" { (expression_statement "iVar8 = iVar41 + 1;" (assignment_expression "iVar8 = iVar41 + 1" identifier = (binary_expression "iVar41 + 1" identifier + number_literal)) ;) (expression_statement "pmVar18 = bp + iVar41;" (assignment_expression "pmVar18 = bp + iVar41" identifier = (binary_expression "bp + iVar41" identifier + identifier)) ;) (expression_statement "mVar17 = *pmVar18;" (assignment_expression "mVar17 = *pmVar18" identifier = (pointer_expression "*pmVar18" * identifier)) ;) (expression_statement "pmVar38[iVar41] = mVar17 - 1;" (assignment_expression "pmVar38[iVar41] = mVar17 - 1" (subscript_expression "pmVar38[iVar41]" identifier [ identifier ]) = (binary_expression "mVar17 - 1" identifier - number_literal)) ;) (if_statement "if (mVar17 == 0) {\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }" if (parenthesized_expression "(mVar17 == 0)" ( (binary_expression "mVar17 == 0" identifier == number_literal) )) (compound_statement "{\n            if (iVar40 <= iVar8) goto LAB_0005d97c;\n            iVar9 = iVar41 + 2;\n            mVar17 = bp[iVar8];\n            pmVar38[iVar8] = mVar17 - 1;\n            pmVar20 = pmVar38 + iVar41;\n            while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }\n          }" { (if_statement "if (iVar40 <= iVar8) goto LAB_0005d97c;" if (parenthesized_expression "(iVar40 <= iVar8)" ( (binary_expression "iVar40 <= iVar8" identifier <= identifier) )) (goto_statement "goto LAB_0005d97c;" goto statement_identifier ;)) (expression_statement "iVar9 = iVar41 + 2;" (assignment_expression "iVar9 = iVar41 + 2" identifier = (binary_expression "iVar41 + 2" identifier + number_literal)) ;) (expression_statement "mVar17 = bp[iVar8];" (assignment_expression "mVar17 = bp[iVar8]" identifier = (subscript_expression "bp[iVar8]" identifier [ identifier ])) ;) (expression_statement "pmVar38[iVar8] = mVar17 - 1;" (assignment_expression "pmVar38[iVar8] = mVar17 - 1" (subscript_expression "pmVar38[iVar8]" identifier [ identifier ]) = (binary_expression "mVar17 - 1" identifier - number_literal)) ;) (expression_statement "pmVar20 = pmVar38 + iVar41;" (assignment_expression "pmVar20 = pmVar38 + iVar41" identifier = (binary_expression "pmVar38 + iVar41" identifier + identifier)) ;) (while_statement "while (iVar8 = iVar9, mVar17 == 0) {\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }" while (parenthesized_expression "(iVar8 = iVar9, mVar17 == 0)" ( (comma_expression "iVar8 = iVar9, mVar17 == 0" (assignment_expression "iVar8 = iVar9" identifier = identifier) , (binary_expression "mVar17 == 0" identifier == number_literal)) )) (compound_statement "{\n              if (iVar40 == iVar9) goto LAB_0005d97c;\n              mVar17 = pmVar18[2];\n              iVar9 = iVar9 + 1;\n              pmVar18 = pmVar18 + 1;\n              pmVar20[2] = mVar17 - 1;\n              pmVar20 = pmVar20 + 1;\n            }" { (if_statement "if (iVar40 == iVar9) goto LAB_0005d97c;" if (parenthesized_expression "(iVar40 == iVar9)" ( (binary_expression "iVar40 == iVar9" identifier == identifier) )) (goto_statement "goto LAB_0005d97c;" goto statement_identifier ;)) (expression_statement "mVar17 = pmVar18[2];" (assignment_expression "mVar17 = pmVar18[2]" identifier = (subscript_expression "pmVar18[2]" identifier [ number_literal ])) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "pmVar18 = pmVar18 + 1;" (assignment_expression "pmVar18 = pmVar18 + 1" identifier = (binary_expression "pmVar18 + 1" identifier + number_literal)) ;) (expression_statement "pmVar20[2] = mVar17 - 1;" (assignment_expression "pmVar20[2] = mVar17 - 1" (subscript_expression "pmVar20[2]" identifier [ number_literal ]) = (binary_expression "mVar17 - 1" identifier - number_literal)) ;) (expression_statement "pmVar20 = pmVar20 + 1;" (assignment_expression "pmVar20 = pmVar20 + 1" identifier = (binary_expression "pmVar20 + 1" identifier + number_literal)) ;) })) })) (goto_statement "goto LAB_0005de34;" goto statement_identifier ;) })) (labeled_statement "LAB_0005d97c:\n        uVar6 = 0;" statement_identifier : (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;)) }))) (goto_statement "goto LAB_0005d980;" goto statement_identifier ;) }))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (if_statement "if (pmVar38 != bp) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n      }\n      uVar6 = 0;\n      goto LAB_0005d5e4;\n    }" if (parenthesized_expression "(pmVar38 != bp)" ( (binary_expression "pmVar38 != bp" identifier != identifier) )) (compound_statement "{\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n      }\n      uVar6 = 0;\n      goto LAB_0005d5e4;\n    }" { (expression_statement "bVar2 = 0 < iVar40;" (assignment_expression "bVar2 = 0 < iVar40" identifier = (binary_expression "0 < iVar40" number_literal < identifier)) ;) (labeled_statement "LAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n      }" statement_identifier : (if_statement "if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n      }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n        (*(code *)PTR_memcpy_0009d544)(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);\n      }" { (expression_statement "(*(code *)PTR_memcpy_0009d544)(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4);" (call_expression "(*(code *)PTR_memcpy_0009d544)(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar38 + iVar8,bp + iVar8,(iVar40 - iVar8) * 4)" ( (binary_expression "pmVar38 + iVar8" identifier + identifier) , (binary_expression "bp + iVar8" identifier + identifier) , (binary_expression "(iVar40 - iVar8) * 4" (parenthesized_expression "(iVar40 - iVar8)" ( (binary_expression "iVar40 - iVar8" identifier - identifier) )) * number_literal) ))) ;) }))) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005d5e4;" goto statement_identifier ;) })) (if_statement "if ((pmVar37 != pmVar48) && (0 < iVar45)) {\n      iVar8 = 0;\n      uVar6 = 0;\n      goto LAB_0005d600;\n    }" if (parenthesized_expression "((pmVar37 != pmVar48) && (0 < iVar45))" ( (binary_expression "(pmVar37 != pmVar48) && (0 < iVar45)" (parenthesized_expression "(pmVar37 != pmVar48)" ( (binary_expression "pmVar37 != pmVar48" identifier != identifier) )) && (parenthesized_expression "(0 < iVar45)" ( (binary_expression "0 < iVar45" number_literal < identifier) ))) )) (compound_statement "{\n      iVar8 = 0;\n      uVar6 = 0;\n      goto LAB_0005d600;\n    }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005d600;" goto statement_identifier ;) })) (labeled_statement "LAB_0005da2c:\n    if (iVar41 < iVar40) {\n      iVar8 = iVar40 - iVar41;\n      pmVar18 = pmVar38 + uVar39;\n      do {\n        iVar8 = iVar8 + -1;\n        if (*pmVar18 != 0) goto LAB_0005da5c;\n        pmVar18 = pmVar18 + -1;\n      } while (iVar8 != 0);\n      pmVar18 = pmVar38 + iVar41;\n      puVar26 = bp + iVar40 + iVar41 + -1;\n      iVar8 = iVar41;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005da5c;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005da5c:\n        iVar8 = 0;\n        if (iVar41 == 0) {\nLAB_0005da64:\n          bVar2 = iVar8 < iVar40;\n          if ((pmVar38 != pmVar49) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);\n          iVar8 = iVar41;\n          if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = iVar41 < iVar40;\n          if (pmVar38 != pmVar49) goto LAB_0005da78;\n        }\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41);\n        local_64 = local_64 ^ 1;\n        if (iVar45 != iVar41) {\n          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);\n        }\n      }\n    }\n    else {\n      pmVar18 = pmVar38 + uVar39 + 1;\n      puVar26 = bp + iVar40 + uVar39;\n      iVar8 = iVar40;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005dccc;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);\n        local_64 = local_64 ^ 1;\n        pmVar49[iVar40] = 0;\n      }\n    }" statement_identifier : (if_statement "if (iVar41 < iVar40) {\n      iVar8 = iVar40 - iVar41;\n      pmVar18 = pmVar38 + uVar39;\n      do {\n        iVar8 = iVar8 + -1;\n        if (*pmVar18 != 0) goto LAB_0005da5c;\n        pmVar18 = pmVar18 + -1;\n      } while (iVar8 != 0);\n      pmVar18 = pmVar38 + iVar41;\n      puVar26 = bp + iVar40 + iVar41 + -1;\n      iVar8 = iVar41;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005da5c;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005da5c:\n        iVar8 = 0;\n        if (iVar41 == 0) {\nLAB_0005da64:\n          bVar2 = iVar8 < iVar40;\n          if ((pmVar38 != pmVar49) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);\n          iVar8 = iVar41;\n          if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = iVar41 < iVar40;\n          if (pmVar38 != pmVar49) goto LAB_0005da78;\n        }\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41);\n        local_64 = local_64 ^ 1;\n        if (iVar45 != iVar41) {\n          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);\n        }\n      }\n    }\n    else {\n      pmVar18 = pmVar38 + uVar39 + 1;\n      puVar26 = bp + iVar40 + uVar39;\n      iVar8 = iVar40;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005dccc;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);\n        local_64 = local_64 ^ 1;\n        pmVar49[iVar40] = 0;\n      }\n    }" if (parenthesized_expression "(iVar41 < iVar40)" ( (binary_expression "iVar41 < iVar40" identifier < identifier) )) (compound_statement "{\n      iVar8 = iVar40 - iVar41;\n      pmVar18 = pmVar38 + uVar39;\n      do {\n        iVar8 = iVar8 + -1;\n        if (*pmVar18 != 0) goto LAB_0005da5c;\n        pmVar18 = pmVar18 + -1;\n      } while (iVar8 != 0);\n      pmVar18 = pmVar38 + iVar41;\n      puVar26 = bp + iVar40 + iVar41 + -1;\n      iVar8 = iVar41;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005da5c;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005da5c:\n        iVar8 = 0;\n        if (iVar41 == 0) {\nLAB_0005da64:\n          bVar2 = iVar8 < iVar40;\n          if ((pmVar38 != pmVar49) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);\n          iVar8 = iVar41;\n          if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = iVar41 < iVar40;\n          if (pmVar38 != pmVar49) goto LAB_0005da78;\n        }\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41);\n        local_64 = local_64 ^ 1;\n        if (iVar45 != iVar41) {\n          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);\n        }\n      }\n    }" { (expression_statement "iVar8 = iVar40 - iVar41;" (assignment_expression "iVar8 = iVar40 - iVar41" identifier = (binary_expression "iVar40 - iVar41" identifier - identifier)) ;) (expression_statement "pmVar18 = pmVar38 + uVar39;" (assignment_expression "pmVar18 = pmVar38 + uVar39" identifier = (binary_expression "pmVar38 + uVar39" identifier + identifier)) ;) (do_statement "do {\n        iVar8 = iVar8 + -1;\n        if (*pmVar18 != 0) goto LAB_0005da5c;\n        pmVar18 = pmVar18 + -1;\n      } while (iVar8 != 0);" do (compound_statement "{\n        iVar8 = iVar8 + -1;\n        if (*pmVar18 != 0) goto LAB_0005da5c;\n        pmVar18 = pmVar18 + -1;\n      }" { (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (if_statement "if (*pmVar18 != 0) goto LAB_0005da5c;" if (parenthesized_expression "(*pmVar18 != 0)" ( (binary_expression "*pmVar18 != 0" (pointer_expression "*pmVar18" * identifier) != number_literal) )) (goto_statement "goto LAB_0005da5c;" goto statement_identifier ;)) (expression_statement "pmVar18 = pmVar18 + -1;" (assignment_expression "pmVar18 = pmVar18 + -1" identifier = (binary_expression "pmVar18 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) ;) (expression_statement "pmVar18 = pmVar38 + iVar41;" (assignment_expression "pmVar18 = pmVar38 + iVar41" identifier = (binary_expression "pmVar38 + iVar41" identifier + identifier)) ;) (expression_statement "puVar26 = bp + iVar40 + iVar41 + -1;" (assignment_expression "puVar26 = bp + iVar40 + iVar41 + -1" identifier = (binary_expression "bp + iVar40 + iVar41 + -1" (binary_expression "bp + iVar40 + iVar41" (binary_expression "bp + iVar40" identifier + identifier) + identifier) + number_literal)) ;) (expression_statement "iVar8 = iVar41;" (assignment_expression "iVar8 = iVar41" identifier = identifier) ;) (do_statement "do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005da5c;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);" do (compound_statement "{\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005da5c;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      }" { (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (if_statement "if (iVar8 < 0) goto LAB_0005da5c;" if (parenthesized_expression "(iVar8 < 0)" ( (binary_expression "iVar8 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0005da5c;" goto statement_identifier ;)) (expression_statement "puVar35 = pmVar18 + -1;" (assignment_expression "puVar35 = pmVar18 + -1" identifier = (binary_expression "pmVar18 + -1" identifier + number_literal)) ;) (expression_statement "uVar39 = *puVar26;" (assignment_expression "uVar39 = *puVar26" identifier = (pointer_expression "*puVar26" * identifier)) ;) (expression_statement "pmVar18 = pmVar18 + -1;" (assignment_expression "pmVar18 = pmVar18 + -1" identifier = (binary_expression "pmVar18 + -1" identifier + number_literal)) ;) (expression_statement "puVar26 = puVar26 + -1;" (assignment_expression "puVar26 = puVar26 + -1" identifier = (binary_expression "puVar26 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*puVar35 == uVar39)" ( (binary_expression "*puVar35 == uVar39" (pointer_expression "*puVar35" * identifier) == identifier) )) ;) (if_statement "if (uVar39 < *puVar35) {\nLAB_0005da5c:\n        iVar8 = 0;\n        if (iVar41 == 0) {\nLAB_0005da64:\n          bVar2 = iVar8 < iVar40;\n          if ((pmVar38 != pmVar49) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);\n          iVar8 = iVar41;\n          if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = iVar41 < iVar40;\n          if (pmVar38 != pmVar49) goto LAB_0005da78;\n        }\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41);\n        local_64 = local_64 ^ 1;\n        if (iVar45 != iVar41) {\n          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);\n        }\n      }" if (parenthesized_expression "(uVar39 < *puVar35)" ( (binary_expression "uVar39 < *puVar35" identifier < (pointer_expression "*puVar35" * identifier)) )) (compound_statement "{\nLAB_0005da5c:\n        iVar8 = 0;\n        if (iVar41 == 0) {\nLAB_0005da64:\n          bVar2 = iVar8 < iVar40;\n          if ((pmVar38 != pmVar49) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);\n          iVar8 = iVar41;\n          if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = iVar41 < iVar40;\n          if (pmVar38 != pmVar49) goto LAB_0005da78;\n        }\n        pmVar49[iVar40] = 0;\n      }" { (labeled_statement "LAB_0005da5c:\n        iVar8 = 0;" statement_identifier : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;)) (if_statement "if (iVar41 == 0) {\nLAB_0005da64:\n          bVar2 = iVar8 < iVar40;\n          if ((pmVar38 != pmVar49) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);\n          iVar8 = iVar41;\n          if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = iVar41 < iVar40;\n          if (pmVar38 != pmVar49) goto LAB_0005da78;\n        }" if (parenthesized_expression "(iVar41 == 0)" ( (binary_expression "iVar41 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0005da64:\n          bVar2 = iVar8 < iVar40;\n          if ((pmVar38 != pmVar49) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }\n        }" { (labeled_statement "LAB_0005da64:\n          bVar2 = iVar8 < iVar40;" statement_identifier : (expression_statement "bVar2 = iVar8 < iVar40;" (assignment_expression "bVar2 = iVar8 < iVar40" identifier = (binary_expression "iVar8 < iVar40" identifier < identifier)) ;)) (if_statement "if ((pmVar38 != pmVar49) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }" if (parenthesized_expression "((pmVar38 != pmVar49) && (bVar2))" ( (binary_expression "(pmVar38 != pmVar49) && (bVar2)" (parenthesized_expression "(pmVar38 != pmVar49)" ( (binary_expression "pmVar38 != pmVar49" identifier != identifier) )) && (parenthesized_expression "(bVar2)" ( identifier ))) )) (compound_statement "{\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);\n          }" { (labeled_statement "LAB_0005da78:\n            iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) (if_statement "if (bVar2) {\n              iVar9 = (iVar40 - iVar8) * 4;\n            }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n              iVar9 = (iVar40 - iVar8) * 4;\n            }" { (expression_statement "iVar9 = (iVar40 - iVar8) * 4;" (assignment_expression "iVar9 = (iVar40 - iVar8) * 4" identifier = (binary_expression "(iVar40 - iVar8) * 4" (parenthesized_expression "(iVar40 - iVar8)" ( (binary_expression "iVar40 - iVar8" identifier - identifier) )) * number_literal)) ;) })) (expression_statement "(*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9);" (call_expression "(*(code *)PTR_memcpy_0009d544)(pmVar49 + iVar8,pmVar38 + iVar8,iVar9)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar49 + iVar8,pmVar38 + iVar8,iVar9)" ( (binary_expression "pmVar49 + iVar8" identifier + identifier) , (binary_expression "pmVar38 + iVar8" identifier + identifier) , identifier ))) ;) })) }) (else_clause "else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);\n          iVar8 = iVar41;\n          if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = iVar41 < iVar40;\n          if (pmVar38 != pmVar49) goto LAB_0005da78;\n        }" else (compound_statement "{\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);\n          iVar8 = iVar41;\n          if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = iVar41 < iVar40;\n          if (pmVar38 != pmVar49) goto LAB_0005da78;\n        }" { (expression_statement "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar41)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar49,pmVar38,pmVar32,iVar41)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar8 = iVar41;" (assignment_expression "iVar8 = iVar41" identifier = identifier) ;) (if_statement "if (iVar9 != 0) {\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n            pmVar20 = pmVar38 + iVar41;\n            pmVar18 = pmVar49 + iVar41;\n            do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);\n            pmVar49[iVar40] = 0;\n            goto LAB_0005d68c;\n          }" { (expression_statement "pmVar20 = pmVar38 + iVar41;" (assignment_expression "pmVar20 = pmVar38 + iVar41" identifier = (binary_expression "pmVar38 + iVar41" identifier + identifier)) ;) (expression_statement "pmVar18 = pmVar49 + iVar41;" (assignment_expression "pmVar18 = pmVar49 + iVar41" identifier = (binary_expression "pmVar49 + iVar41" identifier + identifier)) ;) (do_statement "do {\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            } while (iVar40 != iVar8);" do (compound_statement "{\n              mVar17 = *pmVar20;\n              iVar8 = iVar8 + 1;\n              *pmVar18 = mVar17 - 1;\n              if (mVar17 != 0) goto LAB_0005da64;\n              pmVar20 = pmVar20 + 1;\n              pmVar18 = pmVar18 + 1;\n            }" { (expression_statement "mVar17 = *pmVar20;" (assignment_expression "mVar17 = *pmVar20" identifier = (pointer_expression "*pmVar20" * identifier)) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "*pmVar18 = mVar17 - 1;" (assignment_expression "*pmVar18 = mVar17 - 1" (pointer_expression "*pmVar18" * identifier) = (binary_expression "mVar17 - 1" identifier - number_literal)) ;) (if_statement "if (mVar17 != 0) goto LAB_0005da64;" if (parenthesized_expression "(mVar17 != 0)" ( (binary_expression "mVar17 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0005da64;" goto statement_identifier ;)) (expression_statement "pmVar20 = pmVar20 + 1;" (assignment_expression "pmVar20 = pmVar20 + 1" identifier = (binary_expression "pmVar20 + 1" identifier + number_literal)) ;) (expression_statement "pmVar18 = pmVar18 + 1;" (assignment_expression "pmVar18 = pmVar18 + 1" identifier = (binary_expression "pmVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar40 != iVar8)" ( (binary_expression "iVar40 != iVar8" identifier != identifier) )) ;) (expression_statement "pmVar49[iVar40] = 0;" (assignment_expression "pmVar49[iVar40] = 0" (subscript_expression "pmVar49[iVar40]" identifier [ identifier ]) = number_literal) ;) (goto_statement "goto LAB_0005d68c;" goto statement_identifier ;) })) (expression_statement "bVar2 = iVar41 < iVar40;" (assignment_expression "bVar2 = iVar41 < iVar40" identifier = (binary_expression "iVar41 < iVar40" identifier < identifier)) ;) (if_statement "if (pmVar38 != pmVar49) goto LAB_0005da78;" if (parenthesized_expression "(pmVar38 != pmVar49)" ( (binary_expression "pmVar38 != pmVar49" identifier != identifier) )) (goto_statement "goto LAB_0005da78;" goto statement_identifier ;)) }))) (expression_statement "pmVar49[iVar40] = 0;" (assignment_expression "pmVar49[iVar40] = 0" (subscript_expression "pmVar49[iVar40]" identifier [ identifier ]) = number_literal) ;) }) (else_clause "else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41);\n        local_64 = local_64 ^ 1;\n        if (iVar45 != iVar41) {\n          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);\n        }\n      }" else (compound_statement "{\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41);\n        local_64 = local_64 ^ 1;\n        if (iVar45 != iVar41) {\n          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);\n        }\n      }" { (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar41)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar49,pmVar32,pmVar38,iVar41)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_64 = local_64 ^ 1;" (assignment_expression "local_64 = local_64 ^ 1" identifier = (binary_expression "local_64 ^ 1" identifier ^ number_literal)) ;) (if_statement "if (iVar45 != iVar41) {\n          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);\n        }" if (parenthesized_expression "(iVar45 != iVar41)" ( (binary_expression "iVar45 != iVar41" identifier != identifier) )) (compound_statement "{\n          (*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);\n        }" { (expression_statement "(*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4);" (call_expression "(*(code *)PTR_memset_0009d2e8)(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4)" (parenthesized_expression "(*(code *)PTR_memset_0009d2e8)" ( (pointer_expression "*(code *)PTR_memset_0009d2e8" * (cast_expression "(code *)PTR_memset_0009d2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar49 + iVar41,0,(iVar45 - iVar41) * 4)" ( (binary_expression "pmVar49 + iVar41" identifier + identifier) , number_literal , (binary_expression "(iVar45 - iVar41) * 4" (parenthesized_expression "(iVar45 - iVar41)" ( (binary_expression "iVar45 - iVar41" identifier - identifier) )) * number_literal) ))) ;) })) }))) }) (else_clause "else {\n      pmVar18 = pmVar38 + uVar39 + 1;\n      puVar26 = bp + iVar40 + uVar39;\n      iVar8 = iVar40;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005dccc;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);\n        local_64 = local_64 ^ 1;\n        pmVar49[iVar40] = 0;\n      }\n    }" else (compound_statement "{\n      pmVar18 = pmVar38 + uVar39 + 1;\n      puVar26 = bp + iVar40 + uVar39;\n      iVar8 = iVar40;\n      do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005dccc;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);\n      if (uVar39 < *puVar35) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);\n        local_64 = local_64 ^ 1;\n        pmVar49[iVar40] = 0;\n      }\n    }" { (expression_statement "pmVar18 = pmVar38 + uVar39 + 1;" (assignment_expression "pmVar18 = pmVar38 + uVar39 + 1" identifier = (binary_expression "pmVar38 + uVar39 + 1" (binary_expression "pmVar38 + uVar39" identifier + identifier) + number_literal)) ;) (expression_statement "puVar26 = bp + iVar40 + uVar39;" (assignment_expression "puVar26 = bp + iVar40 + uVar39" identifier = (binary_expression "bp + iVar40 + uVar39" (binary_expression "bp + iVar40" identifier + identifier) + identifier)) ;) (expression_statement "iVar8 = iVar40;" (assignment_expression "iVar8 = iVar40" identifier = identifier) ;) (do_statement "do {\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005dccc;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      } while (*puVar35 == uVar39);" do (compound_statement "{\n        iVar8 = iVar8 + -1;\n        if (iVar8 < 0) goto LAB_0005dccc;\n        puVar35 = pmVar18 + -1;\n        uVar39 = *puVar26;\n        pmVar18 = pmVar18 + -1;\n        puVar26 = puVar26 + -1;\n      }" { (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (if_statement "if (iVar8 < 0) goto LAB_0005dccc;" if (parenthesized_expression "(iVar8 < 0)" ( (binary_expression "iVar8 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0005dccc;" goto statement_identifier ;)) (expression_statement "puVar35 = pmVar18 + -1;" (assignment_expression "puVar35 = pmVar18 + -1" identifier = (binary_expression "pmVar18 + -1" identifier + number_literal)) ;) (expression_statement "uVar39 = *puVar26;" (assignment_expression "uVar39 = *puVar26" identifier = (pointer_expression "*puVar26" * identifier)) ;) (expression_statement "pmVar18 = pmVar18 + -1;" (assignment_expression "pmVar18 = pmVar18 + -1" identifier = (binary_expression "pmVar18 + -1" identifier + number_literal)) ;) (expression_statement "puVar26 = puVar26 + -1;" (assignment_expression "puVar26 = puVar26 + -1" identifier = (binary_expression "puVar26 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*puVar35 == uVar39)" ( (binary_expression "*puVar35 == uVar39" (pointer_expression "*puVar35" * identifier) == identifier) )) ;) (if_statement "if (uVar39 < *puVar35) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);\n        pmVar49[iVar40] = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);\n        local_64 = local_64 ^ 1;\n        pmVar49[iVar40] = 0;\n      }" if (parenthesized_expression "(uVar39 < *puVar35)" ( (binary_expression "uVar39 < *puVar35" identifier < (pointer_expression "*puVar35" * identifier)) )) (compound_statement "{\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);\n        pmVar49[iVar40] = 0;\n      }" { (labeled_statement "LAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);" statement_identifier : (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar38,pmVar32,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar49,pmVar38,pmVar32,iVar40)" ( identifier , identifier , identifier , identifier ))) ;)) (expression_statement "pmVar49[iVar40] = 0;" (assignment_expression "pmVar49[iVar40] = 0" (subscript_expression "pmVar49[iVar40]" identifier [ identifier ]) = number_literal) ;) }) (else_clause "else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);\n        local_64 = local_64 ^ 1;\n        pmVar49[iVar40] = 0;\n      }" else (compound_statement "{\n        (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);\n        local_64 = local_64 ^ 1;\n        pmVar49[iVar40] = 0;\n      }" { (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar49,pmVar32,pmVar38,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar49,pmVar32,pmVar38,iVar40)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_64 = local_64 ^ 1;" (assignment_expression "local_64 = local_64 ^ 1" identifier = (binary_expression "local_64 ^ 1" identifier ^ number_literal)) ;) (expression_statement "pmVar49[iVar40] = 0;" (assignment_expression "pmVar49[iVar40] = 0" (subscript_expression "pmVar49[iVar40]" identifier [ identifier ]) = number_literal) ;) }))) })))) }))) (labeled_statement "LAB_0005d68c:\n  mVar17 = *pmVar36;" statement_identifier : (expression_statement "mVar17 = *pmVar36;" (assignment_expression "mVar17 = *pmVar36" identifier = (pointer_expression "*pmVar36" * identifier)) ;)) (expression_statement "iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar5,pmVar37,bp,iVar40);" (assignment_expression "iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar5,pmVar37,bp,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar5,pmVar37,bp,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar5,pmVar37,bp,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "*(mp_limb_t *)(puVar5 + iVar43) = mVar17 + iVar8;" (assignment_expression "*(mp_limb_t *)(puVar5 + iVar43) = mVar17 + iVar8" (pointer_expression "*(mp_limb_t *)(puVar5 + iVar43)" * (cast_expression "(mp_limb_t *)(puVar5 + iVar43)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + iVar43)" ( (binary_expression "puVar5 + iVar43" identifier + identifier) )))) = (binary_expression "mVar17 + iVar8" identifier + identifier)) ;) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(scratch,&stack0xffffff68 + uVar4 * -3,pmVar48,iVar45);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(scratch,&stack0xffffff68 + uVar4 * -3,pmVar48,iVar45)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" ( (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" * (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(scratch,&stack0xffffff68 + uVar4 * -3,pmVar48,iVar45)" ( identifier , (binary_expression "&stack0xffffff68 + uVar4 * -3" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar4 * -3" identifier * number_literal)) , identifier , identifier ))) ;) (expression_statement "pmVar47 = scratch + iVar40 * 2 + 1;" (assignment_expression "pmVar47 = scratch + iVar40 * 2 + 1" identifier = (binary_expression "scratch + iVar40 * 2 + 1" (binary_expression "scratch + iVar40 * 2" identifier + (binary_expression "iVar40 * 2" identifier * number_literal)) + number_literal)) ;) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(pmVar47,&stack0xffffff68 + uVar4 * -4,pmVar49,iVar45);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(pmVar47,&stack0xffffff68 + uVar4 * -4,pmVar49,iVar45)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" ( (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" * (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar47,&stack0xffffff68 + uVar4 * -4,pmVar49,iVar45)" ( identifier , (binary_expression "&stack0xffffff68 + uVar4 * -4" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar4 * -4" identifier * number_literal)) , identifier , identifier ))) ;) (expression_statement "pmVar21 = scratch + iVar40 * 4 + 2;" (assignment_expression "pmVar21 = scratch + iVar40 * 4 + 2" identifier = (binary_expression "scratch + iVar40 * 4 + 2" (binary_expression "scratch + iVar40 * 4" identifier + (binary_expression "iVar40 * 4" identifier * number_literal)) + number_literal)) ;) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(pmVar21,puVar44,puVar5,iVar45);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(pmVar21,puVar44,puVar5,iVar45)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" ( (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" * (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar21,puVar44,puVar5,iVar45)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "pmVar42 = scratch + iVar40 * 6 + 3;" (assignment_expression "pmVar42 = scratch + iVar40 * 6 + 3" identifier = (binary_expression "scratch + iVar40 * 6 + 3" (binary_expression "scratch + iVar40 * 6" identifier + (binary_expression "iVar40 * 6" identifier * number_literal)) + number_literal)) ;) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(pmVar42,puVar27,pmVar38,iVar40);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(pmVar42,puVar27,pmVar38,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" ( (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" * (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar42,puVar27,pmVar38,iVar40)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (*(int *)(puVar27 + iVar43) == 1) {\n    mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)\n                       (scratch + iVar40 * 7 + 3,scratch + iVar40 * 7 + 3,pmVar38,iVar40);\n  }\n  else if (*(int *)(puVar27 + iVar43) == 2) {\n    mVar17 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(scratch + iVar40 * 7 + 3,pmVar38,iVar40,2);\n  }\n  else {\n    mVar17 = 0;\n  }" if (parenthesized_expression "(*(int *)(puVar27 + iVar43) == 1)" ( (binary_expression "*(int *)(puVar27 + iVar43) == 1" (pointer_expression "*(int *)(puVar27 + iVar43)" * (cast_expression "(int *)(puVar27 + iVar43)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + iVar43)" ( (binary_expression "puVar27 + iVar43" identifier + identifier) )))) == number_literal) )) (compound_statement "{\n    mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)\n                       (scratch + iVar40 * 7 + 3,scratch + iVar40 * 7 + 3,pmVar38,iVar40);\n  }" { (expression_statement "mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)\n                       (scratch + iVar40 * 7 + 3,scratch + iVar40 * 7 + 3,pmVar38,iVar40);" (assignment_expression "mVar17 = (*(code *)PTR___gmpn_add_n_0009d334)\n                       (scratch + iVar40 * 7 + 3,scratch + iVar40 * 7 + 3,pmVar38,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)\n                       (scratch + iVar40 * 7 + 3,scratch + iVar40 * 7 + 3,pmVar38,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(scratch + iVar40 * 7 + 3,scratch + iVar40 * 7 + 3,pmVar38,iVar40)" ( (binary_expression "scratch + iVar40 * 7 + 3" (binary_expression "scratch + iVar40 * 7" identifier + (binary_expression "iVar40 * 7" identifier * number_literal)) + number_literal) , (binary_expression "scratch + iVar40 * 7 + 3" (binary_expression "scratch + iVar40 * 7" identifier + (binary_expression "iVar40 * 7" identifier * number_literal)) + number_literal) , identifier , identifier )))) ;) }) (else_clause "else if (*(int *)(puVar27 + iVar43) == 2) {\n    mVar17 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(scratch + iVar40 * 7 + 3,pmVar38,iVar40,2);\n  }\n  else {\n    mVar17 = 0;\n  }" else (if_statement "if (*(int *)(puVar27 + iVar43) == 2) {\n    mVar17 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(scratch + iVar40 * 7 + 3,pmVar38,iVar40,2);\n  }\n  else {\n    mVar17 = 0;\n  }" if (parenthesized_expression "(*(int *)(puVar27 + iVar43) == 2)" ( (binary_expression "*(int *)(puVar27 + iVar43) == 2" (pointer_expression "*(int *)(puVar27 + iVar43)" * (cast_expression "(int *)(puVar27 + iVar43)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + iVar43)" ( (binary_expression "puVar27 + iVar43" identifier + identifier) )))) == number_literal) )) (compound_statement "{\n    mVar17 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(scratch + iVar40 * 7 + 3,pmVar38,iVar40,2);\n  }" { (expression_statement "mVar17 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(scratch + iVar40 * 7 + 3,pmVar38,iVar40,2);" (assignment_expression "mVar17 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(scratch + iVar40 * 7 + 3,pmVar38,iVar40,2)" identifier = (call_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)(scratch + iVar40 * 7 + 3,pmVar38,iVar40,2)" (parenthesized_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)" ( (pointer_expression "*(code *)PTR___gmpn_addmul_1_0009d0d0" * (cast_expression "(code *)PTR___gmpn_addmul_1_0009d0d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(scratch + iVar40 * 7 + 3,pmVar38,iVar40,2)" ( (binary_expression "scratch + iVar40 * 7 + 3" (binary_expression "scratch + iVar40 * 7" identifier + (binary_expression "iVar40 * 7" identifier * number_literal)) + number_literal) , identifier , identifier , number_literal )))) ;) }) (else_clause "else {\n    mVar17 = 0;\n  }" else (compound_statement "{\n    mVar17 = 0;\n  }" { (expression_statement "mVar17 = 0;" (assignment_expression "mVar17 = 0" identifier = number_literal) ;) }))))) (expression_statement "puVar53 = PTR___gmpn_mul_n_0009d364;" (assignment_expression "puVar53 = PTR___gmpn_mul_n_0009d364" identifier = identifier) ;) (expression_statement "scratch[iVar40 * 8 + 3] = mVar17;" (assignment_expression "scratch[iVar40 * 8 + 3] = mVar17" (subscript_expression "scratch[iVar40 * 8 + 3]" identifier [ (binary_expression "iVar40 * 8 + 3" (binary_expression "iVar40 * 8" identifier * number_literal) + number_literal) ]) = identifier) ;) (expression_statement "(*(code *)puVar53)(pp + iVar40 * 2,puVar25,pmVar37,iVar40);" (call_expression "(*(code *)puVar53)(pp + iVar40 * 2,puVar25,pmVar37,iVar40)" (parenthesized_expression "(*(code *)puVar53)" ( (pointer_expression "*(code *)puVar53" * (cast_expression "(code *)puVar53" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pp + iVar40 * 2,puVar25,pmVar37,iVar40)" ( (binary_expression "pp + iVar40 * 2" identifier + (binary_expression "iVar40 * 2" identifier * number_literal)) , identifier , identifier , identifier ))) ;) (expression_statement "mVar17 = *(mp_limb_t *)(puVar25 + iVar43);" (assignment_expression "mVar17 = *(mp_limb_t *)(puVar25 + iVar43)" identifier = (pointer_expression "*(mp_limb_t *)(puVar25 + iVar43)" * (cast_expression "(mp_limb_t *)(puVar25 + iVar43)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar43)" ( (binary_expression "puVar25 + iVar43" identifier + identifier) ))))) ;) (if_statement "if (mVar17 == 1) {\n    mVar17 = *pmVar36;\n    iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,pmVar37,iVar40);\n    mVar17 = mVar17 + iVar8;\n    mVar34 = *pmVar36;\n  }\n  else {\n    mVar34 = *pmVar36;\n    if (mVar17 == 2) {\n      iVar8 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,2);\n      iVar9 = mVar34 * 2;\n      mVar34 = *pmVar36;\n      mVar17 = iVar9 + iVar8;\n    }\n    else {\n      iVar8 = mVar17 * mVar34;\n      if (mVar17 != 0) {\n        iVar9 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17);\n        mVar34 = *pmVar36;\n        mVar17 = iVar8 + iVar9;\n      }\n    }\n  }" if (parenthesized_expression "(mVar17 == 1)" ( (binary_expression "mVar17 == 1" identifier == number_literal) )) (compound_statement "{\n    mVar17 = *pmVar36;\n    iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,pmVar37,iVar40);\n    mVar17 = mVar17 + iVar8;\n    mVar34 = *pmVar36;\n  }" { (expression_statement "mVar17 = *pmVar36;" (assignment_expression "mVar17 = *pmVar36" identifier = (pointer_expression "*pmVar36" * identifier)) ;) (expression_statement "iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,pmVar37,iVar40);" (assignment_expression "iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,pmVar37,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,pmVar37,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pp + iVar40 * 3,pp + iVar40 * 3,pmVar37,iVar40)" ( (binary_expression "pp + iVar40 * 3" identifier + (binary_expression "iVar40 * 3" identifier * number_literal)) , (binary_expression "pp + iVar40 * 3" identifier + (binary_expression "iVar40 * 3" identifier * number_literal)) , identifier , identifier )))) ;) (expression_statement "mVar17 = mVar17 + iVar8;" (assignment_expression "mVar17 = mVar17 + iVar8" identifier = (binary_expression "mVar17 + iVar8" identifier + identifier)) ;) (expression_statement "mVar34 = *pmVar36;" (assignment_expression "mVar34 = *pmVar36" identifier = (pointer_expression "*pmVar36" * identifier)) ;) }) (else_clause "else {\n    mVar34 = *pmVar36;\n    if (mVar17 == 2) {\n      iVar8 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,2);\n      iVar9 = mVar34 * 2;\n      mVar34 = *pmVar36;\n      mVar17 = iVar9 + iVar8;\n    }\n    else {\n      iVar8 = mVar17 * mVar34;\n      if (mVar17 != 0) {\n        iVar9 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17);\n        mVar34 = *pmVar36;\n        mVar17 = iVar8 + iVar9;\n      }\n    }\n  }" else (compound_statement "{\n    mVar34 = *pmVar36;\n    if (mVar17 == 2) {\n      iVar8 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,2);\n      iVar9 = mVar34 * 2;\n      mVar34 = *pmVar36;\n      mVar17 = iVar9 + iVar8;\n    }\n    else {\n      iVar8 = mVar17 * mVar34;\n      if (mVar17 != 0) {\n        iVar9 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17);\n        mVar34 = *pmVar36;\n        mVar17 = iVar8 + iVar9;\n      }\n    }\n  }" { (expression_statement "mVar34 = *pmVar36;" (assignment_expression "mVar34 = *pmVar36" identifier = (pointer_expression "*pmVar36" * identifier)) ;) (if_statement "if (mVar17 == 2) {\n      iVar8 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,2);\n      iVar9 = mVar34 * 2;\n      mVar34 = *pmVar36;\n      mVar17 = iVar9 + iVar8;\n    }\n    else {\n      iVar8 = mVar17 * mVar34;\n      if (mVar17 != 0) {\n        iVar9 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17);\n        mVar34 = *pmVar36;\n        mVar17 = iVar8 + iVar9;\n      }\n    }" if (parenthesized_expression "(mVar17 == 2)" ( (binary_expression "mVar17 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar8 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,2);\n      iVar9 = mVar34 * 2;\n      mVar34 = *pmVar36;\n      mVar17 = iVar9 + iVar8;\n    }" { (expression_statement "iVar8 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,2);" (assignment_expression "iVar8 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,2)" identifier = (call_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,2)" (parenthesized_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)" ( (pointer_expression "*(code *)PTR___gmpn_addmul_1_0009d0d0" * (cast_expression "(code *)PTR___gmpn_addmul_1_0009d0d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pp + iVar40 * 3,pmVar37,iVar40,2)" ( (binary_expression "pp + iVar40 * 3" identifier + (binary_expression "iVar40 * 3" identifier * number_literal)) , identifier , identifier , number_literal )))) ;) (expression_statement "iVar9 = mVar34 * 2;" (assignment_expression "iVar9 = mVar34 * 2" identifier = (binary_expression "mVar34 * 2" identifier * number_literal)) ;) (expression_statement "mVar34 = *pmVar36;" (assignment_expression "mVar34 = *pmVar36" identifier = (pointer_expression "*pmVar36" * identifier)) ;) (expression_statement "mVar17 = iVar9 + iVar8;" (assignment_expression "mVar17 = iVar9 + iVar8" identifier = (binary_expression "iVar9 + iVar8" identifier + identifier)) ;) }) (else_clause "else {\n      iVar8 = mVar17 * mVar34;\n      if (mVar17 != 0) {\n        iVar9 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17);\n        mVar34 = *pmVar36;\n        mVar17 = iVar8 + iVar9;\n      }\n    }" else (compound_statement "{\n      iVar8 = mVar17 * mVar34;\n      if (mVar17 != 0) {\n        iVar9 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17);\n        mVar34 = *pmVar36;\n        mVar17 = iVar8 + iVar9;\n      }\n    }" { (expression_statement "iVar8 = mVar17 * mVar34;" (assignment_expression "iVar8 = mVar17 * mVar34" identifier = (binary_expression "mVar17 * mVar34" identifier * identifier)) ;) (if_statement "if (mVar17 != 0) {\n        iVar9 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17);\n        mVar34 = *pmVar36;\n        mVar17 = iVar8 + iVar9;\n      }" if (parenthesized_expression "(mVar17 != 0)" ( (binary_expression "mVar17 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar9 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17);\n        mVar34 = *pmVar36;\n        mVar17 = iVar8 + iVar9;\n      }" { (expression_statement "iVar9 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17)" identifier = (call_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)(pp + iVar40 * 3,pmVar37,iVar40,mVar17)" (parenthesized_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)" ( (pointer_expression "*(code *)PTR___gmpn_addmul_1_0009d0d0" * (cast_expression "(code *)PTR___gmpn_addmul_1_0009d0d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pp + iVar40 * 3,pmVar37,iVar40,mVar17)" ( (binary_expression "pp + iVar40 * 3" identifier + (binary_expression "iVar40 * 3" identifier * number_literal)) , identifier , identifier , identifier )))) ;) (expression_statement "mVar34 = *pmVar36;" (assignment_expression "mVar34 = *pmVar36" identifier = (pointer_expression "*pmVar36" * identifier)) ;) (expression_statement "mVar17 = iVar8 + iVar9;" (assignment_expression "mVar17 = iVar8 + iVar9" identifier = (binary_expression "iVar8 + iVar9" identifier + identifier)) ;) })) }))) }))) (if_statement "if (mVar34 != 0) {\n    iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,puVar25,iVar40);\n    mVar17 = mVar17 + iVar8;\n  }" if (parenthesized_expression "(mVar34 != 0)" ( (binary_expression "mVar34 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,puVar25,iVar40);\n    mVar17 = mVar17 + iVar8;\n  }" { (expression_statement "iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,puVar25,iVar40);" (assignment_expression "iVar8 = (*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,puVar25,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(pp + iVar40 * 3,pp + iVar40 * 3,puVar25,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pp + iVar40 * 3,pp + iVar40 * 3,puVar25,iVar40)" ( (binary_expression "pp + iVar40 * 3" identifier + (binary_expression "iVar40 * 3" identifier * number_literal)) , (binary_expression "pp + iVar40 * 3" identifier + (binary_expression "iVar40 * 3" identifier * number_literal)) , identifier , identifier )))) ;) (expression_statement "mVar17 = mVar17 + iVar8;" (assignment_expression "mVar17 = mVar17 + iVar8" identifier = (binary_expression "mVar17 + iVar8" identifier + identifier)) ;) })) (expression_statement "puVar53 = PTR___gmpn_mul_n_0009d364;" (assignment_expression "puVar53 = PTR___gmpn_mul_n_0009d364" identifier = identifier) ;) (expression_statement "pmVar46 = pp + iVar40 * 2 + iVar40 * 2;" (assignment_expression "pmVar46 = pp + iVar40 * 2 + iVar40 * 2" identifier = (binary_expression "pp + iVar40 * 2 + iVar40 * 2" (binary_expression "pp + iVar40 * 2" identifier + (binary_expression "iVar40 * 2" identifier * number_literal)) + (binary_expression "iVar40 * 2" identifier * number_literal))) ;) (expression_statement "*pmVar46 = mVar17;" (assignment_expression "*pmVar46 = mVar17" (pointer_expression "*pmVar46" * identifier) = identifier) ;) (expression_statement "(*(code *)puVar53)(pp,ap,bp,iVar40);" (call_expression "(*(code *)puVar53)(pp,ap,bp,iVar40)" (parenthesized_expression "(*(code *)puVar53)" ( (pointer_expression "*(code *)puVar53" * (cast_expression "(code *)puVar53" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pp,ap,bp,iVar40)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (iVar41 < iVar33) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar41;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar28,iVar33,pmVar32);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar33;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar32,iVar41,pmVar28);\n  }" if (parenthesized_expression "(iVar41 < iVar33)" ( (binary_expression "iVar41 < iVar33" identifier < identifier) )) (compound_statement "{\n    *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar41;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar28,iVar33,pmVar32);\n  }" { (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar41;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar41" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "(*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar28,iVar33,pmVar32);" (call_expression "(*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar28,iVar33,pmVar32)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_0009d2b4)" ( (pointer_expression "*(code *)PTR___gmpn_mul_0009d2b4" * (cast_expression "(code *)PTR___gmpn_mul_0009d2b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar46 + iVar40 * 2,pmVar28,iVar33,pmVar32)" ( (binary_expression "pmVar46 + iVar40 * 2" identifier + (binary_expression "iVar40 * 2" identifier * number_literal)) , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar33;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar32,iVar41,pmVar28);\n  }" else (compound_statement "{\n    *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar33;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar32,iVar41,pmVar28);\n  }" { (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar33;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = iVar33" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "(*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar32,iVar41,pmVar28);" (call_expression "(*(code *)PTR___gmpn_mul_0009d2b4)(pmVar46 + iVar40 * 2,pmVar32,iVar41,pmVar28)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_0009d2b4)" ( (pointer_expression "*(code *)PTR___gmpn_mul_0009d2b4" * (cast_expression "(code *)PTR___gmpn_mul_0009d2b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar46 + iVar40 * 2,pmVar32,iVar41,pmVar28)" ( (binary_expression "pmVar46 + iVar40 * 2" identifier + (binary_expression "iVar40 * 2" identifier * number_literal)) , identifier , identifier , identifier ))) ;) }))) (expression_statement "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pmVar21;" (assignment_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14) = pmVar21" (pointer_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14)" * (cast_expression "(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0x14" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = scratch;" (assignment_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10) = scratch" (pointer_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10)" * (cast_expression "(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x18) = iVar33 + iVar41;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x18) = iVar33 + iVar41" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x18)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x18)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0x18" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar33 + iVar41" identifier + identifier)) ;) (expression_statement "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x1c) = scratch + iVar40 * 8 + 4;" (assignment_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x1c) = scratch + iVar40 * 8 + 4" (pointer_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x1c)" * (cast_expression "(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x1c)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x1c)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0x1c" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "scratch + iVar40 * 8 + 4" (binary_expression "scratch + iVar40 * 8" identifier + (binary_expression "iVar40 * 8" identifier * number_literal)) + number_literal)) ;) (expression_statement "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = pmVar42;" (assignment_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) = pmVar42" (pointer_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "iVar8 = iVar40;" (assignment_expression "iVar8 = iVar40" identifier = identifier) ;) (expression_statement "pmVar31 = pmVar47;" (assignment_expression "pmVar31 = pmVar47" identifier = identifier) ;) (expression_statement "(*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();" (call_expression "(*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)()" (parenthesized_expression "(*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)" ( (pointer_expression "*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8" * (cast_expression "(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar19 == *(int *)puVar51) {\n    return;\n  }" if (parenthesized_expression "(iVar19 == *(int *)puVar51)" ( (binary_expression "iVar19 == *(int *)puVar51" identifier == (pointer_expression "*(int *)puVar51" * (cast_expression "(int *)puVar51" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "uVar56 = 0x5e16c;" (assignment_expression "uVar56 = 0x5e16c" identifier = number_literal) ;) (expression_statement "puVar51 = PTR___stack_chk_fail_0009d4d0;" (assignment_expression "puVar51 = PTR___stack_chk_fail_0009d4d0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0009d4d0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0009d4d0" * (cast_expression "(code *)PTR___stack_chk_fail_0009d4d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar53 = puVar51 + 0x46ed0;" (assignment_expression "puVar53 = puVar51 + 0x46ed0" identifier = (binary_expression "puVar51 + 0x46ed0" identifier + number_literal)) ;) (expression_statement "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -8) = iVar40;" (assignment_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -8) = iVar40" (pointer_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -8)" * (cast_expression "(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -8)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -8" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 4) = pmVar42;" (assignment_expression "*(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 4) = pmVar42" (pointer_expression "*(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) = local_64;" (assignment_expression "*(uint *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) = local_64" (pointer_expression "*(uint *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(uint *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) = local_64 + 2;" (assignment_expression "*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) = local_64 + 2" (pointer_expression "*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" * (cast_expression "(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x14" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "local_64 + 2" identifier + number_literal)) ;) (expression_statement "*(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -8) = pmVar47;" (assignment_expression "*(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -8) = pmVar47" (pointer_expression "*(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -8)" * (cast_expression "(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -8)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar4 * -9 + -8)" ( (binary_expression "auStack_c8 + iVar3 + uVar4 * -9 + -8" (binary_expression "auStack_c8 + iVar3 + uVar4 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -4) = iVar33 + iVar41;" (assignment_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -4) = iVar33 + iVar41" (pointer_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar33 + iVar41" identifier + identifier)) ;) (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pmVar42 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10);" (assignment_expression "pmVar42 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10)" identifier = (pointer_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10)" * (cast_expression "(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 8) = pmVar46;" (assignment_expression "*(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 8) = pmVar46" (pointer_expression "*(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) = pmVar31;" (assignment_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) = pmVar31" (pointer_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) = puVar53;" (assignment_expression "*(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) = puVar53" (pointer_expression "*(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 0xc) = scratch + iVar40 * 8 + 4;" (assignment_expression "*(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 0xc) = scratch + iVar40 * 8 + 4" (pointer_expression "*(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(mp_ptr *)((int)amStack_e0 + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "scratch + iVar40 * 8 + 4" (binary_expression "scratch + iVar40 * 8" identifier + (binary_expression "iVar40 * 8" identifier * number_literal)) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)&uStack_c4 + iVar3 + uVar4 * -9) = uVar56;" (assignment_expression "*(undefined4 *)((int)&uStack_c4 + iVar3 + uVar4 * -9) = uVar56" (pointer_expression "*(undefined4 *)((int)&uStack_c4 + iVar3 + uVar4 * -9)" * (cast_expression "(undefined4 *)((int)&uStack_c4 + iVar3 + uVar4 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_c4 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)&uStack_c4 + iVar3 + uVar4 * -9" (binary_expression "(int)&uStack_c4 + iVar3" (cast_expression "(int)&uStack_c4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_c4" & identifier)) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(undefined1 **)(auStack_c8 + iVar3 + uVar4 * -9) = auStack_c0;" (assignment_expression "*(undefined1 **)(auStack_c8 + iVar3 + uVar4 * -9) = auStack_c0" (pointer_expression "*(undefined1 **)(auStack_c8 + iVar3 + uVar4 * -9)" * (cast_expression "(undefined1 **)(auStack_c8 + iVar3 + uVar4 * -9)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar4 * -9)" ( (binary_expression "auStack_c8 + iVar3 + uVar4 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "uVar39 = (local_64 + 2) / 3;" (assignment_expression "uVar39 = (local_64 + 2) / 3" identifier = (binary_expression "(local_64 + 2) / 3" (parenthesized_expression "(local_64 + 2)" ( (binary_expression "local_64 + 2" identifier + number_literal) )) / number_literal)) ;) (expression_statement "*(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -4) = pmVar21;" (assignment_expression "*(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -4) = pmVar21" (pointer_expression "*(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(mp_ptr *)(auStack_c8 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "auStack_c8 + iVar3 + uVar4 * -9 + -4" (binary_expression "auStack_c8 + iVar3 + uVar4 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(mp_limb_t *)((int)amStack_e0 + iVar3 + uVar4 * -9) = mVar17;" (assignment_expression "*(mp_limb_t *)((int)amStack_e0 + iVar3 + uVar4 * -9) = mVar17" (pointer_expression "*(mp_limb_t *)((int)amStack_e0 + iVar3 + uVar4 * -9)" * (cast_expression "(mp_limb_t *)((int)amStack_e0 + iVar3 + uVar4 * -9)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "iVar10 = uVar39 + 1;" (assignment_expression "iVar10 = uVar39 + 1" identifier = (binary_expression "uVar39 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) = iVar8;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) = iVar8" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "uVar6 = iVar19 + uVar39 * -2;" (assignment_expression "uVar6 = iVar19 + uVar39 * -2" identifier = (binary_expression "iVar19 + uVar39 * -2" identifier + (binary_expression "uVar39 * -2" identifier * number_literal))) ;) (expression_statement "iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc);" (assignment_expression "iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14) = iVar10 * 8;" (assignment_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14) = iVar10 * 8" (pointer_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14)" * (cast_expression "(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar10 * 8" identifier * number_literal)) ;) (expression_statement "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) = iVar10 * 0x10;" (assignment_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) = iVar10 * 0x10" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x20" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar10 * 0x10" identifier * number_literal)) ;) (expression_statement "iVar19 = iVar10 * 8 + -8;" (assignment_expression "iVar19 = iVar10 * 8 + -8" identifier = (binary_expression "iVar10 * 8 + -8" (binary_expression "iVar10 * 8" identifier * number_literal) + number_literal)) ;) (expression_statement "*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9) = iVar9 + uVar39 * -2;" (assignment_expression "*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9) = iVar9 + uVar39 * -2" (pointer_expression "*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9)" * (cast_expression "(uint *)((int)auStack_120 + iVar3 + uVar4 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = (binary_expression "iVar9 + uVar39 * -2" identifier + (binary_expression "uVar39 * -2" identifier * number_literal))) ;) (expression_statement "*(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) = pmVar42 + iVar10 * 3;" (assignment_expression "*(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) = pmVar42 + iVar10 * 3" (pointer_expression "*(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" * (cast_expression "(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x10" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "pmVar42 + iVar10 * 3" identifier + (binary_expression "iVar10 * 3" identifier * number_literal))) ;) (expression_statement "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c) = iVar19;" (assignment_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c) = iVar19" (pointer_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" * (cast_expression "(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4) = pmVar42 + iVar10 * 4;" (assignment_expression "*(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4) = pmVar42 + iVar10 * 4" (pointer_expression "*(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "pmVar42 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal))) ;) (expression_statement "*(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = pp + iVar10 * 2;" (assignment_expression "*(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = pp + iVar10 * 2" (pointer_expression "*(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "pp + iVar10 * 2" identifier + (binary_expression "iVar10 * 2" identifier * number_literal))) ;) (expression_statement "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) = iVar10 * 4;" (assignment_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) = iVar10 * 4" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar10 * 4" identifier * number_literal)) ;) (expression_statement "*(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = pmVar42 + iVar10 * 2;" (assignment_expression "*(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = pmVar42 + iVar10 * 2" (pointer_expression "*(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(mp_ptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "pmVar42 + iVar10 * 2" identifier + (binary_expression "iVar10 * 2" identifier * number_literal))) ;) (expression_statement "pmVar47 = pp + iVar10;" (assignment_expression "pmVar47 = pp + iVar10" identifier = (binary_expression "pp + iVar10" identifier + identifier)) ;) (expression_statement "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18) = iVar8 + iVar19;" (assignment_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18) = iVar8 + iVar19" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x18" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar8 + iVar19" identifier + identifier)) ;) (if_statement "if (uVar6 == 0) {\n    uVar7 = 0;\nLAB_0005e258:\n    pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\nLAB_0005e25c:\n    if ((pmVar42 == pmVar21) || ((int)uVar39 <= (int)uVar7)) {\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n      pmVar22 = (mp_limb_t *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4);\n      pmVar21 = pmVar42 + uVar7;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while (pmVar22 != (mp_limb_t *)(iVar19 + iVar9));\n    }\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;\n    iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar8,pmVar42,iVar12,uVar39);\n    piVar50 = (int *)(iVar8 + iVar9);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    iVar8 = (int)pmVar42 + iVar9;\n    *piVar50 = iVar19;\n    puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + (uVar39 - 1) * 4 + iVar9);\n    uVar7 = uVar39;\n    do {\n      uVar7 = uVar7 - 1;\n      if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n        *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar19 + iVar9;\n        goto LAB_0005e31c;\n      }\n      uVar23 = *(uint *)(iVar8 + -4);\n      uVar29 = *puVar26;\n      iVar8 = iVar8 + -4;\n      puVar26 = puVar26 + -1;\n    } while (uVar23 == uVar29);\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) =\n         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) + iVar9;\n    if (uVar29 < uVar23) {\n      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar11 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),iVar12,pmVar42,uVar39);\n    puVar55 = *(undefined4 **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n    *puVar55 = 0;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar51 + 0x3f1c4))(pmVar42);\n    puVar53 = *(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    uVar7 = uVar6;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar6 < (int)uVar39) {\n      uVar23 = uVar6 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar6 * 4);\n      iVar19 = *piVar50;\n      pmVar42[uVar6] = iVar19 + 1U;\n      uVar7 = uVar23;\n      if (iVar19 + 1U != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar23) goto LAB_0005eac8;\n      uVar7 = uVar6 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4) + 1;\n      pmVar42[uVar23] = mVar17;\n      pmVar21 = pmVar42 + uVar6;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005eac8;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e258;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n    piVar50 = (int *)(iVar19 + iVar9);\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;\n    iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar19,pmVar42,iVar12,uVar39);\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *piVar50 = iVar19 + 1;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 + iVar9;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),pmVar42,iVar12,\n                        uVar39);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;\n    iVar8 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n    **(int **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 - iVar19;\n  }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar7 = 0;\nLAB_0005e258:\n    pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\nLAB_0005e25c:\n    if ((pmVar42 == pmVar21) || ((int)uVar39 <= (int)uVar7)) {\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n      pmVar22 = (mp_limb_t *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4);\n      pmVar21 = pmVar42 + uVar7;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while (pmVar22 != (mp_limb_t *)(iVar19 + iVar9));\n    }\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;\n    iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar8,pmVar42,iVar12,uVar39);\n    piVar50 = (int *)(iVar8 + iVar9);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    iVar8 = (int)pmVar42 + iVar9;\n    *piVar50 = iVar19;\n    puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + (uVar39 - 1) * 4 + iVar9);\n    uVar7 = uVar39;\n    do {\n      uVar7 = uVar7 - 1;\n      if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n        *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar19 + iVar9;\n        goto LAB_0005e31c;\n      }\n      uVar23 = *(uint *)(iVar8 + -4);\n      uVar29 = *puVar26;\n      iVar8 = iVar8 + -4;\n      puVar26 = puVar26 + -1;\n    } while (uVar23 == uVar29);\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) =\n         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) + iVar9;\n    if (uVar29 < uVar23) {\n      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar11 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),iVar12,pmVar42,uVar39);\n    puVar55 = *(undefined4 **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n    *puVar55 = 0;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;\n  }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0005e258:\n    pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);" statement_identifier : (expression_statement "pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);" (assignment_expression "pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9)" identifier = (pointer_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9)" * (cast_expression "(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) ))))) ;)) (labeled_statement "LAB_0005e25c:\n    if ((pmVar42 == pmVar21) || ((int)uVar39 <= (int)uVar7)) {\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n      pmVar22 = (mp_limb_t *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4);\n      pmVar21 = pmVar42 + uVar7;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while (pmVar22 != (mp_limb_t *)(iVar19 + iVar9));\n    }" statement_identifier : (if_statement "if ((pmVar42 == pmVar21) || ((int)uVar39 <= (int)uVar7)) {\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n      pmVar22 = (mp_limb_t *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4);\n      pmVar21 = pmVar42 + uVar7;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while (pmVar22 != (mp_limb_t *)(iVar19 + iVar9));\n    }" if (parenthesized_expression "((pmVar42 == pmVar21) || ((int)uVar39 <= (int)uVar7))" ( (binary_expression "(pmVar42 == pmVar21) || ((int)uVar39 <= (int)uVar7)" (parenthesized_expression "(pmVar42 == pmVar21)" ( (binary_expression "pmVar42 == pmVar21" identifier == identifier) )) || (parenthesized_expression "((int)uVar39 <= (int)uVar7)" ( (binary_expression "(int)uVar39 <= (int)uVar7" (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n    }" { (expression_statement "iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;" (assignment_expression "iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4" identifier = (binary_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n      pmVar22 = (mp_limb_t *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4);\n      pmVar21 = pmVar42 + uVar7;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while (pmVar22 != (mp_limb_t *)(iVar19 + iVar9));\n    }" else (compound_statement "{\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n      pmVar22 = (mp_limb_t *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4);\n      pmVar21 = pmVar42 + uVar7;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while (pmVar22 != (mp_limb_t *)(iVar19 + iVar9));\n    }" { (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) ))))) ;) (expression_statement "iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;" (assignment_expression "iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4" identifier = (binary_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) + number_literal)) ;) (expression_statement "pmVar22 = (mp_limb_t *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4);" (assignment_expression "pmVar22 = (mp_limb_t *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4)" identifier = (cast_expression "(mp_limb_t *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar7 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) ;) (expression_statement "pmVar21 = pmVar42 + uVar7;" (assignment_expression "pmVar21 = pmVar42 + uVar7" identifier = (binary_expression "pmVar42 + uVar7" identifier + identifier)) ;) (do_statement "do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while (pmVar22 != (mp_limb_t *)(iVar19 + iVar9));" do (compound_statement "{\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      }" { (expression_statement "mVar17 = *pmVar22;" (assignment_expression "mVar17 = *pmVar22" identifier = (pointer_expression "*pmVar22" * identifier)) ;) (expression_statement "pmVar22 = pmVar22 + 1;" (assignment_expression "pmVar22 = pmVar22 + 1" identifier = (binary_expression "pmVar22 + 1" identifier + number_literal)) ;) (expression_statement "*pmVar21 = mVar17;" (assignment_expression "*pmVar21 = mVar17" (pointer_expression "*pmVar21" * identifier) = identifier) ;) (expression_statement "pmVar21 = pmVar21 + 1;" (assignment_expression "pmVar21 = pmVar21 + 1" identifier = (binary_expression "pmVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pmVar22 != (mp_limb_t *)(iVar19 + iVar9))" ( (binary_expression "pmVar22 != (mp_limb_t *)(iVar19 + iVar9)" identifier != (cast_expression "(mp_limb_t *)(iVar19 + iVar9)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar9)" ( (binary_expression "iVar19 + iVar9" identifier + identifier) )))) )) ;) })))) (expression_statement "iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);" (assignment_expression "iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" identifier = (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;" (assignment_expression "iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9" identifier = (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) + identifier)) ;) (expression_statement "iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar8,pmVar42,iVar12,uVar39);" (assignment_expression "iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar8,pmVar42,iVar12,uVar39)" identifier = (call_expression "(**(code **)(puVar53 + -0x7d0c))(iVar8,pmVar42,iVar12,uVar39)" (parenthesized_expression "(**(code **)(puVar53 + -0x7d0c))" ( (pointer_expression "**(code **)(puVar53 + -0x7d0c)" * (pointer_expression "*(code **)(puVar53 + -0x7d0c)" * (cast_expression "(code **)(puVar53 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + -0x7d0c)" ( (binary_expression "puVar53 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(iVar8,pmVar42,iVar12,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "piVar50 = (int *)(iVar8 + iVar9);" (assignment_expression "piVar50 = (int *)(iVar8 + iVar9)" identifier = (cast_expression "(int *)(iVar8 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + iVar9)" ( (binary_expression "iVar8 + iVar9" identifier + identifier) )))) ;) (expression_statement "iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar8 = (int)pmVar42 + iVar9;" (assignment_expression "iVar8 = (int)pmVar42 + iVar9" identifier = (binary_expression "(int)pmVar42 + iVar9" (cast_expression "(int)pmVar42" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "*piVar50 = iVar19;" (assignment_expression "*piVar50 = iVar19" (pointer_expression "*piVar50" * identifier) = identifier) ;) (expression_statement "puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + (uVar39 - 1) * 4 + iVar9);" (assignment_expression "puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + (uVar39 - 1) * 4 + iVar9)" identifier = (cast_expression "(uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + (uVar39 - 1) * 4 + iVar9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + (uVar39 - 1) * 4 + iVar9)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + (uVar39 - 1) * 4 + iVar9" (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + (uVar39 - 1) * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) + (binary_expression "(uVar39 - 1) * 4" (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) )) * number_literal)) + identifier) )))) ;) (expression_statement "uVar7 = uVar39;" (assignment_expression "uVar7 = uVar39" identifier = identifier) ;) (do_statement "do {\n      uVar7 = uVar7 - 1;\n      if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n        *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar19 + iVar9;\n        goto LAB_0005e31c;\n      }\n      uVar23 = *(uint *)(iVar8 + -4);\n      uVar29 = *puVar26;\n      iVar8 = iVar8 + -4;\n      puVar26 = puVar26 + -1;\n    } while (uVar23 == uVar29);" do (compound_statement "{\n      uVar7 = uVar7 - 1;\n      if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n        *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar19 + iVar9;\n        goto LAB_0005e31c;\n      }\n      uVar23 = *(uint *)(iVar8 + -4);\n      uVar29 = *puVar26;\n      iVar8 = iVar8 + -4;\n      puVar26 = puVar26 + -1;\n    }" { (expression_statement "uVar7 = uVar7 - 1;" (assignment_expression "uVar7 = uVar7 - 1" identifier = (binary_expression "uVar7 - 1" identifier - number_literal)) ;) (if_statement "if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n        *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar19 + iVar9;\n        goto LAB_0005e31c;\n      }" if (parenthesized_expression "(uVar7 == 0xffffffff)" ( (binary_expression "uVar7 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n        *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar19 + iVar9;\n        goto LAB_0005e31c;\n      }" { (expression_statement "iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);" (assignment_expression "iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" identifier = (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;" (assignment_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0" (pointer_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" * (cast_expression "(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar19 + iVar9;" (assignment_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar19 + iVar9" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar19 + iVar9" identifier + identifier)) ;) (goto_statement "goto LAB_0005e31c;" goto statement_identifier ;) })) (expression_statement "uVar23 = *(uint *)(iVar8 + -4);" (assignment_expression "uVar23 = *(uint *)(iVar8 + -4)" identifier = (pointer_expression "*(uint *)(iVar8 + -4)" * (cast_expression "(uint *)(iVar8 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -4)" ( (binary_expression "iVar8 + -4" identifier + number_literal) ))))) ;) (expression_statement "uVar29 = *puVar26;" (assignment_expression "uVar29 = *puVar26" identifier = (pointer_expression "*puVar26" * identifier)) ;) (expression_statement "iVar8 = iVar8 + -4;" (assignment_expression "iVar8 = iVar8 + -4" identifier = (binary_expression "iVar8 + -4" identifier + number_literal)) ;) (expression_statement "puVar26 = puVar26 + -1;" (assignment_expression "puVar26 = puVar26 + -1" identifier = (binary_expression "puVar26 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar23 == uVar29)" ( (binary_expression "uVar23 == uVar29" identifier == identifier) )) ;) (expression_statement "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) =\n         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) + iVar9;" (assignment_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) =\n         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) + iVar9" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) + iVar9" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) + identifier)) ;) (if_statement "if (uVar29 < uVar23) {\n      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n      goto LAB_0005e31c;\n    }" if (parenthesized_expression "(uVar29 < uVar23)" ( (binary_expression "uVar29 < uVar23" identifier < identifier) )) (compound_statement "{\n      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n      goto LAB_0005e31c;\n    }" { (expression_statement "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;" (assignment_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0" (pointer_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" * (cast_expression "(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0005e31c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(iVar11 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),iVar12,pmVar42,uVar39);" (call_expression "(**(code **)(iVar11 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),iVar12,pmVar42,uVar39)" (parenthesized_expression "(**(code **)(iVar11 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar11 + -0x7b2c)" * (pointer_expression "*(code **)(iVar11 + -0x7b2c)" * (cast_expression "(code **)(iVar11 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + -0x7b2c)" ( (binary_expression "iVar11 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),iVar12,pmVar42,uVar39)" ( (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier , identifier ))) ;) (expression_statement "puVar55 = *(undefined4 **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);" (assignment_expression "puVar55 = *(undefined4 **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" identifier = (pointer_expression "*(undefined4 **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" * (cast_expression "(undefined4 **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" * (cast_expression "(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*puVar55 = 0;" (assignment_expression "*puVar55 = 0" (pointer_expression "*puVar55" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;" (assignment_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1" (pointer_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" * (cast_expression "(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    iVar19 = (**(code **)(puVar51 + 0x3f1c4))(pmVar42);\n    puVar53 = *(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    uVar7 = uVar6;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar6 < (int)uVar39) {\n      uVar23 = uVar6 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar6 * 4);\n      iVar19 = *piVar50;\n      pmVar42[uVar6] = iVar19 + 1U;\n      uVar7 = uVar23;\n      if (iVar19 + 1U != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar23) goto LAB_0005eac8;\n      uVar7 = uVar6 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4) + 1;\n      pmVar42[uVar23] = mVar17;\n      pmVar21 = pmVar42 + uVar6;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005eac8;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e258;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n    piVar50 = (int *)(iVar19 + iVar9);\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;\n    iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar19,pmVar42,iVar12,uVar39);\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *piVar50 = iVar19 + 1;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 + iVar9;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),pmVar42,iVar12,\n                        uVar39);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;\n    iVar8 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n    **(int **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 - iVar19;\n  }" else (compound_statement "{\n    iVar19 = (**(code **)(puVar51 + 0x3f1c4))(pmVar42);\n    puVar53 = *(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    uVar7 = uVar6;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar6 < (int)uVar39) {\n      uVar23 = uVar6 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar6 * 4);\n      iVar19 = *piVar50;\n      pmVar42[uVar6] = iVar19 + 1U;\n      uVar7 = uVar23;\n      if (iVar19 + 1U != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar23) goto LAB_0005eac8;\n      uVar7 = uVar6 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4) + 1;\n      pmVar42[uVar23] = mVar17;\n      pmVar21 = pmVar42 + uVar6;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005eac8;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e258;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;\n    piVar50 = (int *)(iVar19 + iVar9);\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;\n    iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar19,pmVar42,iVar12,uVar39);\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *piVar50 = iVar19 + 1;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 + iVar9;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),pmVar42,iVar12,\n                        uVar39);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;\n    iVar8 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;\n    **(int **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 - iVar19;\n  }" { (expression_statement "iVar19 = (**(code **)(puVar51 + 0x3f1c4))(pmVar42);" (assignment_expression "iVar19 = (**(code **)(puVar51 + 0x3f1c4))(pmVar42)" identifier = (call_expression "(**(code **)(puVar51 + 0x3f1c4))(pmVar42)" (parenthesized_expression "(**(code **)(puVar51 + 0x3f1c4))" ( (pointer_expression "**(code **)(puVar51 + 0x3f1c4)" * (pointer_expression "*(code **)(puVar51 + 0x3f1c4)" * (cast_expression "(code **)(puVar51 + 0x3f1c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar51 + 0x3f1c4)" ( (binary_expression "puVar51 + 0x3f1c4" identifier + number_literal) ))))) )) (argument_list "(pmVar42)" ( identifier )))) ;) (expression_statement "puVar53 = *(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "puVar53 = *(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(undefined **)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar7 = uVar6;" (assignment_expression "uVar7 = uVar6" identifier = identifier) ;) (if_statement "if (iVar19 == 0) goto LAB_0005e258;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005e258;" goto statement_identifier ;)) (if_statement "if ((int)uVar6 < (int)uVar39) {\n      uVar23 = uVar6 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar6 * 4);\n      iVar19 = *piVar50;\n      pmVar42[uVar6] = iVar19 + 1U;\n      uVar7 = uVar23;\n      if (iVar19 + 1U != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar23) goto LAB_0005eac8;\n      uVar7 = uVar6 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4) + 1;\n      pmVar42[uVar23] = mVar17;\n      pmVar21 = pmVar42 + uVar6;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005eac8;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e258;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      goto LAB_0005e25c;\n    }" if (parenthesized_expression "((int)uVar6 < (int)uVar39)" ( (binary_expression "(int)uVar6 < (int)uVar39" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      uVar23 = uVar6 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar6 * 4);\n      iVar19 = *piVar50;\n      pmVar42[uVar6] = iVar19 + 1U;\n      uVar7 = uVar23;\n      if (iVar19 + 1U != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar23) goto LAB_0005eac8;\n      uVar7 = uVar6 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4) + 1;\n      pmVar42[uVar23] = mVar17;\n      pmVar21 = pmVar42 + uVar6;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005eac8;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e258;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n      goto LAB_0005e25c;\n    }" { (expression_statement "uVar23 = uVar6 + 1;" (assignment_expression "uVar23 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar6 * 4);" (assignment_expression "piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar6 * 4)" identifier = (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar6 * 4)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar6 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) + (binary_expression "uVar6 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar19 = *piVar50;" (assignment_expression "iVar19 = *piVar50" identifier = (pointer_expression "*piVar50" * identifier)) ;) (expression_statement "pmVar42[uVar6] = iVar19 + 1U;" (assignment_expression "pmVar42[uVar6] = iVar19 + 1U" (subscript_expression "pmVar42[uVar6]" identifier [ identifier ]) = (binary_expression "iVar19 + 1U" identifier + number_literal)) ;) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (if_statement "if (iVar19 + 1U != 0) goto LAB_0005e258;" if (parenthesized_expression "(iVar19 + 1U != 0)" ( (binary_expression "iVar19 + 1U != 0" (binary_expression "iVar19 + 1U" identifier + number_literal) != number_literal) )) (goto_statement "goto LAB_0005e258;" goto statement_identifier ;)) (if_statement "if ((int)uVar39 <= (int)uVar23) goto LAB_0005eac8;" if (parenthesized_expression "((int)uVar39 <= (int)uVar23)" ( (binary_expression "(int)uVar39 <= (int)uVar23" (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0005eac8;" goto statement_identifier ;)) (expression_statement "uVar7 = uVar6 + 2;" (assignment_expression "uVar7 = uVar6 + 2" identifier = (binary_expression "uVar6 + 2" identifier + number_literal)) ;) (expression_statement "mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4) + 1;" (assignment_expression "mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4) + 1" identifier = (binary_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4) + 1" (pointer_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4)" * (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + uVar23 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) + (binary_expression "uVar23 * 4" identifier * number_literal)) )))) + number_literal)) ;) (expression_statement "pmVar42[uVar23] = mVar17;" (assignment_expression "pmVar42[uVar23] = mVar17" (subscript_expression "pmVar42[uVar23]" identifier [ identifier ]) = identifier) ;) (expression_statement "pmVar21 = pmVar42 + uVar6;" (assignment_expression "pmVar21 = pmVar42 + uVar6" identifier = (binary_expression "pmVar42 + uVar6" identifier + identifier)) ;) (if_statement "if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005eac8;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e258;\n      }" if (parenthesized_expression "(mVar17 == 0)" ( (binary_expression "mVar17 == 0" identifier == number_literal) )) (compound_statement "{\n        do {\n          if (uVar39 == uVar7) goto LAB_0005eac8;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e258;\n      }" { (do_statement "do {\n          if (uVar39 == uVar7) goto LAB_0005eac8;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);" do (compound_statement "{\n          if (uVar39 == uVar7) goto LAB_0005eac8;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        }" { (if_statement "if (uVar39 == uVar7) goto LAB_0005eac8;" if (parenthesized_expression "(uVar39 == uVar7)" ( (binary_expression "uVar39 == uVar7" identifier == identifier) )) (goto_statement "goto LAB_0005eac8;" goto statement_identifier ;)) (expression_statement "iVar19 = piVar50[2];" (assignment_expression "iVar19 = piVar50[2]" identifier = (subscript_expression "piVar50[2]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar50 = piVar50 + 1;" (assignment_expression "piVar50 = piVar50 + 1" identifier = (binary_expression "piVar50 + 1" identifier + number_literal)) ;) (expression_statement "pmVar21[2] = iVar19 + 1U;" (assignment_expression "pmVar21[2] = iVar19 + 1U" (subscript_expression "pmVar21[2]" identifier [ number_literal ]) = (binary_expression "iVar19 + 1U" identifier + number_literal)) ;) (expression_statement "pmVar21 = pmVar21 + 1;" (assignment_expression "pmVar21 = pmVar21 + 1" identifier = (binary_expression "pmVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar19 + 1U == 0)" ( (binary_expression "iVar19 + 1U == 0" (binary_expression "iVar19 + 1U" identifier + number_literal) == number_literal) )) ;) (goto_statement "goto LAB_0005e258;" goto statement_identifier ;) })) (expression_statement "pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);" (assignment_expression "pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9)" identifier = (pointer_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9)" * (cast_expression "(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) ))))) ;) (goto_statement "goto LAB_0005e25c;" goto statement_identifier ;) })) (labeled_statement "LAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);" statement_identifier : (expression_statement "iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);" (assignment_expression "iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" identifier = (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;)) (expression_statement "iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4;" (assignment_expression "iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4" identifier = (binary_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + -4" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) + number_literal)) ;) (expression_statement "piVar50 = (int *)(iVar19 + iVar9);" (assignment_expression "piVar50 = (int *)(iVar19 + iVar9)" identifier = (cast_expression "(int *)(iVar19 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar9)" ( (binary_expression "iVar19 + iVar9" identifier + identifier) )))) ;) (expression_statement "iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9;" (assignment_expression "iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9" identifier = (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9) + iVar9" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) + identifier)) ;) (expression_statement "iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar19,pmVar42,iVar12,uVar39);" (assignment_expression "iVar19 = (**(code **)(puVar53 + -0x7d0c))(iVar19,pmVar42,iVar12,uVar39)" identifier = (call_expression "(**(code **)(puVar53 + -0x7d0c))(iVar19,pmVar42,iVar12,uVar39)" (parenthesized_expression "(**(code **)(puVar53 + -0x7d0c))" ( (pointer_expression "**(code **)(puVar53 + -0x7d0c)" * (pointer_expression "*(code **)(puVar53 + -0x7d0c)" * (cast_expression "(code **)(puVar53 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + -0x7d0c)" ( (binary_expression "puVar53 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(iVar19,pmVar42,iVar12,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);" (assignment_expression "iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" identifier = (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*piVar50 = iVar19 + 1;" (assignment_expression "*piVar50 = iVar19 + 1" (pointer_expression "*piVar50" * identifier) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1;" (assignment_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 1" (pointer_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" * (cast_expression "(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 + iVar9;" (assignment_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 + iVar9" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar8 + iVar9" identifier + identifier)) ;) (labeled_statement "LAB_0005e31c:\n    iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),pmVar42,iVar12,\n                        uVar39);" statement_identifier : (expression_statement "iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),pmVar42,iVar12,\n                        uVar39);" (assignment_expression "iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),pmVar42,iVar12,\n                        uVar39)" identifier = (call_expression "(**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),pmVar42,iVar12,\n                        uVar39)" (parenthesized_expression "(**(code **)(iVar11 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar11 + -0x7b2c)" * (pointer_expression "*(code **)(iVar11 + -0x7b2c)" * (cast_expression "(code **)(iVar11 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + -0x7b2c)" ( (binary_expression "iVar11 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc),pmVar42,iVar12,\n                        uVar39)" ( (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier , identifier )))) ;)) (expression_statement "iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" * (cast_expression "(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18);" (assignment_expression "iVar8 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" identifier = (pointer_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" * (cast_expression "(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0;" (assignment_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) = 0" (pointer_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" * (cast_expression "(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "**(int **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 - iVar19;" (assignment_expression "**(int **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar8 - iVar19" (pointer_expression "**(int **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" * (pointer_expression "*(int **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" * (cast_expression "(int **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) = (binary_expression "iVar8 - iVar19" identifier - identifier)) ;) }))) (expression_statement "iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);" (assignment_expression "iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" identifier = (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar7 = (**(code **)(iVar11 + -0x7d0c))\n                    (pmVar47,*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18),iVar8,\n                     uVar6);" (assignment_expression "uVar7 = (**(code **)(iVar11 + -0x7d0c))\n                    (pmVar47,*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18),iVar8,\n                     uVar6)" identifier = (call_expression "(**(code **)(iVar11 + -0x7d0c))\n                    (pmVar47,*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18),iVar8,\n                     uVar6)" (parenthesized_expression "(**(code **)(iVar11 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar11 + -0x7d0c)" * (pointer_expression "*(code **)(iVar11 + -0x7d0c)" * (cast_expression "(code **)(iVar11 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + -0x7d0c)" ( (binary_expression "iVar11 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(pmVar47,*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18),iVar8,\n                     uVar6)" ( identifier , (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x18" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "iVar19 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar19 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar39 != uVar6) {\n    iVar11 = uVar39 - uVar6;\n    puVar35 = (uint *)(iVar8 + uVar6 * 4);\n    puVar26 = pmVar47 + uVar6;\n    uVar23 = *puVar35;\n    *puVar26 = uVar7 + uVar23;\n    if (uVar7 + uVar23 < uVar7) {\n      uVar7 = 1;\n      if (1 < iVar11) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar11 == 2) goto LAB_0005e408;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar8 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar8 = 3;\n          }\n        }\n        else {\n          iVar8 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar11 <= iVar8) goto LAB_0005ea24;\n          puVar24 = puVar35 + iVar8;\n          puVar26 = puVar26 + iVar8;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar24 != puVar35 + iVar11);\n          uVar7 = 0;\n        }\n      }\n    }\n    else {\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar11) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar24 != puVar35 + iVar11);\n        }\nLAB_0005ea24:\n        uVar7 = 0;\n      }\n    }\n  }" if (parenthesized_expression "(uVar39 != uVar6)" ( (binary_expression "uVar39 != uVar6" identifier != identifier) )) (compound_statement "{\n    iVar11 = uVar39 - uVar6;\n    puVar35 = (uint *)(iVar8 + uVar6 * 4);\n    puVar26 = pmVar47 + uVar6;\n    uVar23 = *puVar35;\n    *puVar26 = uVar7 + uVar23;\n    if (uVar7 + uVar23 < uVar7) {\n      uVar7 = 1;\n      if (1 < iVar11) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar11 == 2) goto LAB_0005e408;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar8 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar8 = 3;\n          }\n        }\n        else {\n          iVar8 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar11 <= iVar8) goto LAB_0005ea24;\n          puVar24 = puVar35 + iVar8;\n          puVar26 = puVar26 + iVar8;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar24 != puVar35 + iVar11);\n          uVar7 = 0;\n        }\n      }\n    }\n    else {\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar11) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar24 != puVar35 + iVar11);\n        }\nLAB_0005ea24:\n        uVar7 = 0;\n      }\n    }\n  }" { (expression_statement "iVar11 = uVar39 - uVar6;" (assignment_expression "iVar11 = uVar39 - uVar6" identifier = (binary_expression "uVar39 - uVar6" identifier - identifier)) ;) (expression_statement "puVar35 = (uint *)(iVar8 + uVar6 * 4);" (assignment_expression "puVar35 = (uint *)(iVar8 + uVar6 * 4)" identifier = (cast_expression "(uint *)(iVar8 + uVar6 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + uVar6 * 4)" ( (binary_expression "iVar8 + uVar6 * 4" identifier + (binary_expression "uVar6 * 4" identifier * number_literal)) )))) ;) (expression_statement "puVar26 = pmVar47 + uVar6;" (assignment_expression "puVar26 = pmVar47 + uVar6" identifier = (binary_expression "pmVar47 + uVar6" identifier + identifier)) ;) (expression_statement "uVar23 = *puVar35;" (assignment_expression "uVar23 = *puVar35" identifier = (pointer_expression "*puVar35" * identifier)) ;) (expression_statement "*puVar26 = uVar7 + uVar23;" (assignment_expression "*puVar26 = uVar7 + uVar23" (pointer_expression "*puVar26" * identifier) = (binary_expression "uVar7 + uVar23" identifier + identifier)) ;) (if_statement "if (uVar7 + uVar23 < uVar7) {\n      uVar7 = 1;\n      if (1 < iVar11) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar11 == 2) goto LAB_0005e408;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar8 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar8 = 3;\n          }\n        }\n        else {\n          iVar8 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar11 <= iVar8) goto LAB_0005ea24;\n          puVar24 = puVar35 + iVar8;\n          puVar26 = puVar26 + iVar8;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar24 != puVar35 + iVar11);\n          uVar7 = 0;\n        }\n      }\n    }\n    else {\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar11) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar24 != puVar35 + iVar11);\n        }\nLAB_0005ea24:\n        uVar7 = 0;\n      }\n    }" if (parenthesized_expression "(uVar7 + uVar23 < uVar7)" ( (binary_expression "uVar7 + uVar23 < uVar7" (binary_expression "uVar7 + uVar23" identifier + identifier) < identifier) )) (compound_statement "{\n      uVar7 = 1;\n      if (1 < iVar11) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar11 == 2) goto LAB_0005e408;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar8 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar8 = 3;\n          }\n        }\n        else {\n          iVar8 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar11 <= iVar8) goto LAB_0005ea24;\n          puVar24 = puVar35 + iVar8;\n          puVar26 = puVar26 + iVar8;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar24 != puVar35 + iVar11);\n          uVar7 = 0;\n        }\n      }\n    }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (if_statement "if (1 < iVar11) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar11 == 2) goto LAB_0005e408;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar8 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar8 = 3;\n          }\n        }\n        else {\n          iVar8 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar11 <= iVar8) goto LAB_0005ea24;\n          puVar24 = puVar35 + iVar8;\n          puVar26 = puVar26 + iVar8;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar24 != puVar35 + iVar11);\n          uVar7 = 0;\n        }\n      }" if (parenthesized_expression "(1 < iVar11)" ( (binary_expression "1 < iVar11" number_literal < identifier) )) (compound_statement "{\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar11 == 2) goto LAB_0005e408;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar8 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar8 = 3;\n          }\n        }\n        else {\n          iVar8 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar11 <= iVar8) goto LAB_0005ea24;\n          puVar24 = puVar35 + iVar8;\n          puVar26 = puVar26 + iVar8;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar24 != puVar35 + iVar11);\n          uVar7 = 0;\n        }\n      }" { (expression_statement "uVar7 = puVar35[1];" (assignment_expression "uVar7 = puVar35[1]" identifier = (subscript_expression "puVar35[1]" identifier [ number_literal ])) ;) (expression_statement "puVar26[1] = uVar7 + 1;" (assignment_expression "puVar26[1] = uVar7 + 1" (subscript_expression "puVar26[1]" identifier [ number_literal ]) = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (if_statement "if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar11 == 2) goto LAB_0005e408;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar8 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar8 = 3;\n          }\n        }\n        else {\n          iVar8 = 2;\n        }" if (parenthesized_expression "(uVar7 + 1 == 0)" ( (binary_expression "uVar7 + 1 == 0" (binary_expression "uVar7 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n          uVar7 = 1;\n          if (iVar11 == 2) goto LAB_0005e408;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar8 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar8 = 3;\n          }\n        }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (if_statement "if (iVar11 == 2) goto LAB_0005e408;" if (parenthesized_expression "(iVar11 == 2)" ( (binary_expression "iVar11 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0005e408;" goto statement_identifier ;)) (expression_statement "uVar7 = puVar35[2];" (assignment_expression "uVar7 = puVar35[2]" identifier = (subscript_expression "puVar35[2]" identifier [ number_literal ])) ;) (expression_statement "puVar26[2] = uVar7 + 1;" (assignment_expression "puVar26[2] = uVar7 + 1" (subscript_expression "puVar26[2]" identifier [ number_literal ]) = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (if_statement "if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar8 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar8 = 3;\n          }" if (parenthesized_expression "(uVar7 + 1 == 0)" ( (binary_expression "uVar7 + 1 == 0" (binary_expression "uVar7 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n            puVar30 = puVar35 + 3;\n            iVar8 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }" { (expression_statement "puVar30 = puVar35 + 3;" (assignment_expression "puVar30 = puVar35 + 3" identifier = (binary_expression "puVar35 + 3" identifier + number_literal)) ;) (expression_statement "iVar8 = 3;" (assignment_expression "iVar8 = 3" identifier = number_literal) ;) (expression_statement "puVar24 = puVar26 + 3;" (assignment_expression "puVar24 = puVar26 + 3" identifier = (binary_expression "puVar26 + 3" identifier + number_literal)) ;) (do_statement "do {\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);" do (compound_statement "{\n              if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }\n              uVar7 = *puVar30;\n              iVar8 = iVar8 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            }" { (if_statement "if (iVar11 == iVar8) {\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }" if (parenthesized_expression "(iVar11 == iVar8)" ( (binary_expression "iVar11 == iVar8" identifier == identifier) )) (compound_statement "{\n                uVar7 = 1;\n                goto LAB_0005e408;\n              }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0005e408;" goto statement_identifier ;) })) (expression_statement "uVar7 = *puVar30;" (assignment_expression "uVar7 = *puVar30" identifier = (pointer_expression "*puVar30" * identifier)) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar30 = puVar30 + 1;" (assignment_expression "puVar30 = puVar30 + 1" identifier = (binary_expression "puVar30 + 1" identifier + number_literal)) ;) (expression_statement "*puVar24 = uVar7 + 1;" (assignment_expression "*puVar24 = uVar7 + 1" (pointer_expression "*puVar24" * identifier) = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 + 1 == 0)" ( (binary_expression "uVar7 + 1 == 0" (binary_expression "uVar7 + 1" identifier + number_literal) == number_literal) )) ;) }) (else_clause "else {\n            iVar8 = 3;\n          }" else (compound_statement "{\n            iVar8 = 3;\n          }" { (expression_statement "iVar8 = 3;" (assignment_expression "iVar8 = 3" identifier = number_literal) ;) }))) }) (else_clause "else {\n          iVar8 = 2;\n        }" else (compound_statement "{\n          iVar8 = 2;\n        }" { (expression_statement "iVar8 = 2;" (assignment_expression "iVar8 = 2" identifier = number_literal) ;) }))) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (if_statement "if (puVar26 != puVar35) {\n          if (iVar11 <= iVar8) goto LAB_0005ea24;\n          puVar24 = puVar35 + iVar8;\n          puVar26 = puVar26 + iVar8;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar24 != puVar35 + iVar11);\n          uVar7 = 0;\n        }" if (parenthesized_expression "(puVar26 != puVar35)" ( (binary_expression "puVar26 != puVar35" identifier != identifier) )) (compound_statement "{\n          if (iVar11 <= iVar8) goto LAB_0005ea24;\n          puVar24 = puVar35 + iVar8;\n          puVar26 = puVar26 + iVar8;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar24 != puVar35 + iVar11);\n          uVar7 = 0;\n        }" { (if_statement "if (iVar11 <= iVar8) goto LAB_0005ea24;" if (parenthesized_expression "(iVar11 <= iVar8)" ( (binary_expression "iVar11 <= iVar8" identifier <= identifier) )) (goto_statement "goto LAB_0005ea24;" goto statement_identifier ;)) (expression_statement "puVar24 = puVar35 + iVar8;" (assignment_expression "puVar24 = puVar35 + iVar8" identifier = (binary_expression "puVar35 + iVar8" identifier + identifier)) ;) (expression_statement "puVar26 = puVar26 + iVar8;" (assignment_expression "puVar26 = puVar26 + iVar8" identifier = (binary_expression "puVar26 + iVar8" identifier + identifier)) ;) (do_statement "do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar24 != puVar35 + iVar11);" do (compound_statement "{\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          }" { (expression_statement "uVar7 = *puVar24;" (assignment_expression "uVar7 = *puVar24" identifier = (pointer_expression "*puVar24" * identifier)) ;) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (expression_statement "*puVar26 = uVar7;" (assignment_expression "*puVar26 = uVar7" (pointer_expression "*puVar26" * identifier) = identifier) ;) (expression_statement "puVar26 = puVar26 + 1;" (assignment_expression "puVar26 = puVar26 + 1" identifier = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar24 != puVar35 + iVar11)" ( (binary_expression "puVar24 != puVar35 + iVar11" identifier != (binary_expression "puVar35 + iVar11" identifier + identifier)) )) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) })) })) }) (else_clause "else {\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar11) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar24 != puVar35 + iVar11);\n        }\nLAB_0005ea24:\n        uVar7 = 0;\n      }\n    }" else (compound_statement "{\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar11) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar24 != puVar35 + iVar11);\n        }\nLAB_0005ea24:\n        uVar7 = 0;\n      }\n    }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (if_statement "if (puVar26 != puVar35) {\n        if (1 < iVar11) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar24 != puVar35 + iVar11);\n        }\nLAB_0005ea24:\n        uVar7 = 0;\n      }" if (parenthesized_expression "(puVar26 != puVar35)" ( (binary_expression "puVar26 != puVar35" identifier != identifier) )) (compound_statement "{\n        if (1 < iVar11) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar24 != puVar35 + iVar11);\n        }\nLAB_0005ea24:\n        uVar7 = 0;\n      }" { (if_statement "if (1 < iVar11) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar24 != puVar35 + iVar11);\n        }" if (parenthesized_expression "(1 < iVar11)" ( (binary_expression "1 < iVar11" number_literal < identifier) )) (compound_statement "{\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar24 != puVar35 + iVar11);\n        }" { (expression_statement "puVar24 = puVar35 + 1;" (assignment_expression "puVar24 = puVar35 + 1" identifier = (binary_expression "puVar35 + 1" identifier + number_literal)) ;) (do_statement "do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar24 != puVar35 + iVar11);" do (compound_statement "{\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          }" { (expression_statement "puVar26 = puVar26 + 1;" (assignment_expression "puVar26 = puVar26 + 1" identifier = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = *puVar24;" (assignment_expression "uVar7 = *puVar24" identifier = (pointer_expression "*puVar24" * identifier)) ;) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (expression_statement "*puVar26 = uVar7;" (assignment_expression "*puVar26 = uVar7" (pointer_expression "*puVar26" * identifier) = identifier) ;) }) while (parenthesized_expression "(puVar24 != puVar35 + iVar11)" ( (binary_expression "puVar24 != puVar35 + iVar11" identifier != (binary_expression "puVar35 + iVar11" identifier + identifier)) )) ;) })) (labeled_statement "LAB_0005ea24:\n        uVar7 = 0;" statement_identifier : (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;)) })) }))) })) (labeled_statement "LAB_0005e408:\n  iVar13 = *piVar50;" statement_identifier : (expression_statement "iVar13 = *piVar50;" (assignment_expression "iVar13 = *piVar50" identifier = (pointer_expression "*piVar50" * identifier)) ;)) (expression_statement "iVar19 = (**(code **)(iVar19 + -0x7ad4))(pmVar47,pmVar47,uVar39,1);" (assignment_expression "iVar19 = (**(code **)(iVar19 + -0x7ad4))(pmVar47,pmVar47,uVar39,1)" identifier = (call_expression "(**(code **)(iVar19 + -0x7ad4))(pmVar47,pmVar47,uVar39,1)" (parenthesized_expression "(**(code **)(iVar19 + -0x7ad4))" ( (pointer_expression "**(code **)(iVar19 + -0x7ad4)" * (pointer_expression "*(code **)(iVar19 + -0x7ad4)" * (cast_expression "(code **)(iVar19 + -0x7ad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + -0x7ad4)" ( (binary_expression "iVar19 + -0x7ad4" identifier + number_literal) ))))) )) (argument_list "(pmVar47,pmVar47,uVar39,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar8 = (**(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7b2c))\n                    (pmVar47,pmVar47,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9),uVar39);" (assignment_expression "iVar8 = (**(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7b2c))\n                    (pmVar47,pmVar47,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9),uVar39)" identifier = (call_expression "(**(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7b2c))\n                    (pmVar47,pmVar47,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9),uVar39)" (parenthesized_expression "(**(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7b2c))" ( (pointer_expression "**(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7b2c)" * (pointer_expression "*(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7b2c)" * (cast_expression "(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7b2c)" ( (binary_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7b2c" (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) + number_literal) ))))) )) (argument_list "(pmVar47,pmVar47,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9),uVar39)" ( identifier , identifier , (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) , identifier )))) ;) (expression_statement "iVar12 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c);" (assignment_expression "iVar12 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" identifier = (pointer_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" * (cast_expression "(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar11 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(uint *)((int)pmVar47 + iVar9) = (iVar19 - iVar8) + (uVar7 + iVar13) * 2;" (assignment_expression "*(uint *)((int)pmVar47 + iVar9) = (iVar19 - iVar8) + (uVar7 + iVar13) * 2" (pointer_expression "*(uint *)((int)pmVar47 + iVar9)" * (cast_expression "(uint *)((int)pmVar47 + iVar9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pmVar47 + iVar9)" ( (binary_expression "(int)pmVar47 + iVar9" (cast_expression "(int)pmVar47" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = (binary_expression "(iVar19 - iVar8) + (uVar7 + iVar13) * 2" (parenthesized_expression "(iVar19 - iVar8)" ( (binary_expression "iVar19 - iVar8" identifier - identifier) )) + (binary_expression "(uVar7 + iVar13) * 2" (parenthesized_expression "(uVar7 + iVar13)" ( (binary_expression "uVar7 + iVar13" identifier + identifier) )) * number_literal))) ;) (expression_statement "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar11 + iVar12;" (assignment_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c) = iVar11 + iVar12" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar11 + iVar12" identifier + identifier)) ;) (expression_statement "iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9);" (assignment_expression "iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9)" identifier = (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) ))))) ;) (if_statement "if (iVar19 == 0) {\n    uVar7 = 0;\nLAB_0005e480:\n    pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar23 = uVar7;\nLAB_0005e484:\n    if ((pmVar42 != pmVar21) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8), (int)uVar23 < (int)uVar39)) {\n      pmVar22 = (mp_limb_t *)(iVar19 + uVar23 * 4);\n      pmVar21 = pmVar42 + uVar23;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while ((mp_limb_t *)(iVar19 + iVar9) != pmVar22);\n    }\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;\n    uVar56 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    iVar19 = (int)pmVar42 + iVar9;\n    *(undefined4 *)((int)pp + iVar9) = uVar56;\n    puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + (uVar39 - 1) * 4 + iVar9\n                      );\n    uVar7 = uVar39;\n    do {\n      uVar7 = uVar7 - 1;\n      if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n        *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar19 + iVar9;\n        goto LAB_0005e534;\n      }\n      uVar23 = *(uint *)(iVar19 + -4);\n      uVar29 = *puVar26;\n      iVar19 = iVar19 + -4;\n      puVar26 = puVar26 + -1;\n    } while (uVar23 == uVar29);\n    *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) + iVar9;\n    if (uVar29 < uVar23) {\n      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar11 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),iVar12,pmVar42,uVar39);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) =\n         *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc);\n    **(undefined4 **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = 0;\n  }\n  else {\n    iVar8 = (**(code **)(iVar14 + -0x7d0c))\n                      (pmVar42,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8),\n                       *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),iVar19);\n    iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar7 = iVar19 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar19 * 4);\n      iVar8 = *piVar50;\n      pmVar42[iVar19] = iVar8 + 1U;\n      if (iVar8 + 1U != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar7) goto LAB_0005ec00;\n      uVar23 = iVar19 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4) + 1;\n      pmVar42[uVar7] = mVar17;\n      uVar7 = uVar23;\n      pmVar21 = pmVar42 + iVar19;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005ec00;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e480;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(int *)((int)pp + iVar9) = iVar19 + 1;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;\n    *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar8 + iVar9;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),pmVar42,iVar12\n                        ,uVar39);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    **(int **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) - iVar19;\n  }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar7 = 0;\nLAB_0005e480:\n    pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar23 = uVar7;\nLAB_0005e484:\n    if ((pmVar42 != pmVar21) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8), (int)uVar23 < (int)uVar39)) {\n      pmVar22 = (mp_limb_t *)(iVar19 + uVar23 * 4);\n      pmVar21 = pmVar42 + uVar23;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while ((mp_limb_t *)(iVar19 + iVar9) != pmVar22);\n    }\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;\n    uVar56 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    iVar19 = (int)pmVar42 + iVar9;\n    *(undefined4 *)((int)pp + iVar9) = uVar56;\n    puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + (uVar39 - 1) * 4 + iVar9\n                      );\n    uVar7 = uVar39;\n    do {\n      uVar7 = uVar7 - 1;\n      if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n        *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar19 + iVar9;\n        goto LAB_0005e534;\n      }\n      uVar23 = *(uint *)(iVar19 + -4);\n      uVar29 = *puVar26;\n      iVar19 = iVar19 + -4;\n      puVar26 = puVar26 + -1;\n    } while (uVar23 == uVar29);\n    *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) + iVar9;\n    if (uVar29 < uVar23) {\n      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar11 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),iVar12,pmVar42,uVar39);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) =\n         *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc);\n    **(undefined4 **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = 0;\n  }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0005e480:\n    pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);" statement_identifier : (expression_statement "pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);" (assignment_expression "pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;)) (expression_statement "uVar23 = uVar7;" (assignment_expression "uVar23 = uVar7" identifier = identifier) ;) (labeled_statement "LAB_0005e484:\n    if ((pmVar42 != pmVar21) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8), (int)uVar23 < (int)uVar39)) {\n      pmVar22 = (mp_limb_t *)(iVar19 + uVar23 * 4);\n      pmVar21 = pmVar42 + uVar23;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while ((mp_limb_t *)(iVar19 + iVar9) != pmVar22);\n    }" statement_identifier : (if_statement "if ((pmVar42 != pmVar21) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8), (int)uVar23 < (int)uVar39)) {\n      pmVar22 = (mp_limb_t *)(iVar19 + uVar23 * 4);\n      pmVar21 = pmVar42 + uVar23;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while ((mp_limb_t *)(iVar19 + iVar9) != pmVar22);\n    }" if (parenthesized_expression "((pmVar42 != pmVar21) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8), (int)uVar23 < (int)uVar39))" ( (binary_expression "(pmVar42 != pmVar21) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8), (int)uVar23 < (int)uVar39)" (parenthesized_expression "(pmVar42 != pmVar21)" ( (binary_expression "pmVar42 != pmVar21" identifier != identifier) )) && (parenthesized_expression "(iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8), (int)uVar23 < (int)uVar39)" ( (comma_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8), (int)uVar23 < (int)uVar39" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) , (binary_expression "(int)uVar23 < (int)uVar39" (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n      pmVar22 = (mp_limb_t *)(iVar19 + uVar23 * 4);\n      pmVar21 = pmVar42 + uVar23;\n      do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while ((mp_limb_t *)(iVar19 + iVar9) != pmVar22);\n    }" { (expression_statement "pmVar22 = (mp_limb_t *)(iVar19 + uVar23 * 4);" (assignment_expression "pmVar22 = (mp_limb_t *)(iVar19 + uVar23 * 4)" identifier = (cast_expression "(mp_limb_t *)(iVar19 + uVar23 * 4)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + uVar23 * 4)" ( (binary_expression "iVar19 + uVar23 * 4" identifier + (binary_expression "uVar23 * 4" identifier * number_literal)) )))) ;) (expression_statement "pmVar21 = pmVar42 + uVar23;" (assignment_expression "pmVar21 = pmVar42 + uVar23" identifier = (binary_expression "pmVar42 + uVar23" identifier + identifier)) ;) (do_statement "do {\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      } while ((mp_limb_t *)(iVar19 + iVar9) != pmVar22);" do (compound_statement "{\n        mVar17 = *pmVar22;\n        pmVar22 = pmVar22 + 1;\n        *pmVar21 = mVar17;\n        pmVar21 = pmVar21 + 1;\n      }" { (expression_statement "mVar17 = *pmVar22;" (assignment_expression "mVar17 = *pmVar22" identifier = (pointer_expression "*pmVar22" * identifier)) ;) (expression_statement "pmVar22 = pmVar22 + 1;" (assignment_expression "pmVar22 = pmVar22 + 1" identifier = (binary_expression "pmVar22 + 1" identifier + number_literal)) ;) (expression_statement "*pmVar21 = mVar17;" (assignment_expression "*pmVar21 = mVar17" (pointer_expression "*pmVar21" * identifier) = identifier) ;) (expression_statement "pmVar21 = pmVar21 + 1;" (assignment_expression "pmVar21 = pmVar21 + 1" identifier = (binary_expression "pmVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((mp_limb_t *)(iVar19 + iVar9) != pmVar22)" ( (binary_expression "(mp_limb_t *)(iVar19 + iVar9) != pmVar22" (cast_expression "(mp_limb_t *)(iVar19 + iVar9)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar9)" ( (binary_expression "iVar19 + iVar9" identifier + identifier) ))) != identifier) )) ;) }))) (expression_statement "iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;" (assignment_expression "iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9" identifier = (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) + identifier)) ;) (expression_statement "uVar56 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);" (assignment_expression "uVar56 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39)" identifier = (call_expression "(**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39)" (parenthesized_expression "(**(code **)(iVar14 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar14 + -0x7d0c)" * (pointer_expression "*(code **)(iVar14 + -0x7d0c)" * (cast_expression "(code **)(iVar14 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + -0x7d0c)" ( (binary_expression "iVar14 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(pp,pmVar42,iVar12,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar19 = (int)pmVar42 + iVar9;" (assignment_expression "iVar19 = (int)pmVar42 + iVar9" identifier = (binary_expression "(int)pmVar42 + iVar9" (cast_expression "(int)pmVar42" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "*(undefined4 *)((int)pp + iVar9) = uVar56;" (assignment_expression "*(undefined4 *)((int)pp + iVar9) = uVar56" (pointer_expression "*(undefined4 *)((int)pp + iVar9)" * (cast_expression "(undefined4 *)((int)pp + iVar9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pp + iVar9)" ( (binary_expression "(int)pp + iVar9" (cast_expression "(int)pp" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = identifier) ;) (expression_statement "puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + (uVar39 - 1) * 4 + iVar9\n                      );" (assignment_expression "puVar26 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + (uVar39 - 1) * 4 + iVar9\n                      )" identifier = (cast_expression "(uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + (uVar39 - 1) * 4 + iVar9\n                      )" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + (uVar39 - 1) * 4 + iVar9\n                      )" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + (uVar39 - 1) * 4 + iVar9" (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + (uVar39 - 1) * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) + (binary_expression "(uVar39 - 1) * 4" (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) )) * number_literal)) + identifier) )))) ;) (expression_statement "uVar7 = uVar39;" (assignment_expression "uVar7 = uVar39" identifier = identifier) ;) (do_statement "do {\n      uVar7 = uVar7 - 1;\n      if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n        *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar19 + iVar9;\n        goto LAB_0005e534;\n      }\n      uVar23 = *(uint *)(iVar19 + -4);\n      uVar29 = *puVar26;\n      iVar19 = iVar19 + -4;\n      puVar26 = puVar26 + -1;\n    } while (uVar23 == uVar29);" do (compound_statement "{\n      uVar7 = uVar7 - 1;\n      if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n        *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar19 + iVar9;\n        goto LAB_0005e534;\n      }\n      uVar23 = *(uint *)(iVar19 + -4);\n      uVar29 = *puVar26;\n      iVar19 = iVar19 + -4;\n      puVar26 = puVar26 + -1;\n    }" { (expression_statement "uVar7 = uVar7 - 1;" (assignment_expression "uVar7 = uVar7 - 1" identifier = (binary_expression "uVar7 - 1" identifier - number_literal)) ;) (if_statement "if (uVar7 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n        *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar19 + iVar9;\n        goto LAB_0005e534;\n      }" if (parenthesized_expression "(uVar7 == 0xffffffff)" ( (binary_expression "uVar7 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n        *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n        *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar19 + iVar9;\n        goto LAB_0005e534;\n      }" { (expression_statement "iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);" (assignment_expression "iVar19 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x10" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" * (cast_expression "(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar19 + iVar9;" (assignment_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar19 + iVar9" (pointer_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" * (cast_expression "(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar19 + iVar9" identifier + identifier)) ;) (goto_statement "goto LAB_0005e534;" goto statement_identifier ;) })) (expression_statement "uVar23 = *(uint *)(iVar19 + -4);" (assignment_expression "uVar23 = *(uint *)(iVar19 + -4)" identifier = (pointer_expression "*(uint *)(iVar19 + -4)" * (cast_expression "(uint *)(iVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + -4)" ( (binary_expression "iVar19 + -4" identifier + number_literal) ))))) ;) (expression_statement "uVar29 = *puVar26;" (assignment_expression "uVar29 = *puVar26" identifier = (pointer_expression "*puVar26" * identifier)) ;) (expression_statement "iVar19 = iVar19 + -4;" (assignment_expression "iVar19 = iVar19 + -4" identifier = (binary_expression "iVar19 + -4" identifier + number_literal)) ;) (expression_statement "puVar26 = puVar26 + -1;" (assignment_expression "puVar26 = puVar26 + -1" identifier = (binary_expression "puVar26 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar23 == uVar29)" ( (binary_expression "uVar23 == uVar29" identifier == identifier) )) ;) (expression_statement "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) + iVar9;" (assignment_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) + iVar9" (pointer_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" * (cast_expression "(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10) + iVar9" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x10" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) + identifier)) ;) (if_statement "if (uVar29 < uVar23) {\n      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n      goto LAB_0005e534;\n    }" if (parenthesized_expression "(uVar29 < uVar23)" ( (binary_expression "uVar29 < uVar23" identifier < identifier) )) (compound_statement "{\n      *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;\n      goto LAB_0005e534;\n    }" { (expression_statement "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" * (cast_expression "(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0005e534;" goto statement_identifier ;) })) (expression_statement "(**(code **)(iVar11 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),iVar12,pmVar42,uVar39);" (call_expression "(**(code **)(iVar11 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),iVar12,pmVar42,uVar39)" (parenthesized_expression "(**(code **)(iVar11 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar11 + -0x7b2c)" * (pointer_expression "*(code **)(iVar11 + -0x7b2c)" * (cast_expression "(code **)(iVar11 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + -0x7b2c)" ( (binary_expression "iVar11 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),iVar12,pmVar42,uVar39)" ( (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x10" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) =\n         *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc);" (assignment_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18) =\n         *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" (pointer_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" * (cast_expression "(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" * (cast_expression "(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "**(undefined4 **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = 0;" (assignment_expression "**(undefined4 **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = 0" (pointer_expression "**(undefined4 **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" * (pointer_expression "*(undefined4 **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" * (cast_expression "(undefined4 **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) = number_literal) ;) }) (else_clause "else {\n    iVar8 = (**(code **)(iVar14 + -0x7d0c))\n                      (pmVar42,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8),\n                       *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),iVar19);\n    iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar7 = iVar19 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar19 * 4);\n      iVar8 = *piVar50;\n      pmVar42[iVar19] = iVar8 + 1U;\n      if (iVar8 + 1U != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar7) goto LAB_0005ec00;\n      uVar23 = iVar19 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4) + 1;\n      pmVar42[uVar7] = mVar17;\n      uVar7 = uVar23;\n      pmVar21 = pmVar42 + iVar19;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005ec00;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e480;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(int *)((int)pp + iVar9) = iVar19 + 1;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;\n    *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar8 + iVar9;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),pmVar42,iVar12\n                        ,uVar39);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    **(int **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) - iVar19;\n  }" else (compound_statement "{\n    iVar8 = (**(code **)(iVar14 + -0x7d0c))\n                      (pmVar42,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8),\n                       *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),iVar19);\n    iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar7 = iVar19 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar19 * 4);\n      iVar8 = *piVar50;\n      pmVar42[iVar19] = iVar8 + 1U;\n      if (iVar8 + 1U != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar7) goto LAB_0005ec00;\n      uVar23 = iVar19 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4) + 1;\n      pmVar42[uVar7] = mVar17;\n      uVar7 = uVar23;\n      pmVar21 = pmVar42 + iVar19;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005ec00;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e480;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);\n    iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *(int *)((int)pp + iVar9) = iVar19 + 1;\n    *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;\n    *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar8 + iVar9;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),pmVar42,iVar12\n                        ,uVar39);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    **(int **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) - iVar19;\n  }" { (expression_statement "iVar8 = (**(code **)(iVar14 + -0x7d0c))\n                      (pmVar42,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8),\n                       *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),iVar19);" (assignment_expression "iVar8 = (**(code **)(iVar14 + -0x7d0c))\n                      (pmVar42,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8),\n                       *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),iVar19)" identifier = (call_expression "(**(code **)(iVar14 + -0x7d0c))\n                      (pmVar42,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8),\n                       *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),iVar19)" (parenthesized_expression "(**(code **)(iVar14 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar14 + -0x7d0c)" * (pointer_expression "*(code **)(iVar14 + -0x7d0c)" * (cast_expression "(code **)(iVar14 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + -0x7d0c)" ( (binary_expression "iVar14 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(pmVar42,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8),\n                       *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),iVar19)" ( identifier , (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) , (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) , identifier )))) ;) (expression_statement "iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar14 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) {\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);\n      goto LAB_0005e480;\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);\n      goto LAB_0005e480;\n    }" { (expression_statement "uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);" (assignment_expression "uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9)" identifier = (pointer_expression "*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9)" * (cast_expression "(uint *)((int)auStack_120 + iVar3 + uVar4 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) ))))) ;) (goto_statement "goto LAB_0005e480;" goto statement_identifier ;) })) (if_statement "if (iVar19 < (int)uVar39) {\n      uVar7 = iVar19 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar19 * 4);\n      iVar8 = *piVar50;\n      pmVar42[iVar19] = iVar8 + 1U;\n      if (iVar8 + 1U != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar7) goto LAB_0005ec00;\n      uVar23 = iVar19 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4) + 1;\n      pmVar42[uVar7] = mVar17;\n      uVar7 = uVar23;\n      pmVar21 = pmVar42 + iVar19;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005ec00;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e480;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e484;\n    }" if (parenthesized_expression "(iVar19 < (int)uVar39)" ( (binary_expression "iVar19 < (int)uVar39" identifier < (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      uVar7 = iVar19 + 1;\n      piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar19 * 4);\n      iVar8 = *piVar50;\n      pmVar42[iVar19] = iVar8 + 1U;\n      if (iVar8 + 1U != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar7) goto LAB_0005ec00;\n      uVar23 = iVar19 + 2;\n      mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4) + 1;\n      pmVar42[uVar7] = mVar17;\n      uVar7 = uVar23;\n      pmVar21 = pmVar42 + iVar19;\n      if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005ec00;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e480;\n      }\n      pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e484;\n    }" { (expression_statement "uVar7 = iVar19 + 1;" (assignment_expression "uVar7 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar19 * 4);" (assignment_expression "piVar50 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar19 * 4)" identifier = (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar19 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar19 * 4)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar19 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) + (binary_expression "iVar19 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar8 = *piVar50;" (assignment_expression "iVar8 = *piVar50" identifier = (pointer_expression "*piVar50" * identifier)) ;) (expression_statement "pmVar42[iVar19] = iVar8 + 1U;" (assignment_expression "pmVar42[iVar19] = iVar8 + 1U" (subscript_expression "pmVar42[iVar19]" identifier [ identifier ]) = (binary_expression "iVar8 + 1U" identifier + number_literal)) ;) (if_statement "if (iVar8 + 1U != 0) goto LAB_0005e480;" if (parenthesized_expression "(iVar8 + 1U != 0)" ( (binary_expression "iVar8 + 1U != 0" (binary_expression "iVar8 + 1U" identifier + number_literal) != number_literal) )) (goto_statement "goto LAB_0005e480;" goto statement_identifier ;)) (if_statement "if ((int)uVar39 <= (int)uVar7) goto LAB_0005ec00;" if (parenthesized_expression "((int)uVar39 <= (int)uVar7)" ( (binary_expression "(int)uVar39 <= (int)uVar7" (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0005ec00;" goto statement_identifier ;)) (expression_statement "uVar23 = iVar19 + 2;" (assignment_expression "uVar23 = iVar19 + 2" identifier = (binary_expression "iVar19 + 2" identifier + number_literal)) ;) (expression_statement "mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4) + 1;" (assignment_expression "mVar17 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4) + 1" identifier = (binary_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4) + 1" (pointer_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4)" * (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + uVar7 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) + number_literal)) ;) (expression_statement "pmVar42[uVar7] = mVar17;" (assignment_expression "pmVar42[uVar7] = mVar17" (subscript_expression "pmVar42[uVar7]" identifier [ identifier ]) = identifier) ;) (expression_statement "uVar7 = uVar23;" (assignment_expression "uVar7 = uVar23" identifier = identifier) ;) (expression_statement "pmVar21 = pmVar42 + iVar19;" (assignment_expression "pmVar21 = pmVar42 + iVar19" identifier = (binary_expression "pmVar42 + iVar19" identifier + identifier)) ;) (if_statement "if (mVar17 == 0) {\n        do {\n          if (uVar39 == uVar7) goto LAB_0005ec00;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e480;\n      }" if (parenthesized_expression "(mVar17 == 0)" ( (binary_expression "mVar17 == 0" identifier == number_literal) )) (compound_statement "{\n        do {\n          if (uVar39 == uVar7) goto LAB_0005ec00;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);\n        goto LAB_0005e480;\n      }" { (do_statement "do {\n          if (uVar39 == uVar7) goto LAB_0005ec00;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        } while (iVar19 + 1U == 0);" do (compound_statement "{\n          if (uVar39 == uVar7) goto LAB_0005ec00;\n          iVar19 = piVar50[2];\n          uVar7 = uVar7 + 1;\n          piVar50 = piVar50 + 1;\n          pmVar21[2] = iVar19 + 1U;\n          pmVar21 = pmVar21 + 1;\n        }" { (if_statement "if (uVar39 == uVar7) goto LAB_0005ec00;" if (parenthesized_expression "(uVar39 == uVar7)" ( (binary_expression "uVar39 == uVar7" identifier == identifier) )) (goto_statement "goto LAB_0005ec00;" goto statement_identifier ;)) (expression_statement "iVar19 = piVar50[2];" (assignment_expression "iVar19 = piVar50[2]" identifier = (subscript_expression "piVar50[2]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar50 = piVar50 + 1;" (assignment_expression "piVar50 = piVar50 + 1" identifier = (binary_expression "piVar50 + 1" identifier + number_literal)) ;) (expression_statement "pmVar21[2] = iVar19 + 1U;" (assignment_expression "pmVar21[2] = iVar19 + 1U" (subscript_expression "pmVar21[2]" identifier [ number_literal ]) = (binary_expression "iVar19 + 1U" identifier + number_literal)) ;) (expression_statement "pmVar21 = pmVar21 + 1;" (assignment_expression "pmVar21 = pmVar21 + 1" identifier = (binary_expression "pmVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar19 + 1U == 0)" ( (binary_expression "iVar19 + 1U == 0" (binary_expression "iVar19 + 1U" identifier + number_literal) == number_literal) )) ;) (goto_statement "goto LAB_0005e480;" goto statement_identifier ;) })) (expression_statement "pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);" (assignment_expression "pmVar21 = *(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(mp_ptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto LAB_0005e484;" goto statement_identifier ;) })) (labeled_statement "LAB_0005ec00:\n    iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;" statement_identifier : (expression_statement "iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9;" (assignment_expression "iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9" identifier = (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8) + iVar9" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) + identifier)) ;)) (expression_statement "iVar19 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39);" (assignment_expression "iVar19 = (**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39)" identifier = (call_expression "(**(code **)(iVar14 + -0x7d0c))(pp,pmVar42,iVar12,uVar39)" (parenthesized_expression "(**(code **)(iVar14 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar14 + -0x7d0c)" * (pointer_expression "*(code **)(iVar14 + -0x7d0c)" * (cast_expression "(code **)(iVar14 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + -0x7d0c)" ( (binary_expression "iVar14 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(pp,pmVar42,iVar12,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);" (assignment_expression "iVar8 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x10" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar11 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)pp + iVar9) = iVar19 + 1;" (assignment_expression "*(int *)((int)pp + iVar9) = iVar19 + 1" (pointer_expression "*(int *)((int)pp + iVar9)" * (cast_expression "(int *)((int)pp + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pp + iVar9)" ( (binary_expression "(int)pp + iVar9" (cast_expression "(int)pp" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" * (cast_expression "(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar8 + iVar9;" (assignment_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) = iVar8 + iVar9" (pointer_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" * (cast_expression "(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar8 + iVar9" identifier + identifier)) ;) (labeled_statement "LAB_0005e534:\n    iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),pmVar42,iVar12\n                        ,uVar39);" statement_identifier : (expression_statement "iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),pmVar42,iVar12\n                        ,uVar39);" (assignment_expression "iVar19 = (**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),pmVar42,iVar12\n                        ,uVar39)" identifier = (call_expression "(**(code **)(iVar11 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),pmVar42,iVar12\n                        ,uVar39)" (parenthesized_expression "(**(code **)(iVar11 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar11 + -0x7b2c)" * (pointer_expression "*(code **)(iVar11 + -0x7b2c)" * (cast_expression "(code **)(iVar11 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + -0x7b2c)" ( (binary_expression "iVar11 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10),pmVar42,iVar12\n                        ,uVar39)" ( (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x10" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier , identifier )))) ;)) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "**(int **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) - iVar19;" (assignment_expression "**(int **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10) =\n         *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) - iVar19" (pointer_expression "**(int **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" * (pointer_expression "*(int **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" * (cast_expression "(int **)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x10" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) = (binary_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc) - iVar19" (pointer_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" * (cast_expression "(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0xc" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) - identifier)) ;) }))) (expression_statement "uVar23 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9);" (assignment_expression "uVar23 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9)" identifier = (pointer_expression "*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9)" * (cast_expression "(uint *)((int)auStack_120 + iVar3 + uVar4 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) ))))) ;) (expression_statement "uVar7 = (**(code **)(iVar8 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4),pp,\n                     *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),uVar23);" (assignment_expression "uVar7 = (**(code **)(iVar8 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4),pp,\n                     *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),uVar23)" identifier = (call_expression "(**(code **)(iVar8 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4),pp,\n                     *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),uVar23)" (parenthesized_expression "(**(code **)(iVar8 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar8 + -0x7d0c)" * (pointer_expression "*(code **)(iVar8 + -0x7d0c)" * (cast_expression "(code **)(iVar8 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + -0x7d0c)" ( (binary_expression "iVar8 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4),pp,\n                     *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c),uVar23)" ( (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) , identifier , (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) , identifier )))) ;) (expression_statement "iVar19 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar19 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar39 != uVar23) {\n    iVar8 = uVar39 - uVar23;\n    puVar35 = pp + uVar23;\n    puVar26 = (uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + uVar23 * 4);\n    uVar23 = *puVar35;\n    *puVar26 = uVar7 + uVar23;\n    if (uVar7 + uVar23 < uVar7) {\n      uVar7 = 1;\n      if (1 < iVar8) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar8 == 2) goto LAB_0005e618;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar11 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar8 <= iVar11) goto LAB_0005e9e8;\n          puVar24 = puVar35 + iVar11;\n          puVar26 = puVar26 + iVar11;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar35 + iVar8 != puVar24);\n          uVar7 = 0;\n        }\n      }\n    }\n    else {\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar8) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar35 + iVar8 != puVar24);\n        }\nLAB_0005e9e8:\n        uVar7 = 0;\n      }\n    }\n  }" if (parenthesized_expression "(uVar39 != uVar23)" ( (binary_expression "uVar39 != uVar23" identifier != identifier) )) (compound_statement "{\n    iVar8 = uVar39 - uVar23;\n    puVar35 = pp + uVar23;\n    puVar26 = (uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + uVar23 * 4);\n    uVar23 = *puVar35;\n    *puVar26 = uVar7 + uVar23;\n    if (uVar7 + uVar23 < uVar7) {\n      uVar7 = 1;\n      if (1 < iVar8) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar8 == 2) goto LAB_0005e618;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar11 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar8 <= iVar11) goto LAB_0005e9e8;\n          puVar24 = puVar35 + iVar11;\n          puVar26 = puVar26 + iVar11;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar35 + iVar8 != puVar24);\n          uVar7 = 0;\n        }\n      }\n    }\n    else {\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar8) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar35 + iVar8 != puVar24);\n        }\nLAB_0005e9e8:\n        uVar7 = 0;\n      }\n    }\n  }" { (expression_statement "iVar8 = uVar39 - uVar23;" (assignment_expression "iVar8 = uVar39 - uVar23" identifier = (binary_expression "uVar39 - uVar23" identifier - identifier)) ;) (expression_statement "puVar35 = pp + uVar23;" (assignment_expression "puVar35 = pp + uVar23" identifier = (binary_expression "pp + uVar23" identifier + identifier)) ;) (expression_statement "puVar26 = (uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + uVar23 * 4);" (assignment_expression "puVar26 = (uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + uVar23 * 4)" identifier = (cast_expression "(uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + uVar23 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + uVar23 * 4)" ( (binary_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + uVar23 * 4" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) + (binary_expression "uVar23 * 4" identifier * number_literal)) )))) ;) (expression_statement "uVar23 = *puVar35;" (assignment_expression "uVar23 = *puVar35" identifier = (pointer_expression "*puVar35" * identifier)) ;) (expression_statement "*puVar26 = uVar7 + uVar23;" (assignment_expression "*puVar26 = uVar7 + uVar23" (pointer_expression "*puVar26" * identifier) = (binary_expression "uVar7 + uVar23" identifier + identifier)) ;) (if_statement "if (uVar7 + uVar23 < uVar7) {\n      uVar7 = 1;\n      if (1 < iVar8) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar8 == 2) goto LAB_0005e618;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar11 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar8 <= iVar11) goto LAB_0005e9e8;\n          puVar24 = puVar35 + iVar11;\n          puVar26 = puVar26 + iVar11;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar35 + iVar8 != puVar24);\n          uVar7 = 0;\n        }\n      }\n    }\n    else {\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar8) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar35 + iVar8 != puVar24);\n        }\nLAB_0005e9e8:\n        uVar7 = 0;\n      }\n    }" if (parenthesized_expression "(uVar7 + uVar23 < uVar7)" ( (binary_expression "uVar7 + uVar23 < uVar7" (binary_expression "uVar7 + uVar23" identifier + identifier) < identifier) )) (compound_statement "{\n      uVar7 = 1;\n      if (1 < iVar8) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar8 == 2) goto LAB_0005e618;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar11 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar8 <= iVar11) goto LAB_0005e9e8;\n          puVar24 = puVar35 + iVar11;\n          puVar26 = puVar26 + iVar11;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar35 + iVar8 != puVar24);\n          uVar7 = 0;\n        }\n      }\n    }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (if_statement "if (1 < iVar8) {\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar8 == 2) goto LAB_0005e618;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar11 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar8 <= iVar11) goto LAB_0005e9e8;\n          puVar24 = puVar35 + iVar11;\n          puVar26 = puVar26 + iVar11;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar35 + iVar8 != puVar24);\n          uVar7 = 0;\n        }\n      }" if (parenthesized_expression "(1 < iVar8)" ( (binary_expression "1 < iVar8" number_literal < identifier) )) (compound_statement "{\n        uVar7 = puVar35[1];\n        puVar26[1] = uVar7 + 1;\n        if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar8 == 2) goto LAB_0005e618;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar11 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar7 = 0;\n        if (puVar26 != puVar35) {\n          if (iVar8 <= iVar11) goto LAB_0005e9e8;\n          puVar24 = puVar35 + iVar11;\n          puVar26 = puVar26 + iVar11;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar35 + iVar8 != puVar24);\n          uVar7 = 0;\n        }\n      }" { (expression_statement "uVar7 = puVar35[1];" (assignment_expression "uVar7 = puVar35[1]" identifier = (subscript_expression "puVar35[1]" identifier [ number_literal ])) ;) (expression_statement "puVar26[1] = uVar7 + 1;" (assignment_expression "puVar26[1] = uVar7 + 1" (subscript_expression "puVar26[1]" identifier [ number_literal ]) = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (if_statement "if (uVar7 + 1 == 0) {\n          uVar7 = 1;\n          if (iVar8 == 2) goto LAB_0005e618;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar11 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }" if (parenthesized_expression "(uVar7 + 1 == 0)" ( (binary_expression "uVar7 + 1 == 0" (binary_expression "uVar7 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n          uVar7 = 1;\n          if (iVar8 == 2) goto LAB_0005e618;\n          uVar7 = puVar35[2];\n          puVar26[2] = uVar7 + 1;\n          if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar11 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (if_statement "if (iVar8 == 2) goto LAB_0005e618;" if (parenthesized_expression "(iVar8 == 2)" ( (binary_expression "iVar8 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0005e618;" goto statement_identifier ;)) (expression_statement "uVar7 = puVar35[2];" (assignment_expression "uVar7 = puVar35[2]" identifier = (subscript_expression "puVar35[2]" identifier [ number_literal ])) ;) (expression_statement "puVar26[2] = uVar7 + 1;" (assignment_expression "puVar26[2] = uVar7 + 1" (subscript_expression "puVar26[2]" identifier [ number_literal ]) = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (if_statement "if (uVar7 + 1 == 0) {\n            puVar30 = puVar35 + 3;\n            iVar11 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }" if (parenthesized_expression "(uVar7 + 1 == 0)" ( (binary_expression "uVar7 + 1 == 0" (binary_expression "uVar7 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n            puVar30 = puVar35 + 3;\n            iVar11 = 3;\n            puVar24 = puVar26 + 3;\n            do {\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);\n          }" { (expression_statement "puVar30 = puVar35 + 3;" (assignment_expression "puVar30 = puVar35 + 3" identifier = (binary_expression "puVar35 + 3" identifier + number_literal)) ;) (expression_statement "iVar11 = 3;" (assignment_expression "iVar11 = 3" identifier = number_literal) ;) (expression_statement "puVar24 = puVar26 + 3;" (assignment_expression "puVar24 = puVar26 + 3" identifier = (binary_expression "puVar26 + 3" identifier + number_literal)) ;) (do_statement "do {\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            } while (uVar7 + 1 == 0);" do (compound_statement "{\n              if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }\n              uVar7 = *puVar30;\n              iVar11 = iVar11 + 1;\n              puVar30 = puVar30 + 1;\n              *puVar24 = uVar7 + 1;\n              puVar24 = puVar24 + 1;\n            }" { (if_statement "if (iVar8 == iVar11) {\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }" if (parenthesized_expression "(iVar8 == iVar11)" ( (binary_expression "iVar8 == iVar11" identifier == identifier) )) (compound_statement "{\n                uVar7 = 1;\n                goto LAB_0005e618;\n              }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0005e618;" goto statement_identifier ;) })) (expression_statement "uVar7 = *puVar30;" (assignment_expression "uVar7 = *puVar30" identifier = (pointer_expression "*puVar30" * identifier)) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "puVar30 = puVar30 + 1;" (assignment_expression "puVar30 = puVar30 + 1" identifier = (binary_expression "puVar30 + 1" identifier + number_literal)) ;) (expression_statement "*puVar24 = uVar7 + 1;" (assignment_expression "*puVar24 = uVar7 + 1" (pointer_expression "*puVar24" * identifier) = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 + 1 == 0)" ( (binary_expression "uVar7 + 1 == 0" (binary_expression "uVar7 + 1" identifier + number_literal) == number_literal) )) ;) }) (else_clause "else {\n            iVar11 = 3;\n          }" else (compound_statement "{\n            iVar11 = 3;\n          }" { (expression_statement "iVar11 = 3;" (assignment_expression "iVar11 = 3" identifier = number_literal) ;) }))) }) (else_clause "else {\n          iVar11 = 2;\n        }" else (compound_statement "{\n          iVar11 = 2;\n        }" { (expression_statement "iVar11 = 2;" (assignment_expression "iVar11 = 2" identifier = number_literal) ;) }))) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (if_statement "if (puVar26 != puVar35) {\n          if (iVar8 <= iVar11) goto LAB_0005e9e8;\n          puVar24 = puVar35 + iVar11;\n          puVar26 = puVar26 + iVar11;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar35 + iVar8 != puVar24);\n          uVar7 = 0;\n        }" if (parenthesized_expression "(puVar26 != puVar35)" ( (binary_expression "puVar26 != puVar35" identifier != identifier) )) (compound_statement "{\n          if (iVar8 <= iVar11) goto LAB_0005e9e8;\n          puVar24 = puVar35 + iVar11;\n          puVar26 = puVar26 + iVar11;\n          do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar35 + iVar8 != puVar24);\n          uVar7 = 0;\n        }" { (if_statement "if (iVar8 <= iVar11) goto LAB_0005e9e8;" if (parenthesized_expression "(iVar8 <= iVar11)" ( (binary_expression "iVar8 <= iVar11" identifier <= identifier) )) (goto_statement "goto LAB_0005e9e8;" goto statement_identifier ;)) (expression_statement "puVar24 = puVar35 + iVar11;" (assignment_expression "puVar24 = puVar35 + iVar11" identifier = (binary_expression "puVar35 + iVar11" identifier + identifier)) ;) (expression_statement "puVar26 = puVar26 + iVar11;" (assignment_expression "puVar26 = puVar26 + iVar11" identifier = (binary_expression "puVar26 + iVar11" identifier + identifier)) ;) (do_statement "do {\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          } while (puVar35 + iVar8 != puVar24);" do (compound_statement "{\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n            puVar26 = puVar26 + 1;\n          }" { (expression_statement "uVar7 = *puVar24;" (assignment_expression "uVar7 = *puVar24" identifier = (pointer_expression "*puVar24" * identifier)) ;) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (expression_statement "*puVar26 = uVar7;" (assignment_expression "*puVar26 = uVar7" (pointer_expression "*puVar26" * identifier) = identifier) ;) (expression_statement "puVar26 = puVar26 + 1;" (assignment_expression "puVar26 = puVar26 + 1" identifier = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar35 + iVar8 != puVar24)" ( (binary_expression "puVar35 + iVar8 != puVar24" (binary_expression "puVar35 + iVar8" identifier + identifier) != identifier) )) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) })) })) }) (else_clause "else {\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar8) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar35 + iVar8 != puVar24);\n        }\nLAB_0005e9e8:\n        uVar7 = 0;\n      }\n    }" else (compound_statement "{\n      uVar7 = 0;\n      if (puVar26 != puVar35) {\n        if (1 < iVar8) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar35 + iVar8 != puVar24);\n        }\nLAB_0005e9e8:\n        uVar7 = 0;\n      }\n    }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (if_statement "if (puVar26 != puVar35) {\n        if (1 < iVar8) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar35 + iVar8 != puVar24);\n        }\nLAB_0005e9e8:\n        uVar7 = 0;\n      }" if (parenthesized_expression "(puVar26 != puVar35)" ( (binary_expression "puVar26 != puVar35" identifier != identifier) )) (compound_statement "{\n        if (1 < iVar8) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar35 + iVar8 != puVar24);\n        }\nLAB_0005e9e8:\n        uVar7 = 0;\n      }" { (if_statement "if (1 < iVar8) {\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar35 + iVar8 != puVar24);\n        }" if (parenthesized_expression "(1 < iVar8)" ( (binary_expression "1 < iVar8" number_literal < identifier) )) (compound_statement "{\n          puVar24 = puVar35 + 1;\n          do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar35 + iVar8 != puVar24);\n        }" { (expression_statement "puVar24 = puVar35 + 1;" (assignment_expression "puVar24 = puVar35 + 1" identifier = (binary_expression "puVar35 + 1" identifier + number_literal)) ;) (do_statement "do {\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          } while (puVar35 + iVar8 != puVar24);" do (compound_statement "{\n            puVar26 = puVar26 + 1;\n            uVar7 = *puVar24;\n            puVar24 = puVar24 + 1;\n            *puVar26 = uVar7;\n          }" { (expression_statement "puVar26 = puVar26 + 1;" (assignment_expression "puVar26 = puVar26 + 1" identifier = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = *puVar24;" (assignment_expression "uVar7 = *puVar24" identifier = (pointer_expression "*puVar24" * identifier)) ;) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (expression_statement "*puVar26 = uVar7;" (assignment_expression "*puVar26 = uVar7" (pointer_expression "*puVar26" * identifier) = identifier) ;) }) while (parenthesized_expression "(puVar35 + iVar8 != puVar24)" ( (binary_expression "puVar35 + iVar8 != puVar24" (binary_expression "puVar35 + iVar8" identifier + identifier) != identifier) )) ;) })) (labeled_statement "LAB_0005e9e8:\n        uVar7 = 0;" statement_identifier : (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;)) })) }))) })) (labeled_statement "LAB_0005e618:\n  iVar12 = *(int *)((int)pp + iVar9);" statement_identifier : (expression_statement "iVar12 = *(int *)((int)pp + iVar9);" (assignment_expression "iVar12 = *(int *)((int)pp + iVar9)" identifier = (pointer_expression "*(int *)((int)pp + iVar9)" * (cast_expression "(int *)((int)pp + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pp + iVar9)" ( (binary_expression "(int)pp + iVar9" (cast_expression "(int)pp" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;)) (expression_statement "uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);" (assignment_expression "uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar54,uVar54,uVar39,1);" (assignment_expression "iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar54,uVar54,uVar39,1)" identifier = (call_expression "(**(code **)(iVar19 + -0x7ad4))(uVar54,uVar54,uVar39,1)" (parenthesized_expression "(**(code **)(iVar19 + -0x7ad4))" ( (pointer_expression "**(code **)(iVar19 + -0x7ad4)" * (pointer_expression "*(code **)(iVar19 + -0x7ad4)" * (cast_expression "(code **)(iVar19 + -0x7ad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + -0x7ad4)" ( (binary_expression "iVar19 + -0x7ad4" identifier + number_literal) ))))) )) (argument_list "(uVar54,uVar54,uVar39,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);" (assignment_expression "uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar54;" (assignment_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar54" (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "iVar8 = (**(code **)(iVar8 + -0x7b2c))(uVar54,uVar54,uVar56,uVar39);" (assignment_expression "iVar8 = (**(code **)(iVar8 + -0x7b2c))(uVar54,uVar54,uVar56,uVar39)" identifier = (call_expression "(**(code **)(iVar8 + -0x7b2c))(uVar54,uVar54,uVar56,uVar39)" (parenthesized_expression "(**(code **)(iVar8 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar8 + -0x7b2c)" * (pointer_expression "*(code **)(iVar8 + -0x7b2c)" * (cast_expression "(code **)(iVar8 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + -0x7b2c)" ( (binary_expression "iVar8 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(uVar54,uVar54,uVar56,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar11 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14);" (assignment_expression "iVar11 = *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14)" identifier = (pointer_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14)" * (cast_expression "(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x14" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar13 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar23 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14);" (assignment_expression "uVar23 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" identifier = (pointer_expression "*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" * (cast_expression "(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x14" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + iVar9) =\n       (iVar19 - iVar8) + (uVar7 + iVar12) * 2;" (assignment_expression "*(uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + iVar9) =\n       (iVar19 - iVar8) + (uVar7 + iVar12) * 2" (pointer_expression "*(uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + iVar9)" * (cast_expression "(uint *)(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + iVar9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + iVar9)" ( (binary_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) + iVar9" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) + identifier) )))) = (binary_expression "(iVar19 - iVar8) + (uVar7 + iVar12) * 2" (parenthesized_expression "(iVar19 - iVar8)" ( (binary_expression "iVar19 - iVar8" identifier - identifier) )) + (binary_expression "(uVar7 + iVar12) * 2" (parenthesized_expression "(uVar7 + iVar12)" ( (binary_expression "uVar7 + iVar12" identifier + identifier) )) * number_literal))) ;) (expression_statement "bVar2 = uVar23 < 0x39;" (assignment_expression "bVar2 = uVar23 < 0x39" identifier = (binary_expression "uVar23 < 0x39" identifier < number_literal)) ;) (expression_statement "iVar19 = (int)pmVar42 + iVar11 + -4;" (assignment_expression "iVar19 = (int)pmVar42 + iVar11 + -4" identifier = (binary_expression "(int)pmVar42 + iVar11 + -4" (binary_expression "(int)pmVar42 + iVar11" (cast_expression "(int)pmVar42" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal)) ;) (if_statement "if (bVar2) {\n    pcVar52 = *(code **)(iVar13 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n    pcVar52 = *(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\nLAB_0005e6f8:\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar52 = *(code **)(iVar8 + -0x7d8c);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9) =\n         *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9);\n    (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    mVar17 = *pmVar47;\n    puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));\n    uVar56 = *puVar55;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;\n    pmVar21 = pmVar42 + iVar9 + iVar10;\n    if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar47,uVar56,iVar10,pp);\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar7 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      __gmpn_toom33_mul(pmVar47,pmVar28,iVar10,pp,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar39 != 0x31) {\n        pmVar32 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n        pmVar28 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n        *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n        __gmpn_toom33_mul(pp,pmVar28,uVar39,pmVar32,\n                          *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                          *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n        iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar52 = *(code **)(iVar8 + -0x7f84);\n    uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n    (*pcVar52)(pp,uVar56,uVar39,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  }\n  else {\n    pmVar21 = pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n    if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {\n      pcVar52 = *(code **)(iVar13 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e6f8;\n    }\n    iVar8 = *(int *)(iVar13 + -0x7fc0);\n    pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = iVar8 + -0x1e90;\n    __gmpn_toom33_mul(pmVar42,pmVar28,iVar10,pmVar32,\n                      *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n    pcVar52 = *(code **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar6 < 0x14) {\n      pcVar52 = *(code **)(iVar8 + -0x7bd0);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else if ((int)uVar6 < 0x32) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else {\n      pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      __gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    mVar17 = *pmVar47;\n    puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));\n    uVar56 = *puVar55;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar52 = *(code **)(iVar8 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(pmVar47,uVar54,iVar10,pp);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\nLAB_0005e990:\n    pcVar52 = *(code **)(iVar8 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n    (*pcVar52)(pp,uVar56,uVar39,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n    pcVar52 = *(code **)(iVar13 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n    pcVar52 = *(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\nLAB_0005e6f8:\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar52 = *(code **)(iVar8 + -0x7d8c);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9) =\n         *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9);\n    (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    mVar17 = *pmVar47;\n    puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));\n    uVar56 = *puVar55;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8);\n    *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;\n    pmVar21 = pmVar42 + iVar9 + iVar10;\n    if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar47,uVar56,iVar10,pp);\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar7 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      __gmpn_toom33_mul(pmVar47,pmVar28,iVar10,pp,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar39 != 0x31) {\n        pmVar32 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n        pmVar28 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n        *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n        __gmpn_toom33_mul(pp,pmVar28,uVar39,pmVar32,\n                          *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                          *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n        iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar52 = *(code **)(iVar8 + -0x7f84);\n    uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n    (*pcVar52)(pp,uVar56,uVar39,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  }" { (expression_statement "pcVar52 = *(code **)(iVar13 + -0x7bd0);" (assignment_expression "pcVar52 = *(code **)(iVar13 + -0x7bd0)" identifier = (pointer_expression "*(code **)(iVar13 + -0x7bd0)" * (cast_expression "(code **)(iVar13 + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar13 + -0x7bd0)" ( (binary_expression "iVar13 + -0x7bd0" identifier + number_literal) ))))) ;) (expression_statement "uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);" (assignment_expression "uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x10" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);" (assignment_expression "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar52)(pmVar42,uVar56,iVar10,uVar54);" (call_expression "(*pcVar52)(pmVar42,uVar56,iVar10,uVar54)" (parenthesized_expression "(*pcVar52)" ( (pointer_expression "*pcVar52" * identifier) )) (argument_list "(pmVar42,uVar56,iVar10,uVar54)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);" (assignment_expression "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pcVar52 = *(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7bd0);" (assignment_expression "pcVar52 = *(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7bd0)" identifier = (pointer_expression "*(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7bd0)" * (cast_expression "(code **)(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7bd0)" ( (binary_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8) + -0x7bd0" (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar52)(iVar19,pmVar47,iVar10,uVar56);" (call_expression "(*pcVar52)(iVar19,pmVar47,iVar10,uVar56)" (parenthesized_expression "(*pcVar52)" ( (pointer_expression "*pcVar52" * identifier) )) (argument_list "(iVar19,pmVar47,iVar10,uVar56)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (labeled_statement "LAB_0005e6f8:\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);" statement_identifier : (expression_statement "pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);" (assignment_expression "pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10)" identifier = (call_expression "(mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10)" (parenthesized_expression "(mp_ptr)" ( identifier )) (argument_list "((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10)" ( (binary_expression "(int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10" (binary_expression "(int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" (cast_expression "(int)pp" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x20" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) ;)) (if_statement "if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)) goto LAB_0005e714;" if (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc))" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) <= (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) )) (goto_statement "goto LAB_0005e714;" goto statement_identifier ;)) (labeled_statement "LAB_0005e924:\n    pcVar52 = *(code **)(iVar8 + -0x7d8c);" statement_identifier : (expression_statement "pcVar52 = *(code **)(iVar8 + -0x7d8c);" (assignment_expression "pcVar52 = *(code **)(iVar8 + -0x7d8c)" identifier = (pointer_expression "*(code **)(iVar8 + -0x7d8c)" * (cast_expression "(code **)(iVar8 + -0x7d8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + -0x7d8c)" ( (binary_expression "iVar8 + -0x7d8c" identifier + number_literal) ))))) ;)) (expression_statement "uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);" (assignment_expression "uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);" (assignment_expression "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x18" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9) =\n         *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9);" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9) =\n         *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9)" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) ))))) ;) (expression_statement "(*pcVar52)(pmVar47,uVar56,uVar6,uVar54);" (call_expression "(*pcVar52)(pmVar47,uVar56,uVar6,uVar54)" (parenthesized_expression "(*pcVar52)" ( (pointer_expression "*pcVar52" * identifier) )) (argument_list "(pmVar47,uVar56,uVar6,uVar54)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "mVar17 = *pmVar47;" (assignment_expression "mVar17 = *pmVar47" identifier = (pointer_expression "*pmVar47" * identifier)) ;) (expression_statement "puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);" (assignment_expression "puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc)" identifier = (cast_expression "(undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc)" ( (binary_expression "(int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc" (binary_expression "(int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" (cast_expression "(int)pp" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x20" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) ;) (expression_statement "pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));" (assignment_expression "pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c))" identifier = (call_expression "(mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c))" (parenthesized_expression "(mp_ptr)" ( identifier )) (argument_list "((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c))" ( (binary_expression "(int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" (cast_expression "(int)pp" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" * (cast_expression "(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) )))) ;) (expression_statement "uVar56 = *puVar55;" (assignment_expression "uVar56 = *puVar55" identifier = (pointer_expression "*puVar55" * identifier)) ;) (if_statement "if (bVar2) goto LAB_0005e968;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_0005e968;" goto statement_identifier ;)) (labeled_statement "LAB_0005e778:\n    iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8);" statement_identifier : (expression_statement "iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;" (assignment_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56" (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "pmVar21 = pmVar42 + iVar9 + iVar10;" (assignment_expression "pmVar21 = pmVar42 + iVar9 + iVar10" identifier = (binary_expression "pmVar42 + iVar9 + iVar10" (binary_expression "pmVar42 + iVar9" identifier + identifier) + identifier)) ;) (if_statement "if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar47,uVar56,iVar10,pp);\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar7 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      __gmpn_toom33_mul(pmVar47,pmVar28,iVar10,pp,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar39 != 0x31) {\n        pmVar32 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n        pmVar28 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n        *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n        __gmpn_toom33_mul(pp,pmVar28,uVar39,pmVar32,\n                          *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                          *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n        iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n        goto LAB_0005e7f0;\n      }\n    }" if (parenthesized_expression "(*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93)" ( (binary_expression "*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93" (pointer_expression "*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" * (cast_expression "(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x14" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) < number_literal) )) (compound_statement "{\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar47,uVar56,iVar10,pp);\n      uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar7 < 0x3c) goto LAB_0005e990;\n    }" { (expression_statement "pcVar52 = *(code **)(iVar8 + -0x7f84);" (assignment_expression "pcVar52 = *(code **)(iVar8 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar8 + -0x7f84)" * (cast_expression "(code **)(iVar8 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + -0x7f84)" ( (binary_expression "iVar8 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);" (assignment_expression "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;" (assignment_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21" (pointer_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar52)(pmVar47,uVar56,iVar10,pp);" (call_expression "(*pcVar52)(pmVar47,uVar56,iVar10,pp)" (parenthesized_expression "(*pcVar52)" ( (pointer_expression "*pcVar52" * identifier) )) (argument_list "(pmVar47,uVar56,iVar10,pp)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14);" (assignment_expression "uVar7 = *(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" identifier = (pointer_expression "*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" * (cast_expression "(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x14" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);" (assignment_expression "*puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" (pointer_expression "*puVar55" * identifier) = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar7 < 0x3c) goto LAB_0005e990;" if (parenthesized_expression "(uVar7 < 0x3c)" ( (binary_expression "uVar7 < 0x3c" identifier < number_literal) )) (goto_statement "goto LAB_0005e990;" goto statement_identifier ;)) }) (else_clause "else {\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      __gmpn_toom33_mul(pmVar47,pmVar28,iVar10,pp,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar39 != 0x31) {\n        pmVar32 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n        pmVar28 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n        *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n        __gmpn_toom33_mul(pp,pmVar28,uVar39,pmVar32,\n                          *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                          *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n        iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n        goto LAB_0005e7f0;\n      }\n    }" else (compound_statement "{\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      __gmpn_toom33_mul(pmVar47,pmVar28,iVar10,pp,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      if (uVar39 != 0x31) {\n        pmVar32 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n        pmVar28 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n        *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n        __gmpn_toom33_mul(pp,pmVar28,uVar39,pmVar32,\n                          *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                          *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n        iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n        goto LAB_0005e7f0;\n      }\n    }" { (expression_statement "pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);" (assignment_expression "pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" identifier = (pointer_expression "*(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_srcptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;" (assignment_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21" (pointer_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "__gmpn_toom33_mul(pmVar47,pmVar28,iVar10,pp,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));" (call_expression "__gmpn_toom33_mul(pmVar47,pmVar28,iVar10,pp,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4))" identifier (argument_list "(pmVar47,pmVar28,iVar10,pp,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4))" ( identifier , identifier , identifier , identifier , (pointer_expression "*(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "mp_size_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) , (pointer_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) ))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);" (assignment_expression "*puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" (pointer_expression "*puVar55" * identifier) = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar39 != 0x31) {\n        pmVar32 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n        pmVar28 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n        *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n        __gmpn_toom33_mul(pp,pmVar28,uVar39,pmVar32,\n                          *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                          *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n        iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n        goto LAB_0005e7f0;\n      }" if (parenthesized_expression "(uVar39 != 0x31)" ( (binary_expression "uVar39 != 0x31" identifier != number_literal) )) (compound_statement "{\n        pmVar32 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n        pmVar28 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n        *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n        __gmpn_toom33_mul(pp,pmVar28,uVar39,pmVar32,\n                          *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                          *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n        iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n        goto LAB_0005e7f0;\n      }" { (expression_statement "pmVar32 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);" (assignment_expression "pmVar32 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "mp_srcptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pmVar28 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9);" (assignment_expression "pmVar28 = *(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9)" identifier = (pointer_expression "*(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9)" * (cast_expression "(mp_srcptr *)((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (type_descriptor "mp_srcptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) ))))) ;) (expression_statement "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;" (assignment_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21" (pointer_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "__gmpn_toom33_mul(pp,pmVar28,uVar39,pmVar32,\n                          *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                          *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));" (call_expression "__gmpn_toom33_mul(pp,pmVar28,uVar39,pmVar32,\n                          *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                          *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4))" identifier (argument_list "(pp,pmVar28,uVar39,pmVar32,\n                          *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                          *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4))" ( identifier , identifier , identifier , identifier , (pointer_expression "*(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "mp_size_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) , (pointer_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) ))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto LAB_0005e7f0;" goto statement_identifier ;) })) }))) (expression_statement "pcVar52 = *(code **)(iVar8 + -0x7f84);" (assignment_expression "pcVar52 = *(code **)(iVar8 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar8 + -0x7f84)" * (cast_expression "(code **)(iVar8 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + -0x7f84)" ( (binary_expression "iVar8 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);" (assignment_expression "uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);" (assignment_expression "uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) ))))) ;) (expression_statement "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;" (assignment_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21" (pointer_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar52)(pp,uVar56,uVar39,uVar54);" (call_expression "(*pcVar52)(pp,uVar56,uVar39,uVar54)" (parenthesized_expression "(*pcVar52)" ( (pointer_expression "*pcVar52" * identifier) )) (argument_list "(pp,uVar56,uVar39,uVar54)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) }) (else_clause "else {\n    pmVar21 = pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n    if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {\n      pcVar52 = *(code **)(iVar13 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e6f8;\n    }\n    iVar8 = *(int *)(iVar13 + -0x7fc0);\n    pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = iVar8 + -0x1e90;\n    __gmpn_toom33_mul(pmVar42,pmVar28,iVar10,pmVar32,\n                      *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n    pcVar52 = *(code **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar6 < 0x14) {\n      pcVar52 = *(code **)(iVar8 + -0x7bd0);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else if ((int)uVar6 < 0x32) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else {\n      pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      __gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    mVar17 = *pmVar47;\n    puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));\n    uVar56 = *puVar55;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar52 = *(code **)(iVar8 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(pmVar47,uVar54,iVar10,pp);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\nLAB_0005e990:\n    pcVar52 = *(code **)(iVar8 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n    (*pcVar52)(pp,uVar56,uVar39,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  }" else (compound_statement "{\n    pmVar21 = pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n    if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {\n      pcVar52 = *(code **)(iVar13 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e6f8;\n    }\n    iVar8 = *(int *)(iVar13 + -0x7fc0);\n    pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = iVar8 + -0x1e90;\n    __gmpn_toom33_mul(pmVar42,pmVar28,iVar10,pmVar32,\n                      *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n    uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n    pcVar52 = *(code **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n    *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar6 < 0x14) {\n      pcVar52 = *(code **)(iVar8 + -0x7bd0);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else if ((int)uVar6 < 0x32) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else {\n      pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      __gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    mVar17 = *pmVar47;\n    puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);\n    pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));\n    uVar56 = *puVar55;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar52 = *(code **)(iVar8 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);\n    *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;\n    *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n    (*pcVar52)(pmVar47,uVar54,iVar10,pp);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    *puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\nLAB_0005e990:\n    pcVar52 = *(code **)(iVar8 + -0x7bd0);\n    uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);\n    uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;\n    (*pcVar52)(pp,uVar56,uVar39,uVar54);\n    iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n  }" { (expression_statement "pmVar21 = pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;" (assignment_expression "pmVar21 = pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10" identifier = (binary_expression "pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10" (binary_expression "pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" identifier + (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) + identifier)) ;) (if_statement "if (*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93) {\n      pcVar52 = *(code **)(iVar13 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e6f8;\n    }" if (parenthesized_expression "(*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93)" ( (binary_expression "*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14) < 0x93" (pointer_expression "*(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" * (cast_expression "(uint *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x14)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x14" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) < number_literal) )) (compound_statement "{\n      pcVar52 = *(code **)(iVar13 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(pmVar42,uVar56,iVar10,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;\n      (*pcVar52)(iVar19,pmVar47,iVar10,uVar56);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n      goto LAB_0005e6f8;\n    }" { (expression_statement "pcVar52 = *(code **)(iVar13 + -0x7f84);" (assignment_expression "pcVar52 = *(code **)(iVar13 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar13 + -0x7f84)" * (cast_expression "(code **)(iVar13 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar13 + -0x7f84)" ( (binary_expression "iVar13 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);" (assignment_expression "uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x10" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);" (assignment_expression "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;" (assignment_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21" (pointer_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar52)(pmVar42,uVar56,iVar10,uVar54);" (call_expression "(*pcVar52)(pmVar42,uVar56,iVar10,uVar54)" (parenthesized_expression "(*pcVar52)" ( (pointer_expression "*pcVar52" * identifier) )) (argument_list "(pmVar42,uVar56,iVar10,uVar54)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);" (assignment_expression "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;" (assignment_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21" (pointer_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "pcVar52 = *(code **)(iVar8 + -0x7f84);" (assignment_expression "pcVar52 = *(code **)(iVar8 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar8 + -0x7f84)" * (cast_expression "(code **)(iVar8 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + -0x7f84)" ( (binary_expression "iVar8 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar52)(iVar19,pmVar47,iVar10,uVar56);" (call_expression "(*pcVar52)(iVar19,pmVar47,iVar10,uVar56)" (parenthesized_expression "(*pcVar52)" ( (pointer_expression "*pcVar52" * identifier) )) (argument_list "(iVar19,pmVar47,iVar10,uVar56)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto LAB_0005e6f8;" goto statement_identifier ;) })) (expression_statement "iVar8 = *(int *)(iVar13 + -0x7fc0);" (assignment_expression "iVar8 = *(int *)(iVar13 + -0x7fc0)" identifier = (pointer_expression "*(int *)(iVar13 + -0x7fc0)" * (cast_expression "(int *)(iVar13 + -0x7fc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x7fc0)" ( (binary_expression "iVar13 + -0x7fc0" identifier + number_literal) ))))) ;) (expression_statement "pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);" (assignment_expression "pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" identifier = (pointer_expression "*(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "mp_srcptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10);" (assignment_expression "pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" identifier = (pointer_expression "*(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" * (cast_expression "(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (type_descriptor "mp_srcptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x10)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x10" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;" (assignment_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21" (pointer_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = iVar8 + -0x1e90;" (assignment_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc) = iVar8 + -0x1e90" (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar8 + -0x1e90" identifier + number_literal)) ;) (expression_statement "__gmpn_toom33_mul(pmVar42,pmVar28,iVar10,pmVar32,\n                      *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));" (call_expression "__gmpn_toom33_mul(pmVar42,pmVar28,iVar10,pmVar32,\n                      *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4))" identifier (argument_list "(pmVar42,pmVar28,iVar10,pmVar32,\n                      *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4))" ( identifier , identifier , identifier , identifier , (pointer_expression "*(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "mp_size_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) , (pointer_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) ))) ;) (expression_statement "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);" (assignment_expression "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pcVar52 = *(code **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc);" (assignment_expression "pcVar52 = *(code **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" identifier = (pointer_expression "*(code **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(code **)((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21;" (assignment_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = pmVar21" (pointer_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar52)(iVar19,pmVar47,iVar10,uVar56);" (call_expression "(*pcVar52)(iVar19,pmVar47,iVar10,uVar56)" (parenthesized_expression "(*pcVar52)" ( (pointer_expression "*pcVar52" * identifier) )) (argument_list "(iVar19,pmVar47,iVar10,uVar56)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10);" (assignment_expression "pmVar47 = (mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10)" identifier = (call_expression "(mp_ptr)((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10)" (parenthesized_expression "(mp_ptr)" ( identifier )) (argument_list "((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10)" ( (binary_expression "(int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0x10" (binary_expression "(int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" (cast_expression "(int)pp" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x20" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) ;) (if_statement "if (*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)) goto LAB_0005e924;" if (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4))" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) < (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) )) (goto_statement "goto LAB_0005e924;" goto statement_identifier ;)) (labeled_statement "LAB_0005e714:\n    if ((int)uVar6 < 0x14) {\n      pcVar52 = *(code **)(iVar8 + -0x7bd0);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else if ((int)uVar6 < 0x32) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else {\n      pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      __gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }" statement_identifier : (if_statement "if ((int)uVar6 < 0x14) {\n      pcVar52 = *(code **)(iVar8 + -0x7bd0);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else if ((int)uVar6 < 0x32) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else {\n      pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      __gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }" if (parenthesized_expression "((int)uVar6 < 0x14)" ( (binary_expression "(int)uVar6 < 0x14" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      pcVar52 = *(code **)(iVar8 + -0x7bd0);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }" { (expression_statement "pcVar52 = *(code **)(iVar8 + -0x7bd0);" (assignment_expression "pcVar52 = *(code **)(iVar8 + -0x7bd0)" identifier = (pointer_expression "*(code **)(iVar8 + -0x7bd0)" * (cast_expression "(code **)(iVar8 + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + -0x7bd0)" ( (binary_expression "iVar8 + -0x7bd0" identifier + number_literal) ))))) ;) (expression_statement "uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);" (assignment_expression "uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);" (assignment_expression "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x18" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar52)(pmVar47,uVar56,uVar6,uVar54);" (call_expression "(*pcVar52)(pmVar47,uVar56,uVar6,uVar54)" (parenthesized_expression "(*pcVar52)" ( (pointer_expression "*pcVar52" * identifier) )) (argument_list "(pmVar47,uVar56,uVar6,uVar54)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) }) (else_clause "else if ((int)uVar6 < 0x32) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else {\n      pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      __gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }" else (if_statement "if ((int)uVar6 < 0x32) {\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }\n    else {\n      pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      __gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }" if (parenthesized_expression "((int)uVar6 < 0x32)" ( (binary_expression "(int)uVar6 < 0x32" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      pcVar52 = *(code **)(iVar8 + -0x7f84);\n      uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      (*pcVar52)(pmVar47,uVar56,uVar6,uVar54);\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }" { (expression_statement "pcVar52 = *(code **)(iVar8 + -0x7f84);" (assignment_expression "pcVar52 = *(code **)(iVar8 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar8 + -0x7f84)" * (cast_expression "(code **)(iVar8 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + -0x7f84)" ( (binary_expression "iVar8 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);" (assignment_expression "uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);" (assignment_expression "uVar56 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x18" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;" (assignment_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10" (pointer_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10" (binary_expression "pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" identifier + (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) + identifier)) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar52)(pmVar47,uVar56,uVar6,uVar54);" (call_expression "(*pcVar52)(pmVar47,uVar56,uVar6,uVar54)" (parenthesized_expression "(*pcVar52)" ( (pointer_expression "*pcVar52" * identifier) )) (argument_list "(pmVar47,uVar56,uVar6,uVar54)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) }) (else_clause "else {\n      pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      __gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }" else (compound_statement "{\n      pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);\n      pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);\n      *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;\n      *(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;\n      __gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));\n      iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);\n    }" { (expression_statement "pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c);" (assignment_expression "pmVar32 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" identifier = (pointer_expression "*(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" * (cast_expression "(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (type_descriptor "mp_srcptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x1c" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18);" (assignment_expression "pmVar28 = *(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" identifier = (pointer_expression "*(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" * (cast_expression "(mp_srcptr *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" ( (type_descriptor "mp_srcptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x18)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x18" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10;" (assignment_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) =\n           pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10" (pointer_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8) + iVar10" (binary_expression "pmVar42 + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" identifier + (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) + identifier)) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "__gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4));" (call_expression "__gmpn_toom33_mul(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4))" identifier (argument_list "(pmVar47,pmVar28,uVar6,pmVar32,\n                        *(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9),\n                        *(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4))" ( identifier , identifier , identifier , identifier , (pointer_expression "*(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(mp_size_t *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "mp_size_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) , (pointer_expression "*(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(mp_ptr *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "mp_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) ))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) })))))) (expression_statement "mVar17 = *pmVar47;" (assignment_expression "mVar17 = *pmVar47" identifier = (pointer_expression "*pmVar47" * identifier)) ;) (expression_statement "puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc);" (assignment_expression "puVar55 = (undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc)" identifier = (cast_expression "(undefined4 *)\n              ((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc)" ( (binary_expression "(int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20) + -0xc" (binary_expression "(int)pp + *(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" (cast_expression "(int)pp" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 0x20)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 0x20" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) ;) (expression_statement "pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c));" (assignment_expression "pmVar47 = (mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c))" identifier = (call_expression "(mp_ptr)((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c))" (parenthesized_expression "(mp_ptr)" ( identifier )) (argument_list "((int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c))" ( (binary_expression "(int)pp + *(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" (cast_expression "(int)pp" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" * (cast_expression "(int *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x1c" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) )))) ;) (expression_statement "uVar56 = *puVar55;" (assignment_expression "uVar56 = *puVar55" identifier = (pointer_expression "*puVar55" * identifier)) ;) (if_statement "if (!bVar2) goto LAB_0005e778;" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (goto_statement "goto LAB_0005e778;" goto statement_identifier ;)) (labeled_statement "LAB_0005e968:\n    pcVar52 = *(code **)(iVar8 + -0x7bd0);" statement_identifier : (expression_statement "pcVar52 = *(code **)(iVar8 + -0x7bd0);" (assignment_expression "pcVar52 = *(code **)(iVar8 + -0x7bd0)" identifier = (pointer_expression "*(code **)(iVar8 + -0x7bd0)" * (cast_expression "(code **)(iVar8 + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + -0x7bd0)" ( (binary_expression "iVar8 + -0x7bd0" identifier + number_literal) ))))) ;)) (expression_statement "uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4);" (assignment_expression "uVar54 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56;" (assignment_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4) = uVar56" (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar52)(pmVar47,uVar54,iVar10,pp);" (call_expression "(*pcVar52)(pmVar47,uVar54,iVar10,pp)" (parenthesized_expression "(*pcVar52)" ( (pointer_expression "*pcVar52" * identifier) )) (argument_list "(pmVar47,uVar54,iVar10,pp)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4);" (assignment_expression "*puVar55 = *(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" (pointer_expression "*puVar55" * identifier) = (pointer_expression "*(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" * (cast_expression "(undefined4 *)((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9 + -4)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9 + -4" (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (labeled_statement "LAB_0005e990:\n    pcVar52 = *(code **)(iVar8 + -0x7bd0);" statement_identifier : (expression_statement "pcVar52 = *(code **)(iVar8 + -0x7bd0);" (assignment_expression "pcVar52 = *(code **)(iVar8 + -0x7bd0)" identifier = (pointer_expression "*(code **)(iVar8 + -0x7bd0)" * (cast_expression "(code **)(iVar8 + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + -0x7bd0)" ( (binary_expression "iVar8 + -0x7bd0" identifier + number_literal) ))))) ;)) (expression_statement "uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8);" (assignment_expression "uVar54 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9);" (assignment_expression "uVar56 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar4 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar4 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) ))))) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar39" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar52)(pp,uVar56,uVar39,uVar54);" (call_expression "(*pcVar52)(pp,uVar56,uVar39,uVar54)" (parenthesized_expression "(*pcVar52)" ( (pointer_expression "*pcVar52" * identifier) )) (argument_list "(pp,uVar56,uVar39,uVar54)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8);" (assignment_expression "iVar8 = *(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" * (cast_expression "(int *)((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9 + 8)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9 + 8" (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) }))) (labeled_statement "LAB_0005e7f0:\n  iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9);" statement_identifier : (expression_statement "iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9);" (assignment_expression "iVar9 = *(int *)((int)auStack_120 + iVar3 + uVar4 * -9)" identifier = (pointer_expression "*(int *)((int)auStack_120 + iVar3 + uVar4 * -9)" * (cast_expression "(int *)((int)auStack_120 + iVar3 + uVar4 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_120 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_120 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_120 + iVar3" (cast_expression "(int)auStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) ))))) ;)) (expression_statement "uVar56 = *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18);" (assignment_expression "uVar56 = *(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" identifier = (pointer_expression "*(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" * (cast_expression "(undefined4 *)((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18)" ( (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9 + -0x18" (binary_expression "(int)amStack_e0 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_e0 + iVar3" (cast_expression "(int)amStack_e0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pcVar52 = *(code **)(iVar8 + -0x7cf8);" (assignment_expression "pcVar52 = *(code **)(iVar8 + -0x7cf8)" identifier = (pointer_expression "*(code **)(iVar8 + -0x7cf8)" * (cast_expression "(code **)(iVar8 + -0x7cf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + -0x7cf8)" ( (binary_expression "iVar8 + -0x7cf8" identifier + number_literal) ))))) ;) (expression_statement "*(mp_limb_t *)((int)amStack_138 + iVar3 + uVar4 * -9) = mVar17;" (assignment_expression "*(mp_limb_t *)((int)amStack_138 + iVar3 + uVar4 * -9) = mVar17" (pointer_expression "*(mp_limb_t *)((int)amStack_138 + iVar3 + uVar4 * -9)" * (cast_expression "(mp_limb_t *)((int)amStack_138 + iVar3 + uVar4 * -9)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)amStack_138 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)amStack_138 + iVar3 + uVar4 * -9" (binary_expression "(int)amStack_138 + iVar3" (cast_expression "(int)amStack_138" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = uVar56;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4) = uVar56" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6 + iVar9;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9) = uVar6 + iVar9" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar4 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar4 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar4 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar4 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar4 * -9" identifier * number_literal)) )))) = (binary_expression "uVar6 + iVar9" identifier + identifier)) ;) (expression_statement "(*pcVar52)(pp,iVar19,pmVar42,uVar39);" (call_expression "(*pcVar52)(pp,iVar19,pmVar42,uVar39)" (parenthesized_expression "(*pcVar52)" ( (pointer_expression "*pcVar52" * identifier) )) (argument_list "(pp,iVar19,pmVar42,uVar39)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void __gmpn_toom62_mul(int param_1,int param_2,int param_3,undefined1 *param_4,int param_5,\n                      int param_6)\n\n{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int *piVar17;\n  undefined4 uVar18;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  uint uVar24;\n  uint *puVar25;\n  undefined1 *puVar26;\n  undefined1 *puVar27;\n  uint *puVar28;\n  undefined1 *puVar29;\n  uint uVar30;\n  uint *puVar31;\n  undefined4 uVar32;\n  uint *puVar33;\n  int iVar34;\n  int iVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  int iVar38;\n  uint uVar39;\n  int iVar40;\n  int iVar41;\n  undefined1 *puVar42;\n  int iVar43;\n  int iVar44;\n  undefined4 *puVar45;\n  undefined1 *puVar46;\n  undefined1 *puVar47;\n  undefined *puVar48;\n  code *pcVar49;\n  undefined *puVar50;\n  undefined4 uVar51;\n  uint auStack_140 [30];\n  undefined1 auStack_c8 [4];\n  undefined4 uStack_c4;\n  undefined1 auStack_c0 [4];\n  int aiStack_bc [8];\n  int iStack_9c;\n  uint local_64;\n  \n  puVar48 = PTR___stack_chk_guard_0009d540;\n  iVar19 = *(int *)PTR___stack_chk_guard_0009d540;\n  if (param_3 < param_5 * 3) {\n    uVar39 = param_5 + -1 >> 1;\n  }\n  else {\n    uVar39 = (param_3 - 1U) / 6;\n  }\n  iVar40 = uVar39 + 1;\n  iVar43 = uVar39 + 2;\n  iVar41 = iVar40 * 4;\n  iVar4 = iVar43 * 4;\n  param_3 = param_3 + iVar40 * -5;\n  uVar5 = iVar4 + 7U & 0xfffffff8;\n  puVar26 = &stack0xffffff68 + -uVar5;\n  puVar29 = &stack0xffffff68 + uVar5 * -2;\n  param_5 = param_5 - iVar40;\n  puVar42 = &stack0xffffff68 + uVar5 * -5;\n  puVar36 = &stack0xffffff68 + uVar5 * -6;\n  iVar3 = -(iVar41 + 7U & 0xfffffff8);\n  puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6;\n  iVar35 = param_2 + iVar41 + iVar41;\n  puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7;\n  iVar38 = iVar40 * 8;\n  puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8;\n  iVar34 = iVar35 + iVar41;\n  puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9;\n  iVar44 = iVar34 + iVar41;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2);\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2);\n  local_64 = uVar8 & 1 | uVar7 & 2;\n  iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1);\n  iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40);\n  iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40);\n  iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar13 = iVar40 * 0xc;\n  iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40);\n  iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40);\n  iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar44 = iVar44 + iVar41;\n  iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16;\n  if ((param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)) {\n    if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }\n  puVar20 = param_4 + iVar41;\n  *(int *)(puVar42 + iVar41) = iVar16;\n  piVar21 = (int *)(puVar36 + iVar41);\n  if (iVar40 == param_5) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);\n    *piVar21 = iVar9;\n    puVar28 = (uint *)(param_4 + uVar39 * 4);\n    iVar9 = iVar40;\n    do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }\nLAB_0005d5e4:\n    iVar9 = 0;\n    if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);\n    iVar9 = param_5;\n    if (iVar10 == 0) goto LAB_0005d5f0;\n    if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);\n    iVar4 = param_5;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }\nLAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;\n    local_64 = local_64 ^ (uVar39 | 1);\n  }\n  else {\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }\nLAB_0005d68c:\n  iVar9 = *piVar21;\n  iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40);\n  *(int *)(puVar6 + iVar41) = iVar9 + iVar4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43);\n  iVar9 = param_6 + iVar38 + 4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43);\n  iVar10 = param_6 + iVar40 * 0x10 + 8;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43);\n  iVar4 = param_6 + iVar40 * 0x18 + 0xc;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40);\n  if (*(int *)(puVar29 + iVar41) == 1) {\n    iVar11 = param_6 + iVar40 * 0x1c + 0xc;\n    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);\n  }\n  else if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  *(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18;\n  (*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40);\n  iVar11 = *(int *)(puVar26 + iVar41);\n  if (iVar11 == 1) {\n    iVar11 = *piVar21;\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);\n    iVar11 = iVar11 + iVar35;\n    iVar35 = *piVar21;\n  }\n  else {\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }\n  if (iVar35 != 0) {\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);\n    iVar11 = iVar11 + iVar35;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  piVar21 = (int *)(param_1 + iVar38 + iVar38);\n  *piVar21 = iVar11;\n  (*(code *)puVar50)(param_1,param_2,param_4,iVar40);\n  if (param_5 < param_3) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10;\n  iVar13 = param_6 + iVar40 * 0x20 + 0x10;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4;\n  iVar35 = iVar40;\n  iVar12 = iVar9;\n  (*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();\n  if (iVar19 == *(int *)puVar48) {\n    return;\n  }\n  uVar18 = 0x5e16c;\n  puVar48 = PTR___stack_chk_fail_0009d4d0;\n  (*(code *)PTR___stack_chk_fail_0009d4d0)();\n  puVar50 = puVar48 + 0x46ed0;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4;\n  *(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5;\n  iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4);\n  iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10);\n  *(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12;\n  *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13;\n  *(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18;\n  *(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0;\n  uVar39 = (local_64 + 2) / 3;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11;\n  iVar10 = uVar39 + 1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35;\n  uVar7 = iVar19 + uVar39 * -2;\n  iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc);\n  iVar19 = iVar10 * 8;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19;\n  iVar4 = param_1 + iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8;\n  if (uVar7 == 0) {\n    uVar8 = 0;\nLAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\nLAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);\n    piVar21 = (int *)(iVar11 + iVar35);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar11 = iVar9 + iVar35;\n    *piVar21 = iVar19;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);\n    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n    *puVar45 = 0;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n  uVar8 = (**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar7) {\n    iVar12 = uVar39 - uVar7;\n    puVar33 = (uint *)(iVar11 + uVar7 * 4);\n    puVar28 = (uint *)(iVar4 + uVar7 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e408:\n  iVar34 = *piVar21;\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1);\n  iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39);\n  iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n  iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13;\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  if (iVar19 == 0) {\n    uVar8 = 0;\nLAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\nLAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar19 = iVar9 + iVar35;\n    *(undefined4 *)(param_1 + iVar35) = uVar18;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);\n    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;\n  }\n  else {\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar8 = (**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar24) {\n    iVar11 = uVar39 - uVar24;\n    puVar33 = (uint *)(param_1 + uVar24 * 4);\n    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e618:\n  iVar13 = *(int *)(param_1 + iVar35);\n  uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1);\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51;\n  iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39);\n  iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c);\n  iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n  *(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =\n       (iVar19 - iVar11) + (uVar8 + iVar13) * 2;\n  bVar2 = uVar24 < 0x39;\n  iVar19 = iVar9 + iVar12 + -4;\n  if (bVar2) {\n    pcVar49 = *(code **)(iVar34 + -0x7bd0);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\nLAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    iVar35 = iVar9 + (iVar35 + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar49 = *(code **)(iVar4 + -0x7f84);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\n  else {\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\nLAB_0005e7f0:\n  iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n  pcVar49 = *(code **)(iVar4 + -0x7cf8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51;\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10;\n  (*pcVar49)(param_1,iVar19,iVar9,uVar39);\n  return;\n}\n\n" (function_definition "void __gmpn_toom62_mul(int param_1,int param_2,int param_3,undefined1 *param_4,int param_5,\n                      int param_6)\n\n{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int *piVar17;\n  undefined4 uVar18;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  uint uVar24;\n  uint *puVar25;\n  undefined1 *puVar26;\n  undefined1 *puVar27;\n  uint *puVar28;\n  undefined1 *puVar29;\n  uint uVar30;\n  uint *puVar31;\n  undefined4 uVar32;\n  uint *puVar33;\n  int iVar34;\n  int iVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  int iVar38;\n  uint uVar39;\n  int iVar40;\n  int iVar41;\n  undefined1 *puVar42;\n  int iVar43;\n  int iVar44;\n  undefined4 *puVar45;\n  undefined1 *puVar46;\n  undefined1 *puVar47;\n  undefined *puVar48;\n  code *pcVar49;\n  undefined *puVar50;\n  undefined4 uVar51;\n  uint auStack_140 [30];\n  undefined1 auStack_c8 [4];\n  undefined4 uStack_c4;\n  undefined1 auStack_c0 [4];\n  int aiStack_bc [8];\n  int iStack_9c;\n  uint local_64;\n  \n  puVar48 = PTR___stack_chk_guard_0009d540;\n  iVar19 = *(int *)PTR___stack_chk_guard_0009d540;\n  if (param_3 < param_5 * 3) {\n    uVar39 = param_5 + -1 >> 1;\n  }\n  else {\n    uVar39 = (param_3 - 1U) / 6;\n  }\n  iVar40 = uVar39 + 1;\n  iVar43 = uVar39 + 2;\n  iVar41 = iVar40 * 4;\n  iVar4 = iVar43 * 4;\n  param_3 = param_3 + iVar40 * -5;\n  uVar5 = iVar4 + 7U & 0xfffffff8;\n  puVar26 = &stack0xffffff68 + -uVar5;\n  puVar29 = &stack0xffffff68 + uVar5 * -2;\n  param_5 = param_5 - iVar40;\n  puVar42 = &stack0xffffff68 + uVar5 * -5;\n  puVar36 = &stack0xffffff68 + uVar5 * -6;\n  iVar3 = -(iVar41 + 7U & 0xfffffff8);\n  puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6;\n  iVar35 = param_2 + iVar41 + iVar41;\n  puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7;\n  iVar38 = iVar40 * 8;\n  puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8;\n  iVar34 = iVar35 + iVar41;\n  puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9;\n  iVar44 = iVar34 + iVar41;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2);\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2);\n  local_64 = uVar8 & 1 | uVar7 & 2;\n  iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1);\n  iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40);\n  iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40);\n  iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar13 = iVar40 * 0xc;\n  iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40);\n  iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40);\n  iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar44 = iVar44 + iVar41;\n  iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16;\n  if ((param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)) {\n    if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }\n  puVar20 = param_4 + iVar41;\n  *(int *)(puVar42 + iVar41) = iVar16;\n  piVar21 = (int *)(puVar36 + iVar41);\n  if (iVar40 == param_5) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);\n    *piVar21 = iVar9;\n    puVar28 = (uint *)(param_4 + uVar39 * 4);\n    iVar9 = iVar40;\n    do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }\nLAB_0005d5e4:\n    iVar9 = 0;\n    if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);\n    iVar9 = param_5;\n    if (iVar10 == 0) goto LAB_0005d5f0;\n    if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);\n    iVar4 = param_5;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }\nLAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;\n    local_64 = local_64 ^ (uVar39 | 1);\n  }\n  else {\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }\nLAB_0005d68c:\n  iVar9 = *piVar21;\n  iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40);\n  *(int *)(puVar6 + iVar41) = iVar9 + iVar4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43);\n  iVar9 = param_6 + iVar38 + 4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43);\n  iVar10 = param_6 + iVar40 * 0x10 + 8;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43);\n  iVar4 = param_6 + iVar40 * 0x18 + 0xc;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40);\n  if (*(int *)(puVar29 + iVar41) == 1) {\n    iVar11 = param_6 + iVar40 * 0x1c + 0xc;\n    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);\n  }\n  else if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  *(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18;\n  (*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40);\n  iVar11 = *(int *)(puVar26 + iVar41);\n  if (iVar11 == 1) {\n    iVar11 = *piVar21;\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);\n    iVar11 = iVar11 + iVar35;\n    iVar35 = *piVar21;\n  }\n  else {\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }\n  if (iVar35 != 0) {\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);\n    iVar11 = iVar11 + iVar35;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  piVar21 = (int *)(param_1 + iVar38 + iVar38);\n  *piVar21 = iVar11;\n  (*(code *)puVar50)(param_1,param_2,param_4,iVar40);\n  if (param_5 < param_3) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10;\n  iVar13 = param_6 + iVar40 * 0x20 + 0x10;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4;\n  iVar35 = iVar40;\n  iVar12 = iVar9;\n  (*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();\n  if (iVar19 == *(int *)puVar48) {\n    return;\n  }\n  uVar18 = 0x5e16c;\n  puVar48 = PTR___stack_chk_fail_0009d4d0;\n  (*(code *)PTR___stack_chk_fail_0009d4d0)();\n  puVar50 = puVar48 + 0x46ed0;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4;\n  *(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5;\n  iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4);\n  iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10);\n  *(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12;\n  *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13;\n  *(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18;\n  *(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0;\n  uVar39 = (local_64 + 2) / 3;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11;\n  iVar10 = uVar39 + 1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35;\n  uVar7 = iVar19 + uVar39 * -2;\n  iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc);\n  iVar19 = iVar10 * 8;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19;\n  iVar4 = param_1 + iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8;\n  if (uVar7 == 0) {\n    uVar8 = 0;\nLAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\nLAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);\n    piVar21 = (int *)(iVar11 + iVar35);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar11 = iVar9 + iVar35;\n    *piVar21 = iVar19;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);\n    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n    *puVar45 = 0;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n  uVar8 = (**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar7) {\n    iVar12 = uVar39 - uVar7;\n    puVar33 = (uint *)(iVar11 + uVar7 * 4);\n    puVar28 = (uint *)(iVar4 + uVar7 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e408:\n  iVar34 = *piVar21;\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1);\n  iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39);\n  iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n  iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13;\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  if (iVar19 == 0) {\n    uVar8 = 0;\nLAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\nLAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar19 = iVar9 + iVar35;\n    *(undefined4 *)(param_1 + iVar35) = uVar18;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);\n    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;\n  }\n  else {\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar8 = (**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar24) {\n    iVar11 = uVar39 - uVar24;\n    puVar33 = (uint *)(param_1 + uVar24 * 4);\n    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e618:\n  iVar13 = *(int *)(param_1 + iVar35);\n  uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1);\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51;\n  iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39);\n  iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c);\n  iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n  *(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =\n       (iVar19 - iVar11) + (uVar8 + iVar13) * 2;\n  bVar2 = uVar24 < 0x39;\n  iVar19 = iVar9 + iVar12 + -4;\n  if (bVar2) {\n    pcVar49 = *(code **)(iVar34 + -0x7bd0);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\nLAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    iVar35 = iVar9 + (iVar35 + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar49 = *(code **)(iVar4 + -0x7f84);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\n  else {\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\nLAB_0005e7f0:\n  iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n  pcVar49 = *(code **)(iVar4 + -0x7cf8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51;\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10;\n  (*pcVar49)(param_1,iVar19,iVar9,uVar39);\n  return;\n}" primitive_type (function_declarator "__gmpn_toom62_mul(int param_1,int param_2,int param_3,undefined1 *param_4,int param_5,\n                      int param_6)" identifier (parameter_list "(int param_1,int param_2,int param_3,undefined1 *param_4,int param_5,\n                      int param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined1 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "int param_6" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int *piVar17;\n  undefined4 uVar18;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  uint uVar24;\n  uint *puVar25;\n  undefined1 *puVar26;\n  undefined1 *puVar27;\n  uint *puVar28;\n  undefined1 *puVar29;\n  uint uVar30;\n  uint *puVar31;\n  undefined4 uVar32;\n  uint *puVar33;\n  int iVar34;\n  int iVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  int iVar38;\n  uint uVar39;\n  int iVar40;\n  int iVar41;\n  undefined1 *puVar42;\n  int iVar43;\n  int iVar44;\n  undefined4 *puVar45;\n  undefined1 *puVar46;\n  undefined1 *puVar47;\n  undefined *puVar48;\n  code *pcVar49;\n  undefined *puVar50;\n  undefined4 uVar51;\n  uint auStack_140 [30];\n  undefined1 auStack_c8 [4];\n  undefined4 uStack_c4;\n  undefined1 auStack_c0 [4];\n  int aiStack_bc [8];\n  int iStack_9c;\n  uint local_64;\n  \n  puVar48 = PTR___stack_chk_guard_0009d540;\n  iVar19 = *(int *)PTR___stack_chk_guard_0009d540;\n  if (param_3 < param_5 * 3) {\n    uVar39 = param_5 + -1 >> 1;\n  }\n  else {\n    uVar39 = (param_3 - 1U) / 6;\n  }\n  iVar40 = uVar39 + 1;\n  iVar43 = uVar39 + 2;\n  iVar41 = iVar40 * 4;\n  iVar4 = iVar43 * 4;\n  param_3 = param_3 + iVar40 * -5;\n  uVar5 = iVar4 + 7U & 0xfffffff8;\n  puVar26 = &stack0xffffff68 + -uVar5;\n  puVar29 = &stack0xffffff68 + uVar5 * -2;\n  param_5 = param_5 - iVar40;\n  puVar42 = &stack0xffffff68 + uVar5 * -5;\n  puVar36 = &stack0xffffff68 + uVar5 * -6;\n  iVar3 = -(iVar41 + 7U & 0xfffffff8);\n  puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6;\n  iVar35 = param_2 + iVar41 + iVar41;\n  puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7;\n  iVar38 = iVar40 * 8;\n  puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8;\n  iVar34 = iVar35 + iVar41;\n  puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9;\n  iVar44 = iVar34 + iVar41;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2);\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2);\n  local_64 = uVar8 & 1 | uVar7 & 2;\n  iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1);\n  iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40);\n  iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40);\n  iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar13 = iVar40 * 0xc;\n  iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40);\n  iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40);\n  iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar44 = iVar44 + iVar41;\n  iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16;\n  if ((param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)) {\n    if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }\n  puVar20 = param_4 + iVar41;\n  *(int *)(puVar42 + iVar41) = iVar16;\n  piVar21 = (int *)(puVar36 + iVar41);\n  if (iVar40 == param_5) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);\n    *piVar21 = iVar9;\n    puVar28 = (uint *)(param_4 + uVar39 * 4);\n    iVar9 = iVar40;\n    do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }\nLAB_0005d5e4:\n    iVar9 = 0;\n    if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);\n    iVar9 = param_5;\n    if (iVar10 == 0) goto LAB_0005d5f0;\n    if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);\n    iVar4 = param_5;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }\nLAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;\n    local_64 = local_64 ^ (uVar39 | 1);\n  }\n  else {\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }\nLAB_0005d68c:\n  iVar9 = *piVar21;\n  iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40);\n  *(int *)(puVar6 + iVar41) = iVar9 + iVar4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43);\n  iVar9 = param_6 + iVar38 + 4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43);\n  iVar10 = param_6 + iVar40 * 0x10 + 8;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43);\n  iVar4 = param_6 + iVar40 * 0x18 + 0xc;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40);\n  if (*(int *)(puVar29 + iVar41) == 1) {\n    iVar11 = param_6 + iVar40 * 0x1c + 0xc;\n    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);\n  }\n  else if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  *(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18;\n  (*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40);\n  iVar11 = *(int *)(puVar26 + iVar41);\n  if (iVar11 == 1) {\n    iVar11 = *piVar21;\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);\n    iVar11 = iVar11 + iVar35;\n    iVar35 = *piVar21;\n  }\n  else {\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }\n  if (iVar35 != 0) {\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);\n    iVar11 = iVar11 + iVar35;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  piVar21 = (int *)(param_1 + iVar38 + iVar38);\n  *piVar21 = iVar11;\n  (*(code *)puVar50)(param_1,param_2,param_4,iVar40);\n  if (param_5 < param_3) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10;\n  iVar13 = param_6 + iVar40 * 0x20 + 0x10;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4;\n  iVar35 = iVar40;\n  iVar12 = iVar9;\n  (*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();\n  if (iVar19 == *(int *)puVar48) {\n    return;\n  }\n  uVar18 = 0x5e16c;\n  puVar48 = PTR___stack_chk_fail_0009d4d0;\n  (*(code *)PTR___stack_chk_fail_0009d4d0)();\n  puVar50 = puVar48 + 0x46ed0;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4;\n  *(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5;\n  iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4);\n  iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10);\n  *(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12;\n  *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13;\n  *(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18;\n  *(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0;\n  uVar39 = (local_64 + 2) / 3;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11;\n  iVar10 = uVar39 + 1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35;\n  uVar7 = iVar19 + uVar39 * -2;\n  iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc);\n  iVar19 = iVar10 * 8;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19;\n  iVar4 = param_1 + iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8;\n  if (uVar7 == 0) {\n    uVar8 = 0;\nLAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\nLAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);\n    piVar21 = (int *)(iVar11 + iVar35);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar11 = iVar9 + iVar35;\n    *piVar21 = iVar19;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);\n    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n    *puVar45 = 0;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n  uVar8 = (**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar7) {\n    iVar12 = uVar39 - uVar7;\n    puVar33 = (uint *)(iVar11 + uVar7 * 4);\n    puVar28 = (uint *)(iVar4 + uVar7 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e408:\n  iVar34 = *piVar21;\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1);\n  iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39);\n  iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n  iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13;\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  if (iVar19 == 0) {\n    uVar8 = 0;\nLAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\nLAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar19 = iVar9 + iVar35;\n    *(undefined4 *)(param_1 + iVar35) = uVar18;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);\n    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;\n  }\n  else {\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar8 = (**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar24) {\n    iVar11 = uVar39 - uVar24;\n    puVar33 = (uint *)(param_1 + uVar24 * 4);\n    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e618:\n  iVar13 = *(int *)(param_1 + iVar35);\n  uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1);\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51;\n  iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39);\n  iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c);\n  iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n  *(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =\n       (iVar19 - iVar11) + (uVar8 + iVar13) * 2;\n  bVar2 = uVar24 < 0x39;\n  iVar19 = iVar9 + iVar12 + -4;\n  if (bVar2) {\n    pcVar49 = *(code **)(iVar34 + -0x7bd0);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\nLAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    iVar35 = iVar9 + (iVar35 + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar49 = *(code **)(iVar4 + -0x7f84);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\n  else {\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\nLAB_0005e7f0:\n  iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n  pcVar49 = *(code **)(iVar4 + -0x7cf8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51;\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10;\n  (*pcVar49)(param_1,iVar19,iVar9,uVar39);\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "undefined1 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "undefined1 *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "uint *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "undefined1 *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "uint *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "undefined4 uVar32;" type_identifier identifier ;) (declaration "uint *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "int iVar35;" primitive_type identifier ;) (declaration "undefined1 *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "undefined1 *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "int iVar38;" primitive_type identifier ;) (declaration "uint uVar39;" type_identifier identifier ;) (declaration "int iVar40;" primitive_type identifier ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "undefined1 *puVar42;" type_identifier (pointer_declarator "*puVar42" * identifier) ;) (declaration "int iVar43;" primitive_type identifier ;) (declaration "int iVar44;" primitive_type identifier ;) (declaration "undefined4 *puVar45;" type_identifier (pointer_declarator "*puVar45" * identifier) ;) (declaration "undefined1 *puVar46;" type_identifier (pointer_declarator "*puVar46" * identifier) ;) (declaration "undefined1 *puVar47;" type_identifier (pointer_declarator "*puVar47" * identifier) ;) (declaration "undefined *puVar48;" type_identifier (pointer_declarator "*puVar48" * identifier) ;) (declaration "code *pcVar49;" type_identifier (pointer_declarator "*pcVar49" * identifier) ;) (declaration "undefined *puVar50;" type_identifier (pointer_declarator "*puVar50" * identifier) ;) (declaration "undefined4 uVar51;" type_identifier identifier ;) (declaration "uint auStack_140 [30];" type_identifier (array_declarator "auStack_140 [30]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_c8 [4];" type_identifier (array_declarator "auStack_c8 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "undefined1 auStack_c0 [4];" type_identifier (array_declarator "auStack_c0 [4]" identifier [ number_literal ]) ;) (declaration "int aiStack_bc [8];" primitive_type (array_declarator "aiStack_bc [8]" identifier [ number_literal ]) ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (expression_statement "puVar48 = PTR___stack_chk_guard_0009d540;" (assignment_expression "puVar48 = PTR___stack_chk_guard_0009d540" identifier = identifier) ;) (expression_statement "iVar19 = *(int *)PTR___stack_chk_guard_0009d540;" (assignment_expression "iVar19 = *(int *)PTR___stack_chk_guard_0009d540" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0009d540" * (cast_expression "(int *)PTR___stack_chk_guard_0009d540" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_3 < param_5 * 3) {\n    uVar39 = param_5 + -1 >> 1;\n  }\n  else {\n    uVar39 = (param_3 - 1U) / 6;\n  }" if (parenthesized_expression "(param_3 < param_5 * 3)" ( (binary_expression "param_3 < param_5 * 3" identifier < (binary_expression "param_5 * 3" identifier * number_literal)) )) (compound_statement "{\n    uVar39 = param_5 + -1 >> 1;\n  }" { (expression_statement "uVar39 = param_5 + -1 >> 1;" (assignment_expression "uVar39 = param_5 + -1 >> 1" identifier = (binary_expression "param_5 + -1 >> 1" (binary_expression "param_5 + -1" identifier + number_literal) >> number_literal)) ;) }) (else_clause "else {\n    uVar39 = (param_3 - 1U) / 6;\n  }" else (compound_statement "{\n    uVar39 = (param_3 - 1U) / 6;\n  }" { (expression_statement "uVar39 = (param_3 - 1U) / 6;" (assignment_expression "uVar39 = (param_3 - 1U) / 6" identifier = (binary_expression "(param_3 - 1U) / 6" (parenthesized_expression "(param_3 - 1U)" ( (binary_expression "param_3 - 1U" identifier - number_literal) )) / number_literal)) ;) }))) (expression_statement "iVar40 = uVar39 + 1;" (assignment_expression "iVar40 = uVar39 + 1" identifier = (binary_expression "uVar39 + 1" identifier + number_literal)) ;) (expression_statement "iVar43 = uVar39 + 2;" (assignment_expression "iVar43 = uVar39 + 2" identifier = (binary_expression "uVar39 + 2" identifier + number_literal)) ;) (expression_statement "iVar41 = iVar40 * 4;" (assignment_expression "iVar41 = iVar40 * 4" identifier = (binary_expression "iVar40 * 4" identifier * number_literal)) ;) (expression_statement "iVar4 = iVar43 * 4;" (assignment_expression "iVar4 = iVar43 * 4" identifier = (binary_expression "iVar43 * 4" identifier * number_literal)) ;) (expression_statement "param_3 = param_3 + iVar40 * -5;" (assignment_expression "param_3 = param_3 + iVar40 * -5" identifier = (binary_expression "param_3 + iVar40 * -5" identifier + (binary_expression "iVar40 * -5" identifier * number_literal))) ;) (expression_statement "uVar5 = iVar4 + 7U & 0xfffffff8;" (assignment_expression "uVar5 = iVar4 + 7U & 0xfffffff8" identifier = (binary_expression "iVar4 + 7U & 0xfffffff8" (binary_expression "iVar4 + 7U" identifier + number_literal) & number_literal)) ;) (expression_statement "puVar26 = &stack0xffffff68 + -uVar5;" (assignment_expression "puVar26 = &stack0xffffff68 + -uVar5" identifier = (binary_expression "&stack0xffffff68 + -uVar5" (pointer_expression "&stack0xffffff68" & identifier) + (unary_expression "-uVar5" - identifier))) ;) (expression_statement "puVar29 = &stack0xffffff68 + uVar5 * -2;" (assignment_expression "puVar29 = &stack0xffffff68 + uVar5 * -2" identifier = (binary_expression "&stack0xffffff68 + uVar5 * -2" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar5 * -2" identifier * number_literal))) ;) (expression_statement "param_5 = param_5 - iVar40;" (assignment_expression "param_5 = param_5 - iVar40" identifier = (binary_expression "param_5 - iVar40" identifier - identifier)) ;) (expression_statement "puVar42 = &stack0xffffff68 + uVar5 * -5;" (assignment_expression "puVar42 = &stack0xffffff68 + uVar5 * -5" identifier = (binary_expression "&stack0xffffff68 + uVar5 * -5" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar5 * -5" identifier * number_literal))) ;) (expression_statement "puVar36 = &stack0xffffff68 + uVar5 * -6;" (assignment_expression "puVar36 = &stack0xffffff68 + uVar5 * -6" identifier = (binary_expression "&stack0xffffff68 + uVar5 * -6" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar5 * -6" identifier * number_literal))) ;) (expression_statement "iVar3 = -(iVar41 + 7U & 0xfffffff8);" (assignment_expression "iVar3 = -(iVar41 + 7U & 0xfffffff8)" identifier = (unary_expression "-(iVar41 + 7U & 0xfffffff8)" - (parenthesized_expression "(iVar41 + 7U & 0xfffffff8)" ( (binary_expression "iVar41 + 7U & 0xfffffff8" (binary_expression "iVar41 + 7U" identifier + number_literal) & number_literal) )))) ;) (expression_statement "puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6;" (assignment_expression "puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6" identifier = (binary_expression "&stack0xffffff68 + iVar3 + uVar5 * -6" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" & identifier) + identifier) + (binary_expression "uVar5 * -6" identifier * number_literal))) ;) (expression_statement "iVar35 = param_2 + iVar41 + iVar41;" (assignment_expression "iVar35 = param_2 + iVar41 + iVar41" identifier = (binary_expression "param_2 + iVar41 + iVar41" (binary_expression "param_2 + iVar41" identifier + identifier) + identifier)) ;) (expression_statement "puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7;" (assignment_expression "puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7" identifier = (binary_expression "&stack0xffffff68 + iVar3 + uVar5 * -7" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" & identifier) + identifier) + (binary_expression "uVar5 * -7" identifier * number_literal))) ;) (expression_statement "iVar38 = iVar40 * 8;" (assignment_expression "iVar38 = iVar40 * 8" identifier = (binary_expression "iVar40 * 8" identifier * number_literal)) ;) (expression_statement "puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8;" (assignment_expression "puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8" identifier = (binary_expression "&stack0xffffff68 + iVar3 + uVar5 * -8" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" & identifier) + identifier) + (binary_expression "uVar5 * -8" identifier * number_literal))) ;) (expression_statement "iVar34 = iVar35 + iVar41;" (assignment_expression "iVar34 = iVar35 + iVar41" identifier = (binary_expression "iVar35 + iVar41" identifier + identifier)) ;) (expression_statement "puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9;" (assignment_expression "puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9" identifier = (binary_expression "&stack0xffffff68 + iVar3 + uVar5 * -9" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" & identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal))) ;) (expression_statement "iVar44 = iVar34 + iVar41;" (assignment_expression "iVar44 = iVar34 + iVar41" identifier = (binary_expression "iVar34 + iVar41" identifier + identifier)) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2);" (assignment_expression "uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2)" identifier = (call_expression "(*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2)" (parenthesized_expression "(*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)" ( (pointer_expression "*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0" * (cast_expression "(code *)PTR___gmpn_toom_eval_pm1_0009d1e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar26,puVar29,5,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2);" (assignment_expression "uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2)" identifier = (call_expression "(*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2)" (parenthesized_expression "(*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)" ( (pointer_expression "*(code *)PTR___gmpn_toom_eval_pm2_0009d47c" * (cast_expression "(code *)PTR___gmpn_toom_eval_pm2_0009d47c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2)" ( (binary_expression "&stack0xffffff68 + uVar5 * -3" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar5 * -3" identifier * number_literal)) , (binary_expression "&stack0xffffff68 + uVar5 * -4" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar5 * -4" identifier * number_literal)) , number_literal , identifier )))) ;) (expression_statement "local_64 = uVar8 & 1 | uVar7 & 2;" (assignment_expression "local_64 = uVar8 & 1 | uVar7 & 2" identifier = (binary_expression "uVar8 & 1 | uVar7 & 2" (binary_expression "uVar8 & 1" identifier & number_literal) | (binary_expression "uVar7 & 2" identifier & number_literal))) ;) (expression_statement "iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,param_2,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40);" (assignment_expression "iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,param_2 + iVar41,iVar40)" ( identifier , identifier , (binary_expression "param_2 + iVar41" identifier + identifier) , identifier )))) ;) (expression_statement "iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40);" (assignment_expression "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar35,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);" (assignment_expression "iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar13 = iVar40 * 0xc;" (assignment_expression "iVar13 = iVar40 * 0xc" identifier = (binary_expression "iVar40 * 0xc" identifier * number_literal)) ;) (expression_statement "iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40);" (assignment_expression "iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar34,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);" (assignment_expression "iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40);" (assignment_expression "iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar44,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);" (assignment_expression "iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" identifier = (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" ( (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" * (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar40,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar44 = iVar44 + iVar41;" (assignment_expression "iVar44 = iVar44 + iVar41" identifier = (binary_expression "iVar44 + iVar41" identifier + identifier)) ;) (expression_statement "iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16;" (assignment_expression "iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16" identifier = (binary_expression "(iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16" (binary_expression "(iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2" (parenthesized_expression "(iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)" ( (binary_expression "iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2" (binary_expression "iVar14 + iVar15" identifier + identifier) + (binary_expression "(iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2" (parenthesized_expression "(iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2)" ( (binary_expression "iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2" (binary_expression "iVar12 + iVar34" identifier + identifier) + (binary_expression "(iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2" (parenthesized_expression "(iVar11 + iVar35 + (iVar9 + iVar10) * 2)" ( (binary_expression "iVar11 + iVar35 + (iVar9 + iVar10) * 2" (binary_expression "iVar11 + iVar35" identifier + identifier) + (binary_expression "(iVar9 + iVar10) * 2" (parenthesized_expression "(iVar9 + iVar10)" ( (binary_expression "iVar9 + iVar10" identifier + identifier) )) * number_literal)) )) * number_literal)) )) * number_literal)) )) * number_literal) + identifier)) ;) (if_statement "if ((param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)) {\n    if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }" if (parenthesized_expression "((param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0))" ( (binary_expression "(param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)" (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)" ( (comma_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar42,puVar42,iVar44,param_3)" ( identifier , identifier , identifier , identifier )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }" { (if_statement "if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }" if (parenthesized_expression "(param_3 < iVar40)" ( (binary_expression "param_3 < iVar40" identifier < identifier) )) (compound_statement "{\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }" { (expression_statement "piVar21 = (int *)(puVar42 + param_3 * 4);" (assignment_expression "piVar21 = (int *)(puVar42 + param_3 * 4)" identifier = (cast_expression "(int *)(puVar42 + param_3 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + param_3 * 4)" ( (binary_expression "puVar42 + param_3 * 4" identifier + (binary_expression "param_3 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "*piVar21 = iVar9 + 1;" (assignment_expression "*piVar21 = iVar9 + 1" (pointer_expression "*piVar21" * identifier) = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }" if (parenthesized_expression "(iVar9 + 1 == 0)" ( (binary_expression "iVar9 + 1 == 0" (binary_expression "iVar9 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }" { (if_statement "if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;" if (parenthesized_expression "(iVar40 <= param_3 + 1)" ( (binary_expression "iVar40 <= param_3 + 1" identifier <= (binary_expression "param_3 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_0005dbd4;" goto statement_identifier ;)) (expression_statement "iVar9 = param_3 + 2;" (assignment_expression "iVar9 = param_3 + 2" identifier = (binary_expression "param_3 + 2" identifier + number_literal)) ;) (expression_statement "iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;" (assignment_expression "iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1" identifier = (binary_expression "*(int *)(puVar42 + (param_3 + 1) * 4) + 1" (pointer_expression "*(int *)(puVar42 + (param_3 + 1) * 4)" * (cast_expression "(int *)(puVar42 + (param_3 + 1) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + (param_3 + 1) * 4)" ( (binary_expression "puVar42 + (param_3 + 1) * 4" identifier + (binary_expression "(param_3 + 1) * 4" (parenthesized_expression "(param_3 + 1)" ( (binary_expression "param_3 + 1" identifier + number_literal) )) * number_literal)) )))) + number_literal)) ;) (expression_statement "*(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;" (assignment_expression "*(int *)(puVar42 + (param_3 + 1) * 4) = iVar10" (pointer_expression "*(int *)(puVar42 + (param_3 + 1) * 4)" * (cast_expression "(int *)(puVar42 + (param_3 + 1) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + (param_3 + 1) * 4)" ( (binary_expression "puVar42 + (param_3 + 1) * 4" identifier + (binary_expression "(param_3 + 1) * 4" (parenthesized_expression "(param_3 + 1)" ( (binary_expression "param_3 + 1" identifier + number_literal) )) * number_literal)) )))) = identifier) ;) (while_statement "while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }" while (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }" { (if_statement "if (iVar9 == iVar40) goto LAB_0005dbd4;" if (parenthesized_expression "(iVar9 == iVar40)" ( (binary_expression "iVar9 == iVar40" identifier == identifier) )) (goto_statement "goto LAB_0005dbd4;" goto statement_identifier ;)) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = piVar21[2] + 1;" (assignment_expression "iVar10 = piVar21[2] + 1" identifier = (binary_expression "piVar21[2] + 1" (subscript_expression "piVar21[2]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar21[2] = iVar10;" (assignment_expression "piVar21[2] = iVar10" (subscript_expression "piVar21[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar21 = piVar21 + 1;" (assignment_expression "piVar21 = piVar21 + 1" identifier = (binary_expression "piVar21 + 1" identifier + number_literal)) ;) })) })) }) (else_clause "else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }" else (compound_statement "{\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }" { (labeled_statement "LAB_0005dbd4:\n      iVar16 = iVar16 + 1;" statement_identifier : (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;)) }))) })) (expression_statement "puVar20 = param_4 + iVar41;" (assignment_expression "puVar20 = param_4 + iVar41" identifier = (binary_expression "param_4 + iVar41" identifier + identifier)) ;) (expression_statement "*(int *)(puVar42 + iVar41) = iVar16;" (assignment_expression "*(int *)(puVar42 + iVar41) = iVar16" (pointer_expression "*(int *)(puVar42 + iVar41)" * (cast_expression "(int *)(puVar42 + iVar41)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + iVar41)" ( (binary_expression "puVar42 + iVar41" identifier + identifier) )))) = identifier) ;) (expression_statement "piVar21 = (int *)(puVar36 + iVar41);" (assignment_expression "piVar21 = (int *)(puVar36 + iVar41)" identifier = (cast_expression "(int *)(puVar36 + iVar41)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + iVar41)" ( (binary_expression "puVar36 + iVar41" identifier + identifier) )))) ;) (if_statement "if (iVar40 == param_5) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);\n    *piVar21 = iVar9;\n    puVar28 = (uint *)(param_4 + uVar39 * 4);\n    iVar9 = iVar40;\n    do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }\nLAB_0005d5e4:\n    iVar9 = 0;\n    if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);\n    iVar9 = param_5;\n    if (iVar10 == 0) goto LAB_0005d5f0;\n    if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);\n    iVar4 = param_5;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }\nLAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;\n    local_64 = local_64 ^ (uVar39 | 1);\n  }\n  else {\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }" if (parenthesized_expression "(iVar40 == param_5)" ( (binary_expression "iVar40 == param_5" identifier == identifier) )) (compound_statement "{\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);\n    *piVar21 = iVar9;\n    puVar28 = (uint *)(param_4 + uVar39 * 4);\n    iVar9 = iVar40;\n    do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }\nLAB_0005d5e4:\n    iVar9 = 0;\n    if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);\n    iVar9 = param_5;\n    if (iVar10 == 0) goto LAB_0005d5f0;\n    if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);\n    iVar4 = param_5;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }\nLAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;\n    local_64 = local_64 ^ (uVar39 | 1);\n  }" { (expression_statement "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar36,param_4,puVar20,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "*piVar21 = iVar9;" (assignment_expression "*piVar21 = iVar9" (pointer_expression "*piVar21" * identifier) = identifier) ;) (expression_statement "puVar28 = (uint *)(param_4 + uVar39 * 4);" (assignment_expression "puVar28 = (uint *)(param_4 + uVar39 * 4)" identifier = (cast_expression "(uint *)(param_4 + uVar39 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + uVar39 * 4)" ( (binary_expression "param_4 + uVar39 * 4" identifier + (binary_expression "uVar39 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar9 = iVar40;" (assignment_expression "iVar9 = iVar40" identifier = identifier) ;) (do_statement "do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);" do (compound_statement "{\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    }" { (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (if_statement "if (iVar9 < 0) goto LAB_0005ddc8;" if (parenthesized_expression "(iVar9 < 0)" ( (binary_expression "iVar9 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0005ddc8;" goto statement_identifier ;)) (expression_statement "uVar7 = *puVar28;" (assignment_expression "uVar7 = *puVar28" identifier = (pointer_expression "*puVar28" * identifier)) ;) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" identifier = (binary_expression "puVar28 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 == puVar28[uVar39 + 2])" ( (binary_expression "uVar7 == puVar28[uVar39 + 2]" identifier == (subscript_expression "puVar28[uVar39 + 2]" identifier [ (binary_expression "uVar39 + 2" identifier + number_literal) ])) )) ;) (if_statement "if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }" if (parenthesized_expression "(puVar28[uVar39 + 2] < uVar7)" ( (binary_expression "puVar28[uVar39 + 2] < uVar7" (subscript_expression "puVar28[uVar39 + 2]" identifier [ (binary_expression "uVar39 + 2" identifier + number_literal) ]) < identifier) )) (compound_statement "{\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }" { (labeled_statement "LAB_0005ddc8:\n      uVar39 = 0;" statement_identifier : (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" identifier = number_literal) ;)) (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar37,param_4,puVar20,param_5)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }" else (compound_statement "{\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }" { (expression_statement "uVar39 = 2;" (assignment_expression "uVar39 = 2" identifier = number_literal) ;) (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar37,puVar20,param_4,param_5)" ( identifier , identifier , identifier , identifier ))) ;) }))) (labeled_statement "LAB_0005d5e4:\n    iVar9 = 0;" statement_identifier : (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;)) (if_statement "if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }" { (labeled_statement "LAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }" statement_identifier : (if_statement "if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }" if (parenthesized_expression "((puVar36 != puVar46) && (iVar9 < iVar43))" ( (binary_expression "(puVar36 != puVar46) && (iVar9 < iVar43)" (parenthesized_expression "(puVar36 != puVar46)" ( (binary_expression "puVar36 != puVar46" identifier != identifier) )) && (parenthesized_expression "(iVar9 < iVar43)" ( (binary_expression "iVar9 < iVar43" identifier < identifier) ))) )) (compound_statement "{\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }" { (labeled_statement "LAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;" statement_identifier : (expression_statement "(*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;" (call_expression "(*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)" ( (binary_expression "puVar46 + iVar9 * 4" identifier + (binary_expression "iVar9 * 4" identifier * number_literal)) , (binary_expression "puVar36 + iVar9 * 4" identifier + (binary_expression "iVar9 * 4" identifier * number_literal)) , (binary_expression "(iVar43 - iVar9) * 4" (parenthesized_expression "(iVar43 - iVar9)" ( (binary_expression "iVar43 - iVar9" identifier - identifier) )) * number_literal) ))) ;)) }))) (if_statement "if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }" if (parenthesized_expression "(uVar39 != 0)" ( (binary_expression "uVar39 != 0" identifier != number_literal) )) (compound_statement "{\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }" { (if_statement "if (param_5 != 0) goto LAB_0005df00;" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0005df00;" goto statement_identifier ;)) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005d63c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0005da2c;" goto statement_identifier ;) })) (labeled_statement "LAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);" statement_identifier : (expression_statement "iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);" (assignment_expression "iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar46,puVar36,puVar20,param_5)" ( identifier , identifier , identifier , identifier )))) ;)) (expression_statement "iVar9 = param_5;" (assignment_expression "iVar9 = param_5" identifier = identifier) ;) (if_statement "if (iVar10 == 0) goto LAB_0005d5f0;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005d5f0;" goto statement_identifier ;)) (if_statement "if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }" if (parenthesized_expression "(param_5 < iVar43)" ( (binary_expression "param_5 < iVar43" identifier < identifier) )) (compound_statement "{\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }" { (expression_statement "piVar17 = (int *)(puVar36 + param_5 * 4);" (assignment_expression "piVar17 = (int *)(puVar36 + param_5 * 4)" identifier = (cast_expression "(int *)(puVar36 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + param_5 * 4)" ( (binary_expression "puVar36 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar10 = *piVar17;" (assignment_expression "iVar10 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "*(int *)(puVar46 + param_5 * 4) = iVar10 + 1;" (assignment_expression "*(int *)(puVar46 + param_5 * 4) = iVar10 + 1" (pointer_expression "*(int *)(puVar46 + param_5 * 4)" * (cast_expression "(int *)(puVar46 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + param_5 * 4)" ( (binary_expression "puVar46 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "iVar9 = param_5 + 1;" (assignment_expression "iVar9 = param_5 + 1" identifier = (binary_expression "param_5 + 1" identifier + number_literal)) ;) (if_statement "if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }" if (parenthesized_expression "(iVar10 + 1 == 0)" ( (binary_expression "iVar10 + 1 == 0" (binary_expression "iVar10 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }" { (expression_statement "iVar10 = (param_5 + 1) * 4;" (assignment_expression "iVar10 = (param_5 + 1) * 4" identifier = (binary_expression "(param_5 + 1) * 4" (parenthesized_expression "(param_5 + 1)" ( (binary_expression "param_5 + 1" identifier + number_literal) )) * number_literal)) ;) (if_statement "if (iVar40 <= param_5) goto LAB_0005da20;" if (parenthesized_expression "(iVar40 <= param_5)" ( (binary_expression "iVar40 <= param_5" identifier <= identifier) )) (goto_statement "goto LAB_0005da20;" goto statement_identifier ;)) (expression_statement "iVar9 = param_5 + 2;" (assignment_expression "iVar9 = param_5 + 2" identifier = (binary_expression "param_5 + 2" identifier + number_literal)) ;) (expression_statement "iVar11 = *(int *)(puVar36 + iVar10) + 1;" (assignment_expression "iVar11 = *(int *)(puVar36 + iVar10) + 1" identifier = (binary_expression "*(int *)(puVar36 + iVar10) + 1" (pointer_expression "*(int *)(puVar36 + iVar10)" * (cast_expression "(int *)(puVar36 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + iVar10)" ( (binary_expression "puVar36 + iVar10" identifier + identifier) )))) + number_literal)) ;) (expression_statement "*(int *)(puVar46 + iVar10) = iVar11;" (assignment_expression "*(int *)(puVar46 + iVar10) = iVar11" (pointer_expression "*(int *)(puVar46 + iVar10)" * (cast_expression "(int *)(puVar46 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + iVar10)" ( (binary_expression "puVar46 + iVar10" identifier + identifier) )))) = identifier) ;) (expression_statement "piVar22 = (int *)(puVar46 + param_5 * 4);" (assignment_expression "piVar22 = (int *)(puVar46 + param_5 * 4)" identifier = (cast_expression "(int *)(puVar46 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + param_5 * 4)" ( (binary_expression "puVar46 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) ;) (while_statement "while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }" while (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }" { (if_statement "if (iVar9 == iVar43) goto LAB_0005da20;" if (parenthesized_expression "(iVar9 == iVar43)" ( (binary_expression "iVar9 == iVar43" identifier == identifier) )) (goto_statement "goto LAB_0005da20;" goto statement_identifier ;)) (expression_statement "piVar1 = piVar17 + 2;" (assignment_expression "piVar1 = piVar17 + 2" identifier = (binary_expression "piVar17 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = *piVar1 + 1;" (assignment_expression "iVar11 = *piVar1 + 1" identifier = (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "piVar22[2] = iVar11;" (assignment_expression "piVar22[2] = iVar11" (subscript_expression "piVar22[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) })) })) (goto_statement "goto LAB_0005d5f0;" goto statement_identifier ;) })) (labeled_statement "LAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;" statement_identifier : (if_statement "if (uVar39 == 0) goto LAB_0005da2c;" if (parenthesized_expression "(uVar39 == 0)" ( (binary_expression "uVar39 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005da2c;" goto statement_identifier ;))) (labeled_statement "LAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);" statement_identifier : (expression_statement "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47,puVar37,puVar20,param_5)" ( identifier , identifier , identifier , identifier )))) ;)) (expression_statement "iVar4 = param_5;" (assignment_expression "iVar4 = param_5" identifier = identifier) ;) (if_statement "if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }" { (labeled_statement "LAB_0005d63c:\n      uVar18 = 0;" statement_identifier : (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;)) (if_statement "if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }" if (parenthesized_expression "(puVar37 != puVar47)" ( (binary_expression "puVar37 != puVar47" identifier != identifier) )) (compound_statement "{\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }" { (if_statement "if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }" if (parenthesized_expression "(iVar4 < iVar40)" ( (binary_expression "iVar4 < iVar40" identifier < identifier) )) (compound_statement "{\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }" { (expression_statement "(*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);" (call_expression "(*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4)" ( (binary_expression "puVar47 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) , (binary_expression "puVar37 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) , (binary_expression "(iVar40 - iVar4) * 4" (parenthesized_expression "(iVar40 - iVar4)" ( (binary_expression "iVar40 - iVar4" identifier - identifier) )) * number_literal) ))) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          uVar18 = 0;\n        }" else (compound_statement "{\n          uVar18 = 0;\n        }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }))) })) }) (else_clause "else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }" else (compound_statement "{\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }" { (if_statement "if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }" if (parenthesized_expression "(param_5 < iVar40)" ( (binary_expression "param_5 < iVar40" identifier < identifier) )) (compound_statement "{\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }" { (expression_statement "iVar4 = param_5 + 1;" (assignment_expression "iVar4 = param_5 + 1" identifier = (binary_expression "param_5 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = (int *)(puVar37 + param_5 * 4);" (assignment_expression "piVar17 = (int *)(puVar37 + param_5 * 4)" identifier = (cast_expression "(int *)(puVar37 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + param_5 * 4)" ( (binary_expression "puVar37 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar9 = *piVar17;" (assignment_expression "iVar9 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "*(int *)(puVar47 + param_5 * 4) = iVar9 + 1;" (assignment_expression "*(int *)(puVar47 + param_5 * 4) = iVar9 + 1" (pointer_expression "*(int *)(puVar47 + param_5 * 4)" * (cast_expression "(int *)(puVar47 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + param_5 * 4)" ( (binary_expression "puVar47 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }" if (parenthesized_expression "(iVar9 + 1 == 0)" ( (binary_expression "iVar9 + 1 == 0" (binary_expression "iVar9 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }" { (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (if_statement "if (iVar40 <= iVar4) goto LAB_0005d678;" if (parenthesized_expression "(iVar40 <= iVar4)" ( (binary_expression "iVar40 <= iVar4" identifier <= identifier) )) (goto_statement "goto LAB_0005d678;" goto statement_identifier ;)) (expression_statement "iVar9 = param_5 + 2;" (assignment_expression "iVar9 = param_5 + 2" identifier = (binary_expression "param_5 + 2" identifier + number_literal)) ;) (expression_statement "iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;" (assignment_expression "iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1" identifier = (binary_expression "*(int *)(puVar37 + iVar4 * 4) + 1" (pointer_expression "*(int *)(puVar37 + iVar4 * 4)" * (cast_expression "(int *)(puVar37 + iVar4 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + iVar4 * 4)" ( (binary_expression "puVar37 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) + number_literal)) ;) (expression_statement "*(int *)(puVar47 + iVar4 * 4) = iVar10;" (assignment_expression "*(int *)(puVar47 + iVar4 * 4) = iVar10" (pointer_expression "*(int *)(puVar47 + iVar4 * 4)" * (cast_expression "(int *)(puVar47 + iVar4 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + iVar4 * 4)" ( (binary_expression "puVar47 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "piVar22 = (int *)(puVar47 + param_5 * 4);" (assignment_expression "piVar22 = (int *)(puVar47 + param_5 * 4)" identifier = (cast_expression "(int *)(puVar47 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + param_5 * 4)" ( (binary_expression "puVar47 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) ;) (while_statement "while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }" while (parenthesized_expression "(iVar4 = iVar9, iVar10 == 0)" ( (comma_expression "iVar4 = iVar9, iVar10 == 0" (assignment_expression "iVar4 = iVar9" identifier = identifier) , (binary_expression "iVar10 == 0" identifier == number_literal)) )) (compound_statement "{\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }" { (if_statement "if (iVar40 == iVar9) goto LAB_0005dfa8;" if (parenthesized_expression "(iVar40 == iVar9)" ( (binary_expression "iVar40 == iVar9" identifier == identifier) )) (goto_statement "goto LAB_0005dfa8;" goto statement_identifier ;)) (expression_statement "piVar1 = piVar17 + 2;" (assignment_expression "piVar1 = piVar17 + 2" identifier = (binary_expression "piVar17 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = *piVar1 + 1;" (assignment_expression "iVar10 = *piVar1 + 1" identifier = (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "piVar22[2] = iVar10;" (assignment_expression "piVar22[2] = iVar10" (subscript_expression "piVar22[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) })) })) (goto_statement "goto LAB_0005d63c;" goto statement_identifier ;) })) (labeled_statement "LAB_0005dfa8:\n      uVar18 = 1;" statement_identifier : (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;)) }))) (labeled_statement "LAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;" statement_identifier : (expression_statement "*(undefined4 *)(puVar47 + iVar41) = uVar18;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = uVar18" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" * (cast_expression "(undefined4 *)(puVar47 + iVar41)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + iVar41)" ( (binary_expression "puVar47 + iVar41" identifier + identifier) )))) = identifier) ;)) (expression_statement "local_64 = local_64 ^ (uVar39 | 1);" (assignment_expression "local_64 = local_64 ^ (uVar39 | 1)" identifier = (binary_expression "local_64 ^ (uVar39 | 1)" identifier ^ (parenthesized_expression "(uVar39 | 1)" ( (binary_expression "uVar39 | 1" identifier | number_literal) )))) ;) }) (else_clause "else {\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }" else (compound_statement "{\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }" { (expression_statement "iVar9 = param_5 * 4;" (assignment_expression "iVar9 = param_5 * 4" identifier = (binary_expression "param_5 * 4" identifier * number_literal)) ;) (if_statement "if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0005d51c:\n      iVar11 = 0;" statement_identifier : (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;)) (if_statement "if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }" if (parenthesized_expression "(puVar36 != param_4)" ( (binary_expression "puVar36 != param_4" identifier != identifier) )) (compound_statement "{\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }" { (if_statement "if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }" if (parenthesized_expression "(iVar10 < iVar40)" ( (binary_expression "iVar10 < iVar40" identifier < identifier) )) (compound_statement "{\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }" { (expression_statement "(*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);" (call_expression "(*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4)" ( (binary_expression "puVar36 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) , (binary_expression "param_4 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) , (binary_expression "(iVar40 - iVar10) * 4" (parenthesized_expression "(iVar40 - iVar10)" ( (binary_expression "iVar40 - iVar10" identifier - identifier) )) * number_literal) ))) ;) })) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) })) }) (else_clause "else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }" else (compound_statement "{\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }" { (expression_statement "iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar36,param_4,puVar20,param_5)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar10 = param_5;" (assignment_expression "iVar10 = param_5" identifier = identifier) ;) (if_statement "if (iVar11 == 0) goto LAB_0005d51c;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005d51c;" goto statement_identifier ;)) (if_statement "if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }" if (parenthesized_expression "(param_5 < iVar40)" ( (binary_expression "param_5 < iVar40" identifier < identifier) )) (compound_statement "{\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }" { (expression_statement "iVar10 = param_5 + 1;" (assignment_expression "iVar10 = param_5 + 1" identifier = (binary_expression "param_5 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = (int *)(param_4 + iVar9);" (assignment_expression "piVar17 = (int *)(param_4 + iVar9)" identifier = (cast_expression "(int *)(param_4 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + iVar9)" ( (binary_expression "param_4 + iVar9" identifier + identifier) )))) ;) (expression_statement "iVar11 = *piVar17;" (assignment_expression "iVar11 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "*(int *)(puVar36 + iVar9) = iVar11 + 1;" (assignment_expression "*(int *)(puVar36 + iVar9) = iVar11 + 1" (pointer_expression "*(int *)(puVar36 + iVar9)" * (cast_expression "(int *)(puVar36 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + iVar9)" ( (binary_expression "puVar36 + iVar9" identifier + identifier) )))) = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (if_statement "if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }" if (parenthesized_expression "(iVar11 + 1 == 0)" ( (binary_expression "iVar11 + 1 == 0" (binary_expression "iVar11 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }" { (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (if_statement "if (iVar40 <= iVar10) goto LAB_0005d558;" if (parenthesized_expression "(iVar40 <= iVar10)" ( (binary_expression "iVar40 <= iVar10" identifier <= identifier) )) (goto_statement "goto LAB_0005d558;" goto statement_identifier ;)) (expression_statement "iVar11 = param_5 + 2;" (assignment_expression "iVar11 = param_5 + 2" identifier = (binary_expression "param_5 + 2" identifier + number_literal)) ;) (expression_statement "iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;" (assignment_expression "iVar35 = *(int *)(param_4 + iVar10 * 4) + 1" identifier = (binary_expression "*(int *)(param_4 + iVar10 * 4) + 1" (pointer_expression "*(int *)(param_4 + iVar10 * 4)" * (cast_expression "(int *)(param_4 + iVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + iVar10 * 4)" ( (binary_expression "param_4 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) )))) + number_literal)) ;) (expression_statement "*(int *)(puVar36 + iVar10 * 4) = iVar35;" (assignment_expression "*(int *)(puVar36 + iVar10 * 4) = iVar35" (pointer_expression "*(int *)(puVar36 + iVar10 * 4)" * (cast_expression "(int *)(puVar36 + iVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + iVar10 * 4)" ( (binary_expression "puVar36 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "piVar22 = (int *)(puVar36 + iVar9);" (assignment_expression "piVar22 = (int *)(puVar36 + iVar9)" identifier = (cast_expression "(int *)(puVar36 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + iVar9)" ( (binary_expression "puVar36 + iVar9" identifier + identifier) )))) ;) (while_statement "while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }" while (parenthesized_expression "(iVar10 = iVar11, iVar35 == 0)" ( (comma_expression "iVar10 = iVar11, iVar35 == 0" (assignment_expression "iVar10 = iVar11" identifier = identifier) , (binary_expression "iVar35 == 0" identifier == number_literal)) )) (compound_statement "{\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }" { (if_statement "if (iVar11 == iVar40) goto LAB_0005dc80;" if (parenthesized_expression "(iVar11 == iVar40)" ( (binary_expression "iVar11 == iVar40" identifier == identifier) )) (goto_statement "goto LAB_0005dc80;" goto statement_identifier ;)) (expression_statement "piVar1 = piVar17 + 2;" (assignment_expression "piVar1 = piVar17 + 2" identifier = (binary_expression "piVar17 + 2" identifier + number_literal)) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "iVar35 = *piVar1 + 1;" (assignment_expression "iVar35 = *piVar1 + 1" identifier = (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "piVar22[2] = iVar35;" (assignment_expression "piVar22[2] = iVar35" (subscript_expression "piVar22[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) })) })) (goto_statement "goto LAB_0005d51c;" goto statement_identifier ;) })) (labeled_statement "LAB_0005dc80:\n      iVar11 = 1;" statement_identifier : (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;)) }))) (labeled_statement "LAB_0005d558:\n    *piVar21 = iVar11;" statement_identifier : (expression_statement "*piVar21 = iVar11;" (assignment_expression "*piVar21 = iVar11" (pointer_expression "*piVar21" * identifier) = identifier) ;)) (expression_statement "iVar11 = iVar40 - param_5;" (assignment_expression "iVar11 = iVar40 - param_5" identifier = (binary_expression "iVar40 - param_5" identifier - identifier)) ;) (expression_statement "piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);" (assignment_expression "piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4)" identifier = (cast_expression "(int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (param_5 + 0x3fffffff + iVar11) * 4)" ( (binary_expression "param_4 + (param_5 + 0x3fffffff + iVar11) * 4" identifier + (binary_expression "(param_5 + 0x3fffffff + iVar11) * 4" (parenthesized_expression "(param_5 + 0x3fffffff + iVar11)" ( (binary_expression "param_5 + 0x3fffffff + iVar11" (binary_expression "param_5 + 0x3fffffff" identifier + number_literal) + identifier) )) * number_literal)) )))) ;) (expression_statement "iVar10 = iVar11;" (assignment_expression "iVar10 = iVar11" identifier = identifier) ;) (do_statement "do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);" do (compound_statement "{\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    }" { (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (if_statement "if (*piVar17 != 0) goto LAB_0005d59c;" if (parenthesized_expression "(*piVar17 != 0)" ( (binary_expression "*piVar17 != 0" (pointer_expression "*piVar17" * identifier) != number_literal) )) (goto_statement "goto LAB_0005d59c;" goto statement_identifier ;)) (expression_statement "piVar17 = piVar17 + -1;" (assignment_expression "piVar17 = piVar17 + -1" identifier = (binary_expression "piVar17 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) ;) (expression_statement "puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);" (assignment_expression "puVar28 = (uint *)(param_4 + (param_5 + -1) * 4)" identifier = (cast_expression "(uint *)(param_4 + (param_5 + -1) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (param_5 + -1) * 4)" ( (binary_expression "param_4 + (param_5 + -1) * 4" identifier + (binary_expression "(param_5 + -1) * 4" (parenthesized_expression "(param_5 + -1)" ( (binary_expression "param_5 + -1" identifier + number_literal) )) * number_literal)) )))) ;) (expression_statement "iVar10 = param_5;" (assignment_expression "iVar10 = param_5" identifier = identifier) ;) (do_statement "do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);" do (compound_statement "{\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    }" { (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (if_statement "if (iVar10 < 0) goto LAB_0005d59c;" if (parenthesized_expression "(iVar10 < 0)" ( (binary_expression "iVar10 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0005d59c;" goto statement_identifier ;)) (expression_statement "uVar7 = *puVar28;" (assignment_expression "uVar7 = *puVar28" identifier = (pointer_expression "*puVar28" * identifier)) ;) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" identifier = (binary_expression "puVar28 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 == puVar28[uVar39 + 2])" ( (binary_expression "uVar7 == puVar28[uVar39 + 2]" identifier == (subscript_expression "puVar28[uVar39 + 2]" identifier [ (binary_expression "uVar39 + 2" identifier + number_literal) ])) )) ;) (if_statement "if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }" if (parenthesized_expression "(uVar7 <= puVar28[uVar39 + 2])" ( (binary_expression "uVar7 <= puVar28[uVar39 + 2]" identifier <= (subscript_expression "puVar28[uVar39 + 2]" identifier [ (binary_expression "uVar39 + 2" identifier + number_literal) ])) )) (compound_statement "{\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }" { (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar37,puVar20,param_4,param_5)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar39 = 2;" (assignment_expression "uVar39 = 2" identifier = number_literal) ;) (expression_statement "(*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);" (call_expression "(*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4)" (parenthesized_expression "(*(code *)PTR_memset_0009d2e8)" ( (pointer_expression "*(code *)PTR_memset_0009d2e8" * (cast_expression "(code *)PTR_memset_0009d2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar37 + iVar9,0,iVar11 * 4)" ( (binary_expression "puVar37 + iVar9" identifier + identifier) , number_literal , (binary_expression "iVar11 * 4" identifier * number_literal) ))) ;) (goto_statement "goto LAB_0005d5e4;" goto statement_identifier ;) })) (labeled_statement "LAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }" statement_identifier : (if_statement "if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }" { (expression_statement "iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar37,param_4,puVar20,param_5)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar10 = param_5;" (assignment_expression "iVar10 = param_5" identifier = identifier) ;) (if_statement "if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }" { (labeled_statement "LAB_0005de34:\n        bVar2 = iVar10 < iVar40;" statement_identifier : (expression_statement "bVar2 = iVar10 < iVar40;" (assignment_expression "bVar2 = iVar10 < iVar40" identifier = (binary_expression "iVar10 < iVar40" identifier < identifier)) ;)) (if_statement "if (puVar37 != param_4) goto LAB_0005d5b4;" if (parenthesized_expression "(puVar37 != param_4)" ( (binary_expression "puVar37 != param_4" identifier != identifier) )) (goto_statement "goto LAB_0005d5b4;" goto statement_identifier ;)) (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }" else (compound_statement "{\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }" { (if_statement "if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }" if (parenthesized_expression "(param_5 < iVar40)" ( (binary_expression "param_5 < iVar40" identifier < identifier) )) (compound_statement "{\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }" { (expression_statement "iVar10 = param_5 + 1;" (assignment_expression "iVar10 = param_5 + 1" identifier = (binary_expression "param_5 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = (int *)(param_4 + iVar9);" (assignment_expression "piVar17 = (int *)(param_4 + iVar9)" identifier = (cast_expression "(int *)(param_4 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + iVar9)" ( (binary_expression "param_4 + iVar9" identifier + identifier) )))) ;) (expression_statement "iVar11 = *piVar17;" (assignment_expression "iVar11 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "*(int *)(puVar37 + iVar9) = iVar11 + -1;" (assignment_expression "*(int *)(puVar37 + iVar9) = iVar11 + -1" (pointer_expression "*(int *)(puVar37 + iVar9)" * (cast_expression "(int *)(puVar37 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + iVar9)" ( (binary_expression "puVar37 + iVar9" identifier + identifier) )))) = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (if_statement "if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }" { (if_statement "if (iVar40 <= iVar10) goto LAB_0005d97c;" if (parenthesized_expression "(iVar40 <= iVar10)" ( (binary_expression "iVar40 <= iVar10" identifier <= identifier) )) (goto_statement "goto LAB_0005d97c;" goto statement_identifier ;)) (expression_statement "iVar11 = param_5 + 2;" (assignment_expression "iVar11 = param_5 + 2" identifier = (binary_expression "param_5 + 2" identifier + number_literal)) ;) (expression_statement "iVar35 = *(int *)(param_4 + iVar10 * 4);" (assignment_expression "iVar35 = *(int *)(param_4 + iVar10 * 4)" identifier = (pointer_expression "*(int *)(param_4 + iVar10 * 4)" * (cast_expression "(int *)(param_4 + iVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + iVar10 * 4)" ( (binary_expression "param_4 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) ))))) ;) (expression_statement "*(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;" (assignment_expression "*(int *)(puVar37 + iVar10 * 4) = iVar35 + -1" (pointer_expression "*(int *)(puVar37 + iVar10 * 4)" * (cast_expression "(int *)(puVar37 + iVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + iVar10 * 4)" ( (binary_expression "puVar37 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) )))) = (binary_expression "iVar35 + -1" identifier + number_literal)) ;) (expression_statement "piVar22 = (int *)(puVar37 + iVar9);" (assignment_expression "piVar22 = (int *)(puVar37 + iVar9)" identifier = (cast_expression "(int *)(puVar37 + iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + iVar9)" ( (binary_expression "puVar37 + iVar9" identifier + identifier) )))) ;) (while_statement "while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }" while (parenthesized_expression "(iVar10 = iVar11, iVar35 == 0)" ( (comma_expression "iVar10 = iVar11, iVar35 == 0" (assignment_expression "iVar10 = iVar11" identifier = identifier) , (binary_expression "iVar35 == 0" identifier == number_literal)) )) (compound_statement "{\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }" { (if_statement "if (iVar40 == iVar11) goto LAB_0005d97c;" if (parenthesized_expression "(iVar40 == iVar11)" ( (binary_expression "iVar40 == iVar11" identifier == identifier) )) (goto_statement "goto LAB_0005d97c;" goto statement_identifier ;)) (expression_statement "iVar35 = piVar17[2];" (assignment_expression "iVar35 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "piVar22[2] = iVar35 + -1;" (assignment_expression "piVar22[2] = iVar35 + -1" (subscript_expression "piVar22[2]" identifier [ number_literal ]) = (binary_expression "iVar35 + -1" identifier + number_literal)) ;) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) })) })) (goto_statement "goto LAB_0005de34;" goto statement_identifier ;) })) (labeled_statement "LAB_0005d97c:\n        uVar39 = 0;" statement_identifier : (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" identifier = number_literal) ;)) }))) (goto_statement "goto LAB_0005d980;" goto statement_identifier ;) }))) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (if_statement "if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }" if (parenthesized_expression "(puVar37 != param_4)" ( (binary_expression "puVar37 != param_4" identifier != identifier) )) (compound_statement "{\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }" { (expression_statement "bVar2 = 0 < iVar40;" (assignment_expression "bVar2 = 0 < iVar40" identifier = (binary_expression "0 < iVar40" number_literal < identifier)) ;) (labeled_statement "LAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }" statement_identifier : (if_statement "if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }" { (expression_statement "(*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);" (call_expression "(*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4)" ( (binary_expression "puVar37 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) , (binary_expression "param_4 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) , (binary_expression "(iVar40 - iVar10) * 4" (parenthesized_expression "(iVar40 - iVar10)" ( (binary_expression "iVar40 - iVar10" identifier - identifier) )) * number_literal) ))) ;) }))) (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005d5e4;" goto statement_identifier ;) })) (if_statement "if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }" if (parenthesized_expression "((puVar36 != puVar46) && (0 < iVar43))" ( (binary_expression "(puVar36 != puVar46) && (0 < iVar43)" (parenthesized_expression "(puVar36 != puVar46)" ( (binary_expression "puVar36 != puVar46" identifier != identifier) )) && (parenthesized_expression "(0 < iVar43)" ( (binary_expression "0 < iVar43" number_literal < identifier) ))) )) (compound_statement "{\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005d600;" goto statement_identifier ;) })) (labeled_statement "LAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }" statement_identifier : (if_statement "if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }" if (parenthesized_expression "(param_5 < iVar40)" ( (binary_expression "param_5 < iVar40" identifier < identifier) )) (compound_statement "{\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }" { (expression_statement "iVar4 = iVar40 - param_5;" (assignment_expression "iVar4 = iVar40 - param_5" identifier = (binary_expression "iVar40 - param_5" identifier - identifier)) ;) (expression_statement "piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);" (assignment_expression "piVar17 = (int *)(puVar37 + iVar40 * 4 + -4)" identifier = (cast_expression "(int *)(puVar37 + iVar40 * 4 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + iVar40 * 4 + -4)" ( (binary_expression "puVar37 + iVar40 * 4 + -4" (binary_expression "puVar37 + iVar40 * 4" identifier + (binary_expression "iVar40 * 4" identifier * number_literal)) + number_literal) )))) ;) (do_statement "do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);" do (compound_statement "{\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      }" { (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (if_statement "if (*piVar17 != 0) goto LAB_0005da5c;" if (parenthesized_expression "(*piVar17 != 0)" ( (binary_expression "*piVar17 != 0" (pointer_expression "*piVar17" * identifier) != number_literal) )) (goto_statement "goto LAB_0005da5c;" goto statement_identifier ;)) (expression_statement "piVar17 = piVar17 + -1;" (assignment_expression "piVar17 = piVar17 + -1" identifier = (binary_expression "piVar17 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) (expression_statement "puVar27 = puVar37 + param_5 * 4;" (assignment_expression "puVar27 = puVar37 + param_5 * 4" identifier = (binary_expression "puVar37 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal))) ;) (expression_statement "puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);" (assignment_expression "puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41)" identifier = (cast_expression "(uint *)(param_4 + (param_5 + -1) * 4 + iVar41)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (param_5 + -1) * 4 + iVar41)" ( (binary_expression "param_4 + (param_5 + -1) * 4 + iVar41" (binary_expression "param_4 + (param_5 + -1) * 4" identifier + (binary_expression "(param_5 + -1) * 4" (parenthesized_expression "(param_5 + -1)" ( (binary_expression "param_5 + -1" identifier + number_literal) )) * number_literal)) + identifier) )))) ;) (expression_statement "iVar4 = param_5;" (assignment_expression "iVar4 = param_5" identifier = identifier) ;) (do_statement "do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);" do (compound_statement "{\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      }" { (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (if_statement "if (iVar4 < 0) goto LAB_0005da5c;" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0005da5c;" goto statement_identifier ;)) (expression_statement "puVar33 = (uint *)(puVar27 + -4);" (assignment_expression "puVar33 = (uint *)(puVar27 + -4)" identifier = (cast_expression "(uint *)(puVar27 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -4)" ( (binary_expression "puVar27 + -4" identifier + number_literal) )))) ;) (expression_statement "uVar39 = *puVar28;" (assignment_expression "uVar39 = *puVar28" identifier = (pointer_expression "*puVar28" * identifier)) ;) (expression_statement "puVar27 = puVar27 + -4;" (assignment_expression "puVar27 = puVar27 + -4" identifier = (binary_expression "puVar27 + -4" identifier + number_literal)) ;) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" identifier = (binary_expression "puVar28 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*puVar33 == uVar39)" ( (binary_expression "*puVar33 == uVar39" (pointer_expression "*puVar33" * identifier) == identifier) )) ;) (if_statement "if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }" if (parenthesized_expression "(uVar39 < *puVar33)" ( (binary_expression "uVar39 < *puVar33" identifier < (pointer_expression "*puVar33" * identifier)) )) (compound_statement "{\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" { (labeled_statement "LAB_0005da5c:\n        iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) (if_statement "if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }" { (labeled_statement "LAB_0005da64:\n          bVar2 = iVar4 < iVar40;" statement_identifier : (expression_statement "bVar2 = iVar4 < iVar40;" (assignment_expression "bVar2 = iVar4 < iVar40" identifier = (binary_expression "iVar4 < iVar40" identifier < identifier)) ;)) (if_statement "if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }" if (parenthesized_expression "((puVar37 != puVar47) && (bVar2))" ( (binary_expression "(puVar37 != puVar47) && (bVar2)" (parenthesized_expression "(puVar37 != puVar47)" ( (binary_expression "puVar37 != puVar47" identifier != identifier) )) && (parenthesized_expression "(bVar2)" ( identifier ))) )) (compound_statement "{\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }" { (labeled_statement "LAB_0005da78:\n            iVar9 = 4;" statement_identifier : (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" identifier = number_literal) ;)) (if_statement "if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n              iVar9 = (iVar40 - iVar4) * 4;\n            }" { (expression_statement "iVar9 = (iVar40 - iVar4) * 4;" (assignment_expression "iVar9 = (iVar40 - iVar4) * 4" identifier = (binary_expression "(iVar40 - iVar4) * 4" (parenthesized_expression "(iVar40 - iVar4)" ( (binary_expression "iVar40 - iVar4" identifier - identifier) )) * number_literal)) ;) })) (expression_statement "(*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);" (call_expression "(*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" ( (pointer_expression "*(code *)PTR_memcpy_0009d544" * (cast_expression "(code *)PTR_memcpy_0009d544" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9)" ( (binary_expression "puVar47 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) , (binary_expression "puVar37 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) , identifier ))) ;) })) }) (else_clause "else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }" else (compound_statement "{\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }" { (expression_statement "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47,puVar37,puVar20,param_5)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar4 = param_5;" (assignment_expression "iVar4 = param_5" identifier = identifier) ;) (if_statement "if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }" { (expression_statement "piVar22 = (int *)(puVar37 + param_5 * 4);" (assignment_expression "piVar22 = (int *)(puVar37 + param_5 * 4)" identifier = (cast_expression "(int *)(puVar37 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + param_5 * 4)" ( (binary_expression "puVar37 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) ;) (expression_statement "piVar17 = (int *)(puVar47 + param_5 * 4);" (assignment_expression "piVar17 = (int *)(puVar47 + param_5 * 4)" identifier = (cast_expression "(int *)(puVar47 + param_5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + param_5 * 4)" ( (binary_expression "puVar47 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) )))) ;) (do_statement "do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);" do (compound_statement "{\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            }" { (expression_statement "iVar9 = *piVar22;" (assignment_expression "iVar9 = *piVar22" identifier = (pointer_expression "*piVar22" * identifier)) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*piVar17 = iVar9 + -1;" (assignment_expression "*piVar17 = iVar9 + -1" (pointer_expression "*piVar17" * identifier) = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (if_statement "if (iVar9 != 0) goto LAB_0005da64;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0005da64;" goto statement_identifier ;)) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" identifier = (binary_expression "piVar22 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar40 != iVar4)" ( (binary_expression "iVar40 != iVar4" identifier != identifier) )) ;) (expression_statement "*(undefined4 *)(puVar47 + iVar41) = 0;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = 0" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" * (cast_expression "(undefined4 *)(puVar47 + iVar41)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + iVar41)" ( (binary_expression "puVar47 + iVar41" identifier + identifier) )))) = number_literal) ;) (goto_statement "goto LAB_0005d68c;" goto statement_identifier ;) })) (expression_statement "bVar2 = param_5 < iVar40;" (assignment_expression "bVar2 = param_5 < iVar40" identifier = (binary_expression "param_5 < iVar40" identifier < identifier)) ;) (if_statement "if (puVar37 != puVar47) goto LAB_0005da78;" if (parenthesized_expression "(puVar37 != puVar47)" ( (binary_expression "puVar37 != puVar47" identifier != identifier) )) (goto_statement "goto LAB_0005da78;" goto statement_identifier ;)) }))) (expression_statement "*(undefined4 *)(puVar47 + iVar41) = 0;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = 0" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" * (cast_expression "(undefined4 *)(puVar47 + iVar41)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + iVar41)" ( (binary_expression "puVar47 + iVar41" identifier + identifier) )))) = number_literal) ;) }) (else_clause "else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }" else (compound_statement "{\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }" { (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47,puVar20,puVar37,param_5)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_64 = local_64 ^ 1;" (assignment_expression "local_64 = local_64 ^ 1" identifier = (binary_expression "local_64 ^ 1" identifier ^ number_literal)) ;) (if_statement "if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }" if (parenthesized_expression "(iVar43 != param_5)" ( (binary_expression "iVar43 != param_5" identifier != identifier) )) (compound_statement "{\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }" { (expression_statement "(*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);" (call_expression "(*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4)" (parenthesized_expression "(*(code *)PTR_memset_0009d2e8)" ( (pointer_expression "*(code *)PTR_memset_0009d2e8" * (cast_expression "(code *)PTR_memset_0009d2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4)" ( (binary_expression "puVar47 + param_5 * 4" identifier + (binary_expression "param_5 * 4" identifier * number_literal)) , number_literal , (binary_expression "(iVar43 - param_5) * 4" (parenthesized_expression "(iVar43 - param_5)" ( (binary_expression "iVar43 - param_5" identifier - identifier) )) * number_literal) ))) ;) })) }))) }) (else_clause "else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }" else (compound_statement "{\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }" { (expression_statement "puVar27 = puVar37 + iVar4 + -4;" (assignment_expression "puVar27 = puVar37 + iVar4 + -4" identifier = (binary_expression "puVar37 + iVar4 + -4" (binary_expression "puVar37 + iVar4" identifier + identifier) + number_literal)) ;) (expression_statement "puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);" (assignment_expression "puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41)" identifier = (cast_expression "(uint *)(param_4 + iVar4 + -8 + iVar41)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + iVar4 + -8 + iVar41)" ( (binary_expression "param_4 + iVar4 + -8 + iVar41" (binary_expression "param_4 + iVar4 + -8" (binary_expression "param_4 + iVar4" identifier + identifier) + number_literal) + identifier) )))) ;) (expression_statement "iVar4 = iVar40;" (assignment_expression "iVar4 = iVar40" identifier = identifier) ;) (do_statement "do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);" do (compound_statement "{\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      }" { (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (if_statement "if (iVar4 < 0) goto LAB_0005dccc;" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0005dccc;" goto statement_identifier ;)) (expression_statement "puVar33 = (uint *)(puVar27 + -4);" (assignment_expression "puVar33 = (uint *)(puVar27 + -4)" identifier = (cast_expression "(uint *)(puVar27 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -4)" ( (binary_expression "puVar27 + -4" identifier + number_literal) )))) ;) (expression_statement "uVar39 = *puVar28;" (assignment_expression "uVar39 = *puVar28" identifier = (pointer_expression "*puVar28" * identifier)) ;) (expression_statement "puVar27 = puVar27 + -4;" (assignment_expression "puVar27 = puVar27 + -4" identifier = (binary_expression "puVar27 + -4" identifier + number_literal)) ;) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" identifier = (binary_expression "puVar28 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*puVar33 == uVar39)" ( (binary_expression "*puVar33 == uVar39" (pointer_expression "*puVar33" * identifier) == identifier) )) ;) (if_statement "if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" if (parenthesized_expression "(uVar39 < *puVar33)" ( (binary_expression "uVar39 < *puVar33" identifier < (pointer_expression "*puVar33" * identifier)) )) (compound_statement "{\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" { (labeled_statement "LAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);" statement_identifier : (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47,puVar37,puVar20,iVar40)" ( identifier , identifier , identifier , identifier ))) ;)) (expression_statement "*(undefined4 *)(puVar47 + iVar41) = 0;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = 0" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" * (cast_expression "(undefined4 *)(puVar47 + iVar41)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + iVar41)" ( (binary_expression "puVar47 + iVar41" identifier + identifier) )))) = number_literal) ;) }) (else_clause "else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" else (compound_statement "{\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" { (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar47,puVar20,puVar37,iVar40)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_64 = local_64 ^ 1;" (assignment_expression "local_64 = local_64 ^ 1" identifier = (binary_expression "local_64 ^ 1" identifier ^ number_literal)) ;) (expression_statement "*(undefined4 *)(puVar47 + iVar41) = 0;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = 0" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" * (cast_expression "(undefined4 *)(puVar47 + iVar41)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar47 + iVar41)" ( (binary_expression "puVar47 + iVar41" identifier + identifier) )))) = number_literal) ;) }))) })))) }))) (labeled_statement "LAB_0005d68c:\n  iVar9 = *piVar21;" statement_identifier : (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;)) (expression_statement "iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40);" (assignment_expression "iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,puVar36,param_4,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "*(int *)(puVar6 + iVar41) = iVar9 + iVar4;" (assignment_expression "*(int *)(puVar6 + iVar41) = iVar9 + iVar4" (pointer_expression "*(int *)(puVar6 + iVar41)" * (cast_expression "(int *)(puVar6 + iVar41)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + iVar41)" ( (binary_expression "puVar6 + iVar41" identifier + identifier) )))) = (binary_expression "iVar9 + iVar4" identifier + identifier)) ;) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" ( (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" * (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43)" ( identifier , (binary_expression "&stack0xffffff68 + uVar5 * -3" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar5 * -3" identifier * number_literal)) , identifier , identifier ))) ;) (expression_statement "iVar9 = param_6 + iVar38 + 4;" (assignment_expression "iVar9 = param_6 + iVar38 + 4" identifier = (binary_expression "param_6 + iVar38 + 4" (binary_expression "param_6 + iVar38" identifier + identifier) + number_literal)) ;) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" ( (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" * (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43)" ( identifier , (binary_expression "&stack0xffffff68 + uVar5 * -4" (pointer_expression "&stack0xffffff68" & identifier) + (binary_expression "uVar5 * -4" identifier * number_literal)) , identifier , identifier ))) ;) (expression_statement "iVar10 = param_6 + iVar40 * 0x10 + 8;" (assignment_expression "iVar10 = param_6 + iVar40 * 0x10 + 8" identifier = (binary_expression "param_6 + iVar40 * 0x10 + 8" (binary_expression "param_6 + iVar40 * 0x10" identifier + (binary_expression "iVar40 * 0x10" identifier * number_literal)) + number_literal)) ;) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" ( (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" * (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10,puVar42,puVar6,iVar43)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = param_6 + iVar40 * 0x18 + 0xc;" (assignment_expression "iVar4 = param_6 + iVar40 * 0x18 + 0xc" identifier = (binary_expression "param_6 + iVar40 * 0x18 + 0xc" (binary_expression "param_6 + iVar40 * 0x18" identifier + (binary_expression "iVar40 * 0x18" identifier * number_literal)) + number_literal)) ;) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" ( (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" * (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,puVar29,puVar37,iVar40)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (*(int *)(puVar29 + iVar41) == 1) {\n    iVar11 = param_6 + iVar40 * 0x1c + 0xc;\n    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);\n  }\n  else if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }" if (parenthesized_expression "(*(int *)(puVar29 + iVar41) == 1)" ( (binary_expression "*(int *)(puVar29 + iVar41) == 1" (pointer_expression "*(int *)(puVar29 + iVar41)" * (cast_expression "(int *)(puVar29 + iVar41)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + iVar41)" ( (binary_expression "puVar29 + iVar41" identifier + identifier) )))) == number_literal) )) (compound_statement "{\n    iVar11 = param_6 + iVar40 * 0x1c + 0xc;\n    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);\n  }" { (expression_statement "iVar11 = param_6 + iVar40 * 0x1c + 0xc;" (assignment_expression "iVar11 = param_6 + iVar40 * 0x1c + 0xc" identifier = (binary_expression "param_6 + iVar40 * 0x1c + 0xc" (binary_expression "param_6 + iVar40 * 0x1c" identifier + (binary_expression "iVar40 * 0x1c" identifier * number_literal)) + number_literal)) ;) (expression_statement "uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);" (assignment_expression "uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar11,iVar11,puVar37,iVar40)" ( identifier , identifier , identifier , identifier )))) ;) }) (else_clause "else if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }" else (if_statement "if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }" if (parenthesized_expression "(*(int *)(puVar29 + iVar41) == 2)" ( (binary_expression "*(int *)(puVar29 + iVar41) == 2" (pointer_expression "*(int *)(puVar29 + iVar41)" * (cast_expression "(int *)(puVar29 + iVar41)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + iVar41)" ( (binary_expression "puVar29 + iVar41" identifier + identifier) )))) == number_literal) )) (compound_statement "{\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }" { (expression_statement "uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;" (assignment_expression "uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)" identifier = (call_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)" (parenthesized_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)" ( (pointer_expression "*(code *)PTR___gmpn_addmul_1_0009d0d0" * (cast_expression "(code *)PTR___gmpn_addmul_1_0009d0d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)" ( (binary_expression "param_6 + iVar40 * 0x1c + 0xc" (binary_expression "param_6 + iVar40 * 0x1c" identifier + (binary_expression "iVar40 * 0x1c" identifier * number_literal)) + number_literal) , identifier , identifier , number_literal )))) ;) }) (else_clause "else {\n    uVar18 = 0;\n  }" else (compound_statement "{\n    uVar18 = 0;\n  }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }))))) (expression_statement "puVar50 = PTR___gmpn_mul_n_0009d364;" (assignment_expression "puVar50 = PTR___gmpn_mul_n_0009d364" identifier = identifier) ;) (expression_statement "*(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18;" (assignment_expression "*(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18" (pointer_expression "*(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc)" * (cast_expression "(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + iVar40 * 0x20 + 0xc)" ( (binary_expression "param_6 + iVar40 * 0x20 + 0xc" (binary_expression "param_6 + iVar40 * 0x20" identifier + (binary_expression "iVar40 * 0x20" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "(*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40);" (call_expression "(*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40)" (parenthesized_expression "(*(code *)puVar50)" ( (pointer_expression "*(code *)puVar50" * (cast_expression "(code *)puVar50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + iVar38,puVar26,puVar36,iVar40)" ( (binary_expression "param_1 + iVar38" identifier + identifier) , identifier , identifier , identifier ))) ;) (expression_statement "iVar11 = *(int *)(puVar26 + iVar41);" (assignment_expression "iVar11 = *(int *)(puVar26 + iVar41)" identifier = (pointer_expression "*(int *)(puVar26 + iVar41)" * (cast_expression "(int *)(puVar26 + iVar41)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + iVar41)" ( (binary_expression "puVar26 + iVar41" identifier + identifier) ))))) ;) (if_statement "if (iVar11 == 1) {\n    iVar11 = *piVar21;\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);\n    iVar11 = iVar11 + iVar35;\n    iVar35 = *piVar21;\n  }\n  else {\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }" if (parenthesized_expression "(iVar11 == 1)" ( (binary_expression "iVar11 == 1" identifier == number_literal) )) (compound_statement "{\n    iVar11 = *piVar21;\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);\n    iVar11 = iVar11 + iVar35;\n    iVar35 = *piVar21;\n  }" { (expression_statement "iVar11 = *piVar21;" (assignment_expression "iVar11 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);" (assignment_expression "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40)" ( (binary_expression "param_1 + iVar13" identifier + identifier) , (binary_expression "param_1 + iVar13" identifier + identifier) , identifier , identifier )))) ;) (expression_statement "iVar11 = iVar11 + iVar35;" (assignment_expression "iVar11 = iVar11 + iVar35" identifier = (binary_expression "iVar11 + iVar35" identifier + identifier)) ;) (expression_statement "iVar35 = *piVar21;" (assignment_expression "iVar35 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) }) (else_clause "else {\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }" else (compound_statement "{\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }" { (expression_statement "iVar35 = *piVar21;" (assignment_expression "iVar35 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (if_statement "if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }" if (parenthesized_expression "(iVar11 == 2)" ( (binary_expression "iVar11 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }" { (expression_statement "iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);" (assignment_expression "iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2)" identifier = (call_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2)" (parenthesized_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)" ( (pointer_expression "*(code *)PTR___gmpn_addmul_1_0009d0d0" * (cast_expression "(code *)PTR___gmpn_addmul_1_0009d0d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + iVar13,puVar36,iVar40,2)" ( (binary_expression "param_1 + iVar13" identifier + identifier) , identifier , identifier , number_literal )))) ;) (expression_statement "iVar11 = iVar35 * 2;" (assignment_expression "iVar11 = iVar35 * 2" identifier = (binary_expression "iVar35 * 2" identifier * number_literal)) ;) (expression_statement "iVar35 = *piVar21;" (assignment_expression "iVar35 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "iVar11 = iVar11 + iVar12;" (assignment_expression "iVar11 = iVar11 + iVar12" identifier = (binary_expression "iVar11 + iVar12" identifier + identifier)) ;) }) (else_clause "else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }" else (compound_statement "{\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }" { (expression_statement "iVar12 = iVar11 * iVar35;" (assignment_expression "iVar12 = iVar11 * iVar35" identifier = (binary_expression "iVar11 * iVar35" identifier * identifier)) ;) (if_statement "if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }" { (expression_statement "iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11)" identifier = (call_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11)" (parenthesized_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)" ( (pointer_expression "*(code *)PTR___gmpn_addmul_1_0009d0d0" * (cast_expression "(code *)PTR___gmpn_addmul_1_0009d0d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + iVar13,puVar36,iVar40,iVar11)" ( (binary_expression "param_1 + iVar13" identifier + identifier) , identifier , identifier , identifier )))) ;) (expression_statement "iVar35 = *piVar21;" (assignment_expression "iVar35 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "iVar11 = iVar12 + iVar11;" (assignment_expression "iVar11 = iVar12 + iVar11" identifier = (binary_expression "iVar12 + iVar11" identifier + identifier)) ;) })) }))) }))) (if_statement "if (iVar35 != 0) {\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);\n    iVar11 = iVar11 + iVar35;\n  }" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);\n    iVar11 = iVar11 + iVar35;\n  }" { (expression_statement "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);" (assignment_expression "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40)" ( (binary_expression "param_1 + iVar13" identifier + identifier) , (binary_expression "param_1 + iVar13" identifier + identifier) , identifier , identifier )))) ;) (expression_statement "iVar11 = iVar11 + iVar35;" (assignment_expression "iVar11 = iVar11 + iVar35" identifier = (binary_expression "iVar11 + iVar35" identifier + identifier)) ;) })) (expression_statement "puVar50 = PTR___gmpn_mul_n_0009d364;" (assignment_expression "puVar50 = PTR___gmpn_mul_n_0009d364" identifier = identifier) ;) (expression_statement "piVar21 = (int *)(param_1 + iVar38 + iVar38);" (assignment_expression "piVar21 = (int *)(param_1 + iVar38 + iVar38)" identifier = (cast_expression "(int *)(param_1 + iVar38 + iVar38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + iVar38 + iVar38)" ( (binary_expression "param_1 + iVar38 + iVar38" (binary_expression "param_1 + iVar38" identifier + identifier) + identifier) )))) ;) (expression_statement "*piVar21 = iVar11;" (assignment_expression "*piVar21 = iVar11" (pointer_expression "*piVar21" * identifier) = identifier) ;) (expression_statement "(*(code *)puVar50)(param_1,param_2,param_4,iVar40);" (call_expression "(*(code *)puVar50)(param_1,param_2,param_4,iVar40)" (parenthesized_expression "(*(code *)puVar50)" ( (pointer_expression "*(code *)puVar50" * (cast_expression "(code *)puVar50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,param_4,iVar40)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (param_5 < param_3) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }" if (parenthesized_expression "(param_5 < param_3)" ( (binary_expression "param_5 < param_3" identifier < identifier) )) (compound_statement "{\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);\n  }" { (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "(*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);" (call_expression "(*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_0009d2b4)" ( (pointer_expression "*(code *)PTR___gmpn_mul_0009d2b4" * (cast_expression "(code *)PTR___gmpn_mul_0009d2b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar21 + iVar40 * 2,iVar44,param_3,puVar20)" ( (binary_expression "piVar21 + iVar40 * 2" identifier + (binary_expression "iVar40 * 2" identifier * number_literal)) , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }" else (compound_statement "{\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }" { (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "(*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);" (call_expression "(*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_0009d2b4)" ( (pointer_expression "*(code *)PTR___gmpn_mul_0009d2b4" * (cast_expression "(code *)PTR___gmpn_mul_0009d2b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar21 + iVar40 * 2,puVar20,param_5,iVar44)" ( (binary_expression "piVar21 + iVar40 * 2" identifier + (binary_expression "iVar40 * 2" identifier * number_literal)) , identifier , identifier , identifier ))) ;) }))) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "iVar13 = param_6 + iVar40 * 0x20 + 0x10;" (assignment_expression "iVar13 = param_6 + iVar40 * 0x20 + 0x10" identifier = (binary_expression "param_6 + iVar40 * 0x20 + 0x10" (binary_expression "param_6 + iVar40 * 0x20" identifier + (binary_expression "iVar40 * 0x20" identifier * number_literal)) + number_literal)) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "param_3 + param_5" identifier + identifier)) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "iVar35 = iVar40;" (assignment_expression "iVar35 = iVar40" identifier = identifier) ;) (expression_statement "iVar12 = iVar9;" (assignment_expression "iVar12 = iVar9" identifier = identifier) ;) (expression_statement "(*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();" (call_expression "(*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)()" (parenthesized_expression "(*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)" ( (pointer_expression "*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8" * (cast_expression "(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar19 == *(int *)puVar48) {\n    return;\n  }" if (parenthesized_expression "(iVar19 == *(int *)puVar48)" ( (binary_expression "iVar19 == *(int *)puVar48" identifier == (pointer_expression "*(int *)puVar48" * (cast_expression "(int *)puVar48" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "uVar18 = 0x5e16c;" (assignment_expression "uVar18 = 0x5e16c" identifier = number_literal) ;) (expression_statement "puVar48 = PTR___stack_chk_fail_0009d4d0;" (assignment_expression "puVar48 = PTR___stack_chk_fail_0009d4d0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0009d4d0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0009d4d0" * (cast_expression "(code *)PTR___stack_chk_fail_0009d4d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar50 = puVar48 + 0x46ed0;" (assignment_expression "puVar50 = puVar48 + 0x46ed0" identifier = (binary_expression "puVar48 + 0x46ed0" identifier + number_literal)) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x20)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x20" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x14)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x14" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64;" (assignment_expression "*(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64" (pointer_expression "*(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "local_64 + 2" identifier + number_literal)) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -8)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -8" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x1c" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "param_3 + param_5" identifier + identifier)) ;) (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21;" (assignment_expression "*(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21" (pointer_expression "*(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10)" * (cast_expression "(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x10)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x10" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50;" (assignment_expression "*(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50" (pointer_expression "*(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0xc)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0xc" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18;" (assignment_expression "*(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18" (pointer_expression "*(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9)" * (cast_expression "(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_c4 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)&uStack_c4 + iVar3 + uVar5 * -9" (binary_expression "(int)&uStack_c4 + iVar3" (cast_expression "(int)&uStack_c4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_c4" & identifier)) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0;" (assignment_expression "*(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0" (pointer_expression "*(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9)" * (cast_expression "(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "uVar39 = (local_64 + 2) / 3;" (assignment_expression "uVar39 = (local_64 + 2) / 3" identifier = (binary_expression "(local_64 + 2) / 3" (parenthesized_expression "(local_64 + 2)" ( (binary_expression "local_64 + 2" identifier + number_literal) )) / number_literal)) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -4)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -4" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x18)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x18" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "iVar10 = uVar39 + 1;" (assignment_expression "iVar10 = uVar39 + 1" identifier = (binary_expression "uVar39 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "uVar7 = iVar19 + uVar39 * -2;" (assignment_expression "uVar7 = iVar19 + uVar39 * -2" identifier = (binary_expression "iVar19 + uVar39 * -2" identifier + (binary_expression "uVar39 * -2" identifier * number_literal))) ;) (expression_statement "iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc);" (assignment_expression "iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar19 = iVar10 * 8;" (assignment_expression "iVar19 = iVar10 * 8" identifier = (binary_expression "iVar10 * 8" identifier * number_literal)) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x2c" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar10 * 0x10" identifier * number_literal)) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar4 + uVar39 * -2" identifier + (binary_expression "uVar39 * -2" identifier * number_literal))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar9 + iVar10 * 0xc" identifier + (binary_expression "iVar10 * 0xc" identifier * number_literal))) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x34" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar19 + -8" identifier + number_literal)) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar9 + iVar10 * 0x10" identifier + (binary_expression "iVar10 * 0x10" identifier * number_literal))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "param_1 + iVar19" identifier + identifier)) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar10 * 4" identifier * number_literal)) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar9 + iVar19" identifier + identifier)) ;) (expression_statement "iVar4 = param_1 + iVar10 * 4;" (assignment_expression "iVar4 = param_1 + iVar10 * 4" identifier = (binary_expression "param_1 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar35 + iVar19 + -8" (binary_expression "iVar35 + iVar19" identifier + identifier) + number_literal)) ;) (if_statement "if (uVar7 == 0) {\n    uVar8 = 0;\nLAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\nLAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);\n    piVar21 = (int *)(iVar11 + iVar35);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar11 = iVar9 + iVar35;\n    *piVar21 = iVar19;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);\n    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n    *puVar45 = 0;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar8 = 0;\nLAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\nLAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);\n    piVar21 = (int *)(iVar11 + iVar35);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar11 = iVar9 + iVar35;\n    *piVar21 = iVar19;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);\n    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n    *puVar45 = 0;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n  }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);" statement_identifier : (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) ))))) ;)) (labeled_statement "LAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }" statement_identifier : (if_statement "if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }" if (parenthesized_expression "((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8))" ( (binary_expression "(iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)" (parenthesized_expression "(iVar9 == iVar19)" ( (binary_expression "iVar9 == iVar19" identifier == identifier) )) || (parenthesized_expression "((int)uVar39 <= (int)uVar8)" ( (binary_expression "(int)uVar39 <= (int)uVar8" (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }" { (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" identifier = (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }" else (compound_statement "{\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }" { (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) ))))) ;) (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" identifier = (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + number_literal)) ;) (expression_statement "puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);" (assignment_expression "puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);" (assignment_expression "puVar45 = (undefined4 *)(iVar9 + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(iVar9 + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + uVar8 * 4)" ( (binary_expression "iVar9 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (do_statement "do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));" do (compound_statement "{\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      }" { (expression_statement "uVar18 = *puVar23;" (assignment_expression "uVar18 = *puVar23" identifier = (pointer_expression "*puVar23" * identifier)) ;) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) (expression_statement "*puVar45 = uVar18;" (assignment_expression "*puVar45 = uVar18" (pointer_expression "*puVar45" * identifier) = identifier) ;) (expression_statement "puVar45 = puVar45 + 1;" (assignment_expression "puVar45 = puVar45 + 1" identifier = (binary_expression "puVar45 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar23 != (undefined4 *)(iVar19 + iVar35))" ( (binary_expression "puVar23 != (undefined4 *)(iVar19 + iVar35)" identifier != (cast_expression "(undefined4 *)(iVar19 + iVar35)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar35)" ( (binary_expression "iVar19 + iVar35" identifier + identifier) )))) )) ;) })))) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;" (assignment_expression "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35" identifier = (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) + identifier)) ;) (expression_statement "iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);" (assignment_expression "iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39)" identifier = (call_expression "(**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39)" (parenthesized_expression "(**(code **)(puVar50 + -0x7d0c))" ( (pointer_expression "**(code **)(puVar50 + -0x7d0c)" * (pointer_expression "*(code **)(puVar50 + -0x7d0c)" * (cast_expression "(code **)(puVar50 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar50 + -0x7d0c)" ( (binary_expression "puVar50 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(iVar11,iVar9,iVar13,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "piVar21 = (int *)(iVar11 + iVar35);" (assignment_expression "piVar21 = (int *)(iVar11 + iVar35)" identifier = (cast_expression "(int *)(iVar11 + iVar35)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar35)" ( (binary_expression "iVar11 + iVar35" identifier + identifier) )))) ;) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar11 = iVar9 + iVar35;" (assignment_expression "iVar11 = iVar9 + iVar35" identifier = (binary_expression "iVar9 + iVar35" identifier + identifier)) ;) (expression_statement "*piVar21 = iVar19;" (assignment_expression "*piVar21 = iVar19" (pointer_expression "*piVar21" * identifier) = identifier) ;) (expression_statement "puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);" (assignment_expression "puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35)" identifier = (cast_expression "(uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35" (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) + (binary_expression "(uVar39 - 1) * 4" (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) )) * number_literal)) + identifier) )))) ;) (expression_statement "uVar8 = uVar39;" (assignment_expression "uVar8 = uVar39" identifier = identifier) ;) (do_statement "do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);" do (compound_statement "{\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    }" { (expression_statement "uVar8 = uVar8 - 1;" (assignment_expression "uVar8 = uVar8 - 1" identifier = (binary_expression "uVar8 - 1" identifier - number_literal)) ;) (if_statement "if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }" if (parenthesized_expression "(uVar8 == 0xffffffff)" ( (binary_expression "uVar8 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }" { (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar19 + iVar35" identifier + identifier)) ;) (goto_statement "goto LAB_0005e31c;" goto statement_identifier ;) })) (expression_statement "uVar24 = *(uint *)(iVar11 + -4);" (assignment_expression "uVar24 = *(uint *)(iVar11 + -4)" identifier = (pointer_expression "*(uint *)(iVar11 + -4)" * (cast_expression "(uint *)(iVar11 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + -4)" ( (binary_expression "iVar11 + -4" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *puVar28;" (assignment_expression "uVar30 = *puVar28" identifier = (pointer_expression "*puVar28" * identifier)) ;) (expression_statement "iVar11 = iVar11 + -4;" (assignment_expression "iVar11 = iVar11 + -4" identifier = (binary_expression "iVar11 + -4" identifier + number_literal)) ;) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" identifier = (binary_expression "puVar28 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar24 == uVar30)" ( (binary_expression "uVar24 == uVar30" identifier == identifier) )) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier)) ;) (if_statement "if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }" if (parenthesized_expression "(uVar30 < uVar24)" ( (binary_expression "uVar30 < uVar24" identifier < identifier) )) (compound_statement "{\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }" { (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0005e31c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);" (call_expression "(**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39)" (parenthesized_expression "(**(code **)(iVar12 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar12 + -0x7b2c)" * (pointer_expression "*(code **)(iVar12 + -0x7b2c)" * (cast_expression "(code **)(iVar12 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + -0x7b2c)" ( (binary_expression "iVar12 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39)" ( (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier , identifier ))) ;) (expression_statement "puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" identifier = (pointer_expression "*(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*puVar45 = 0;" (assignment_expression "*puVar45 = 0" (pointer_expression "*puVar45" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }" else (compound_statement "{\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }" { (expression_statement "iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);" (assignment_expression "iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9)" identifier = (call_expression "(**(code **)(puVar48 + 0x3f1c4))(iVar9)" (parenthesized_expression "(**(code **)(puVar48 + 0x3f1c4))" ( (pointer_expression "**(code **)(puVar48 + 0x3f1c4)" * (pointer_expression "*(code **)(puVar48 + 0x3f1c4)" * (cast_expression "(code **)(puVar48 + 0x3f1c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar48 + 0x3f1c4)" ( (binary_expression "puVar48 + 0x3f1c4" identifier + number_literal) ))))) )) (argument_list "(iVar9)" ( identifier )))) ;) (expression_statement "puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar8 = uVar7;" (assignment_expression "uVar8 = uVar7" identifier = identifier) ;) (if_statement "if (iVar19 == 0) goto LAB_0005e258;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005e258;" goto statement_identifier ;)) (if_statement "if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }" if (parenthesized_expression "((int)uVar7 < (int)uVar39)" ( (binary_expression "(int)uVar7 < (int)uVar39" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }" { (expression_statement "uVar24 = uVar7 + 1;" (assignment_expression "uVar24 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);" (assignment_expression "piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4)" identifier = (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) ;) (expression_statement "piVar21 = (int *)(iVar9 + uVar7 * 4);" (assignment_expression "piVar21 = (int *)(iVar9 + uVar7 * 4)" identifier = (cast_expression "(int *)(iVar9 + uVar7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + uVar7 * 4)" ( (binary_expression "iVar9 + uVar7 * 4" identifier + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar19 = *piVar17;" (assignment_expression "iVar19 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "*piVar21 = iVar19 + 1;" (assignment_expression "*piVar21 = iVar19 + 1" (pointer_expression "*piVar21" * identifier) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar24;" (assignment_expression "uVar8 = uVar24" identifier = identifier) ;) (if_statement "if (iVar19 + 1 != 0) goto LAB_0005e258;" if (parenthesized_expression "(iVar19 + 1 != 0)" ( (binary_expression "iVar19 + 1 != 0" (binary_expression "iVar19 + 1" identifier + number_literal) != number_literal) )) (goto_statement "goto LAB_0005e258;" goto statement_identifier ;)) (if_statement "if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;" if (parenthesized_expression "((int)uVar39 <= (int)uVar24)" ( (binary_expression "(int)uVar39 <= (int)uVar24" (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0005eac8;" goto statement_identifier ;)) (expression_statement "uVar8 = uVar7 + 2;" (assignment_expression "uVar8 = uVar7 + 2" identifier = (binary_expression "uVar7 + 2" identifier + number_literal)) ;) (expression_statement "iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;" (assignment_expression "iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1" identifier = (binary_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1" (pointer_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4)" * (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) + (binary_expression "uVar24 * 4" identifier * number_literal)) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar9 + uVar24 * 4) = iVar19;" (assignment_expression "*(int *)(iVar9 + uVar24 * 4) = iVar19" (pointer_expression "*(int *)(iVar9 + uVar24 * 4)" * (cast_expression "(int *)(iVar9 + uVar24 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + uVar24 * 4)" ( (binary_expression "iVar9 + uVar24 * 4" identifier + (binary_expression "uVar24 * 4" identifier * number_literal)) )))) = identifier) ;) (if_statement "if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }" { (do_statement "do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);" do (compound_statement "{\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        }" { (if_statement "if (uVar39 == uVar8) goto LAB_0005eac8;" if (parenthesized_expression "(uVar39 == uVar8)" ( (binary_expression "uVar39 == uVar8" identifier == identifier) )) (goto_statement "goto LAB_0005eac8;" goto statement_identifier ;)) (expression_statement "iVar19 = piVar17[2];" (assignment_expression "iVar19 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "piVar21[2] = iVar19 + 1;" (assignment_expression "piVar21[2] = iVar19 + 1" (subscript_expression "piVar21[2]" identifier [ number_literal ]) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "piVar21 = piVar21 + 1;" (assignment_expression "piVar21 = piVar21 + 1" identifier = (binary_expression "piVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar19 + 1 == 0)" ( (binary_expression "iVar19 + 1 == 0" (binary_expression "iVar19 + 1" identifier + number_literal) == number_literal) )) ;) (goto_statement "goto LAB_0005e258;" goto statement_identifier ;) })) (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) ))))) ;) (goto_statement "goto LAB_0005e25c;" goto statement_identifier ;) })) (labeled_statement "LAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" statement_identifier : (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;)) (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" identifier = (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + number_literal)) ;) (expression_statement "piVar21 = (int *)(iVar19 + iVar35);" (assignment_expression "piVar21 = (int *)(iVar19 + iVar35)" identifier = (cast_expression "(int *)(iVar19 + iVar35)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar35)" ( (binary_expression "iVar19 + iVar35" identifier + identifier) )))) ;) (expression_statement "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;" (assignment_expression "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35" identifier = (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) + identifier)) ;) (expression_statement "iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);" (assignment_expression "iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39)" identifier = (call_expression "(**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39)" (parenthesized_expression "(**(code **)(puVar50 + -0x7d0c))" ( (pointer_expression "**(code **)(puVar50 + -0x7d0c)" * (pointer_expression "*(code **)(puVar50 + -0x7d0c)" * (cast_expression "(code **)(puVar50 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar50 + -0x7d0c)" ( (binary_expression "puVar50 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(iVar19,iVar9,iVar13,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*piVar21 = iVar19 + 1;" (assignment_expression "*piVar21 = iVar19 + 1" (pointer_expression "*piVar21" * identifier) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar11 + iVar35" identifier + identifier)) ;) (labeled_statement "LAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);" statement_identifier : (expression_statement "iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);" (assignment_expression "iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39)" identifier = (call_expression "(**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39)" (parenthesized_expression "(**(code **)(iVar12 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar12 + -0x7b2c)" * (pointer_expression "*(code **)(iVar12 + -0x7b2c)" * (cast_expression "(code **)(iVar12 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + -0x7b2c)" ( (binary_expression "iVar12 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39)" ( (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier , identifier )))) ;)) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);" (assignment_expression "iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" identifier = (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "**(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;" (assignment_expression "**(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19" (pointer_expression "**(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (pointer_expression "*(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) = (binary_expression "iVar11 - iVar19" identifier - identifier)) ;) }))) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar8 = (**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7);" (assignment_expression "uVar8 = (**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7)" identifier = (call_expression "(**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7)" (parenthesized_expression "(**(code **)(iVar12 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar12 + -0x7d0c)" * (pointer_expression "*(code **)(iVar12 + -0x7d0c)" * (cast_expression "(code **)(iVar12 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + -0x7d0c)" ( (binary_expression "iVar12 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7)" ( identifier , (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar39 != uVar7) {\n    iVar12 = uVar39 - uVar7;\n    puVar33 = (uint *)(iVar11 + uVar7 * 4);\n    puVar28 = (uint *)(iVar4 + uVar7 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }\n  }" if (parenthesized_expression "(uVar39 != uVar7)" ( (binary_expression "uVar39 != uVar7" identifier != identifier) )) (compound_statement "{\n    iVar12 = uVar39 - uVar7;\n    puVar33 = (uint *)(iVar11 + uVar7 * 4);\n    puVar28 = (uint *)(iVar4 + uVar7 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }\n  }" { (expression_statement "iVar12 = uVar39 - uVar7;" (assignment_expression "iVar12 = uVar39 - uVar7" identifier = (binary_expression "uVar39 - uVar7" identifier - identifier)) ;) (expression_statement "puVar33 = (uint *)(iVar11 + uVar7 * 4);" (assignment_expression "puVar33 = (uint *)(iVar11 + uVar7 * 4)" identifier = (cast_expression "(uint *)(iVar11 + uVar7 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + uVar7 * 4)" ( (binary_expression "iVar11 + uVar7 * 4" identifier + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) ;) (expression_statement "puVar28 = (uint *)(iVar4 + uVar7 * 4);" (assignment_expression "puVar28 = (uint *)(iVar4 + uVar7 * 4)" identifier = (cast_expression "(uint *)(iVar4 + uVar7 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + uVar7 * 4)" ( (binary_expression "iVar4 + uVar7 * 4" identifier + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) ;) (expression_statement "uVar24 = *puVar33;" (assignment_expression "uVar24 = *puVar33" identifier = (pointer_expression "*puVar33" * identifier)) ;) (expression_statement "*puVar28 = uVar8 + uVar24;" (assignment_expression "*puVar28 = uVar8 + uVar24" (pointer_expression "*puVar28" * identifier) = (binary_expression "uVar8 + uVar24" identifier + identifier)) ;) (if_statement "if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }" if (parenthesized_expression "(uVar8 + uVar24 < uVar8)" ( (binary_expression "uVar8 + uVar24 < uVar8" (binary_expression "uVar8 + uVar24" identifier + identifier) < identifier) )) (compound_statement "{\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (if_statement "if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }" if (parenthesized_expression "(1 < iVar12)" ( (binary_expression "1 < iVar12" number_literal < identifier) )) (compound_statement "{\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }" { (expression_statement "uVar8 = puVar33[1];" (assignment_expression "uVar8 = puVar33[1]" identifier = (subscript_expression "puVar33[1]" identifier [ number_literal ])) ;) (expression_statement "puVar28[1] = uVar8 + 1;" (assignment_expression "puVar28[1] = uVar8 + 1" (subscript_expression "puVar28[1]" identifier [ number_literal ]) = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }" if (parenthesized_expression "(uVar8 + 1 == 0)" ( (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (if_statement "if (iVar12 == 2) goto LAB_0005e408;" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0005e408;" goto statement_identifier ;)) (expression_statement "uVar8 = puVar33[2];" (assignment_expression "uVar8 = puVar33[2]" identifier = (subscript_expression "puVar33[2]" identifier [ number_literal ])) ;) (expression_statement "puVar28[2] = uVar8 + 1;" (assignment_expression "puVar28[2] = uVar8 + 1" (subscript_expression "puVar28[2]" identifier [ number_literal ]) = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }" if (parenthesized_expression "(uVar8 + 1 == 0)" ( (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }" { (expression_statement "puVar31 = puVar33 + 3;" (assignment_expression "puVar31 = puVar33 + 3" identifier = (binary_expression "puVar33 + 3" identifier + number_literal)) ;) (expression_statement "iVar11 = 3;" (assignment_expression "iVar11 = 3" identifier = number_literal) ;) (expression_statement "puVar25 = puVar28 + 3;" (assignment_expression "puVar25 = puVar28 + 3" identifier = (binary_expression "puVar28 + 3" identifier + number_literal)) ;) (do_statement "do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);" do (compound_statement "{\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            }" { (if_statement "if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }" if (parenthesized_expression "(iVar12 == iVar11)" ( (binary_expression "iVar12 == iVar11" identifier == identifier) )) (compound_statement "{\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0005e408;" goto statement_identifier ;) })) (expression_statement "uVar8 = *puVar31;" (assignment_expression "uVar8 = *puVar31" identifier = (pointer_expression "*puVar31" * identifier)) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "puVar31 = puVar31 + 1;" (assignment_expression "puVar31 = puVar31 + 1" identifier = (binary_expression "puVar31 + 1" identifier + number_literal)) ;) (expression_statement "*puVar25 = uVar8 + 1;" (assignment_expression "*puVar25 = uVar8 + 1" (pointer_expression "*puVar25" * identifier) = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar8 + 1 == 0)" ( (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" identifier + number_literal) == number_literal) )) ;) }) (else_clause "else {\n            iVar11 = 3;\n          }" else (compound_statement "{\n            iVar11 = 3;\n          }" { (expression_statement "iVar11 = 3;" (assignment_expression "iVar11 = 3" identifier = number_literal) ;) }))) }) (else_clause "else {\n          iVar11 = 2;\n        }" else (compound_statement "{\n          iVar11 = 2;\n        }" { (expression_statement "iVar11 = 2;" (assignment_expression "iVar11 = 2" identifier = number_literal) ;) }))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }" if (parenthesized_expression "(puVar28 != puVar33)" ( (binary_expression "puVar28 != puVar33" identifier != identifier) )) (compound_statement "{\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }" { (if_statement "if (iVar12 <= iVar11) goto LAB_0005ea24;" if (parenthesized_expression "(iVar12 <= iVar11)" ( (binary_expression "iVar12 <= iVar11" identifier <= identifier) )) (goto_statement "goto LAB_0005ea24;" goto statement_identifier ;)) (expression_statement "puVar25 = puVar33 + iVar11;" (assignment_expression "puVar25 = puVar33 + iVar11" identifier = (binary_expression "puVar33 + iVar11" identifier + identifier)) ;) (expression_statement "puVar28 = puVar28 + iVar11;" (assignment_expression "puVar28 = puVar28 + iVar11" identifier = (binary_expression "puVar28 + iVar11" identifier + identifier)) ;) (do_statement "do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);" do (compound_statement "{\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          }" { (expression_statement "uVar8 = *puVar25;" (assignment_expression "uVar8 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (expression_statement "*puVar28 = uVar8;" (assignment_expression "*puVar28 = uVar8" (pointer_expression "*puVar28" * identifier) = identifier) ;) (expression_statement "puVar28 = puVar28 + 1;" (assignment_expression "puVar28 = puVar28 + 1" identifier = (binary_expression "puVar28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar25 != puVar33 + iVar12)" ( (binary_expression "puVar25 != puVar33 + iVar12" identifier != (binary_expression "puVar33 + iVar12" identifier + identifier)) )) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) })) })) }) (else_clause "else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }" else (compound_statement "{\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }" if (parenthesized_expression "(puVar28 != puVar33)" ( (binary_expression "puVar28 != puVar33" identifier != identifier) )) (compound_statement "{\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }" { (if_statement "if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }" if (parenthesized_expression "(1 < iVar12)" ( (binary_expression "1 < iVar12" number_literal < identifier) )) (compound_statement "{\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }" { (expression_statement "puVar25 = puVar33 + 1;" (assignment_expression "puVar25 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (do_statement "do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);" do (compound_statement "{\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          }" { (expression_statement "puVar28 = puVar28 + 1;" (assignment_expression "puVar28 = puVar28 + 1" identifier = (binary_expression "puVar28 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = *puVar25;" (assignment_expression "uVar8 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (expression_statement "*puVar28 = uVar8;" (assignment_expression "*puVar28 = uVar8" (pointer_expression "*puVar28" * identifier) = identifier) ;) }) while (parenthesized_expression "(puVar25 != puVar33 + iVar12)" ( (binary_expression "puVar25 != puVar33 + iVar12" identifier != (binary_expression "puVar33 + iVar12" identifier + identifier)) )) ;) })) (labeled_statement "LAB_0005ea24:\n        uVar8 = 0;" statement_identifier : (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;)) })) }))) })) (labeled_statement "LAB_0005e408:\n  iVar34 = *piVar21;" statement_identifier : (expression_statement "iVar34 = *piVar21;" (assignment_expression "iVar34 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;)) (expression_statement "iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1);" (assignment_expression "iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1)" identifier = (call_expression "(**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1)" (parenthesized_expression "(**(code **)(iVar19 + -0x7ad4))" ( (pointer_expression "**(code **)(iVar19 + -0x7ad4)" * (pointer_expression "*(code **)(iVar19 + -0x7ad4)" * (cast_expression "(code **)(iVar19 + -0x7ad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + -0x7ad4)" ( (binary_expression "iVar19 + -0x7ad4" identifier + number_literal) ))))) )) (argument_list "(iVar4,iVar4,uVar39,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39);" (assignment_expression "iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39)" identifier = (call_expression "(**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39)" (parenthesized_expression "(**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))" ( (pointer_expression "**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c)" * (pointer_expression "*(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c)" * (cast_expression "(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c)" ( (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + number_literal) ))))) )) (argument_list "(iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39)" ( identifier , identifier , (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) , identifier )))) ;) (expression_statement "iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);" (assignment_expression "iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" identifier = (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x34" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2;" (assignment_expression "*(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2" (pointer_expression "*(uint *)(iVar4 + iVar35)" * (cast_expression "(uint *)(iVar4 + iVar35)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar35)" ( (binary_expression "iVar4 + iVar35" identifier + identifier) )))) = (binary_expression "(iVar19 - iVar11) + (uVar8 + iVar34) * 2" (parenthesized_expression "(iVar19 - iVar11)" ( (binary_expression "iVar19 - iVar11" identifier - identifier) )) + (binary_expression "(uVar8 + iVar34) * 2" (parenthesized_expression "(uVar8 + iVar34)" ( (binary_expression "uVar8 + iVar34" identifier + identifier) )) * number_literal))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar12 + iVar13" identifier + identifier)) ;) (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (iVar19 == 0) {\n    uVar8 = 0;\nLAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\nLAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar19 = iVar9 + iVar35;\n    *(undefined4 *)(param_1 + iVar35) = uVar18;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);\n    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;\n  }\n  else {\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar8 = 0;\nLAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\nLAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar19 = iVar9 + iVar35;\n    *(undefined4 *)(param_1 + iVar35) = uVar18;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);\n    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;\n  }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" statement_identifier : (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;)) (labeled_statement "LAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }" statement_identifier : (if_statement "if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }" if (parenthesized_expression "((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39))" ( (binary_expression "(iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)" (parenthesized_expression "(iVar9 != iVar19)" ( (binary_expression "iVar9 != iVar19" identifier != identifier) )) && (parenthesized_expression "(iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)" ( (comma_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) , (binary_expression "(int)uVar8 < (int)uVar39" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) (compound_statement "{\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }" { (expression_statement "puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);" (assignment_expression "puVar23 = (undefined4 *)(iVar19 + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(iVar19 + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + uVar8 * 4)" ( (binary_expression "iVar19 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (expression_statement "puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);" (assignment_expression "puVar45 = (undefined4 *)(iVar9 + uVar8 * 4)" identifier = (cast_expression "(undefined4 *)(iVar9 + uVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + uVar8 * 4)" ( (binary_expression "iVar9 + uVar8 * 4" identifier + (binary_expression "uVar8 * 4" identifier * number_literal)) )))) ;) (do_statement "do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);" do (compound_statement "{\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      }" { (expression_statement "uVar18 = *puVar23;" (assignment_expression "uVar18 = *puVar23" identifier = (pointer_expression "*puVar23" * identifier)) ;) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) (expression_statement "*puVar45 = uVar18;" (assignment_expression "*puVar45 = uVar18" (pointer_expression "*puVar45" * identifier) = identifier) ;) (expression_statement "puVar45 = puVar45 + 1;" (assignment_expression "puVar45 = puVar45 + 1" identifier = (binary_expression "puVar45 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((undefined4 *)(iVar19 + iVar35) != puVar23)" ( (binary_expression "(undefined4 *)(iVar19 + iVar35) != puVar23" (cast_expression "(undefined4 *)(iVar19 + iVar35)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar35)" ( (binary_expression "iVar19 + iVar35" identifier + identifier) ))) != identifier) )) ;) }))) (expression_statement "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;" (assignment_expression "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35" identifier = (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier)) ;) (expression_statement "uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);" (assignment_expression "uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39)" identifier = (call_expression "(**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39)" (parenthesized_expression "(**(code **)(iVar14 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar14 + -0x7d0c)" * (pointer_expression "*(code **)(iVar14 + -0x7d0c)" * (cast_expression "(code **)(iVar14 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + -0x7d0c)" ( (binary_expression "iVar14 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(param_1,iVar9,iVar13,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar19 = iVar9 + iVar35;" (assignment_expression "iVar19 = iVar9 + iVar35" identifier = (binary_expression "iVar9 + iVar35" identifier + identifier)) ;) (expression_statement "*(undefined4 *)(param_1 + iVar35) = uVar18;" (assignment_expression "*(undefined4 *)(param_1 + iVar35) = uVar18" (pointer_expression "*(undefined4 *)(param_1 + iVar35)" * (cast_expression "(undefined4 *)(param_1 + iVar35)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + iVar35)" ( (binary_expression "param_1 + iVar35" identifier + identifier) )))) = identifier) ;) (expression_statement "puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);" (assignment_expression "puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35)" identifier = (cast_expression "(uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35" (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + (binary_expression "(uVar39 - 1) * 4" (parenthesized_expression "(uVar39 - 1)" ( (binary_expression "uVar39 - 1" identifier - number_literal) )) * number_literal)) + identifier) )))) ;) (expression_statement "uVar8 = uVar39;" (assignment_expression "uVar8 = uVar39" identifier = identifier) ;) (do_statement "do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);" do (compound_statement "{\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    }" { (expression_statement "uVar8 = uVar8 - 1;" (assignment_expression "uVar8 = uVar8 - 1" identifier = (binary_expression "uVar8 - 1" identifier - number_literal)) ;) (if_statement "if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }" if (parenthesized_expression "(uVar8 == 0xffffffff)" ( (binary_expression "uVar8 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }" { (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar19 + iVar35" identifier + identifier)) ;) (goto_statement "goto LAB_0005e534;" goto statement_identifier ;) })) (expression_statement "uVar24 = *(uint *)(iVar19 + -4);" (assignment_expression "uVar24 = *(uint *)(iVar19 + -4)" identifier = (pointer_expression "*(uint *)(iVar19 + -4)" * (cast_expression "(uint *)(iVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + -4)" ( (binary_expression "iVar19 + -4" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *puVar28;" (assignment_expression "uVar30 = *puVar28" identifier = (pointer_expression "*puVar28" * identifier)) ;) (expression_statement "iVar19 = iVar19 + -4;" (assignment_expression "iVar19 = iVar19 + -4" identifier = (binary_expression "iVar19 + -4" identifier + number_literal)) ;) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" identifier = (binary_expression "puVar28 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar24 == uVar30)" ( (binary_expression "uVar24 == uVar30" identifier == identifier) )) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier)) ;) (if_statement "if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }" if (parenthesized_expression "(uVar30 < uVar24)" ( (binary_expression "uVar30 < uVar24" identifier < identifier) )) (compound_statement "{\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }" { (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0005e534;" goto statement_identifier ;) })) (expression_statement "(**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);" (call_expression "(**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39)" (parenthesized_expression "(**(code **)(iVar12 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar12 + -0x7b2c)" * (pointer_expression "*(code **)(iVar12 + -0x7b2c)" * (cast_expression "(code **)(iVar12 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + -0x7b2c)" ( (binary_expression "iVar12 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39)" ( (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier , identifier ))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "**(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;" (assignment_expression "**(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0" (pointer_expression "**(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" * (pointer_expression "*(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" * (cast_expression "(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) = number_literal) ;) }) (else_clause "else {\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }" else (compound_statement "{\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }" { (expression_statement "iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);" (assignment_expression "iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19)" identifier = (call_expression "(**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19)" (parenthesized_expression "(**(code **)(iVar14 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar14 + -0x7d0c)" * (pointer_expression "*(code **)(iVar14 + -0x7d0c)" * (cast_expression "(code **)(iVar14 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + -0x7d0c)" ( (binary_expression "iVar14 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19)" ( identifier , (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier )))) ;) (expression_statement "iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }" { (expression_statement "uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" identifier = (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto LAB_0005e480;" goto statement_identifier ;) })) (if_statement "if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }" if (parenthesized_expression "(iVar19 < (int)uVar39)" ( (binary_expression "iVar19 < (int)uVar39" identifier < (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }" { (expression_statement "uVar8 = iVar19 + 1;" (assignment_expression "uVar8 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);" (assignment_expression "piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4)" identifier = (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + (binary_expression "iVar19 * 4" identifier * number_literal)) )))) ;) (expression_statement "piVar21 = (int *)(iVar9 + iVar19 * 4);" (assignment_expression "piVar21 = (int *)(iVar9 + iVar19 * 4)" identifier = (cast_expression "(int *)(iVar9 + iVar19 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar19 * 4)" ( (binary_expression "iVar9 + iVar19 * 4" identifier + (binary_expression "iVar19 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar11 = *piVar17;" (assignment_expression "iVar11 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "*piVar21 = iVar11 + 1;" (assignment_expression "*piVar21 = iVar11 + 1" (pointer_expression "*piVar21" * identifier) = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (if_statement "if (iVar11 + 1 != 0) goto LAB_0005e480;" if (parenthesized_expression "(iVar11 + 1 != 0)" ( (binary_expression "iVar11 + 1 != 0" (binary_expression "iVar11 + 1" identifier + number_literal) != number_literal) )) (goto_statement "goto LAB_0005e480;" goto statement_identifier ;)) (if_statement "if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;" if (parenthesized_expression "((int)uVar39 <= (int)uVar8)" ( (binary_expression "(int)uVar39 <= (int)uVar8" (cast_expression "(int)uVar39" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0005ec00;" goto statement_identifier ;)) (expression_statement "iVar11 = uVar8 * 4;" (assignment_expression "iVar11 = uVar8 * 4" identifier = (binary_expression "uVar8 * 4" identifier * number_literal)) ;) (expression_statement "uVar8 = iVar19 + 2;" (assignment_expression "uVar8 = iVar19 + 2" identifier = (binary_expression "iVar19 + 2" identifier + number_literal)) ;) (expression_statement "iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;" (assignment_expression "iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1" identifier = (binary_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1" (pointer_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11)" * (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11)" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar9 + iVar11) = iVar19;" (assignment_expression "*(int *)(iVar9 + iVar11) = iVar19" (pointer_expression "*(int *)(iVar9 + iVar11)" * (cast_expression "(int *)(iVar9 + iVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar11)" ( (binary_expression "iVar9 + iVar11" identifier + identifier) )))) = identifier) ;) (if_statement "if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }" { (do_statement "do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);" do (compound_statement "{\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        }" { (if_statement "if (uVar39 == uVar8) goto LAB_0005ec00;" if (parenthesized_expression "(uVar39 == uVar8)" ( (binary_expression "uVar39 == uVar8" identifier == identifier) )) (goto_statement "goto LAB_0005ec00;" goto statement_identifier ;)) (expression_statement "iVar19 = piVar17[2];" (assignment_expression "iVar19 = piVar17[2]" identifier = (subscript_expression "piVar17[2]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" identifier = (binary_expression "piVar17 + 1" identifier + number_literal)) ;) (expression_statement "piVar21[2] = iVar19 + 1;" (assignment_expression "piVar21[2] = iVar19 + 1" (subscript_expression "piVar21[2]" identifier [ number_literal ]) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "piVar21 = piVar21 + 1;" (assignment_expression "piVar21 = piVar21 + 1" identifier = (binary_expression "piVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar19 + 1 == 0)" ( (binary_expression "iVar19 + 1 == 0" (binary_expression "iVar19 + 1" identifier + number_literal) == number_literal) )) ;) (goto_statement "goto LAB_0005e480;" goto statement_identifier ;) })) (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto LAB_0005e484;" goto statement_identifier ;) })) (labeled_statement "LAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;" statement_identifier : (expression_statement "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;" (assignment_expression "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35" identifier = (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier)) ;)) (expression_statement "iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);" (assignment_expression "iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39)" identifier = (call_expression "(**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39)" (parenthesized_expression "(**(code **)(iVar14 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar14 + -0x7d0c)" * (pointer_expression "*(code **)(iVar14 + -0x7d0c)" * (cast_expression "(code **)(iVar14 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + -0x7d0c)" ( (binary_expression "iVar14 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(param_1,iVar9,iVar13,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)(param_1 + iVar35) = iVar19 + 1;" (assignment_expression "*(int *)(param_1 + iVar35) = iVar19 + 1" (pointer_expression "*(int *)(param_1 + iVar35)" * (cast_expression "(int *)(param_1 + iVar35)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + iVar35)" ( (binary_expression "param_1 + iVar35" identifier + identifier) )))) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar11 + iVar35" identifier + identifier)) ;) (labeled_statement "LAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);" statement_identifier : (expression_statement "iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);" (assignment_expression "iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39)" identifier = (call_expression "(**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39)" (parenthesized_expression "(**(code **)(iVar12 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar12 + -0x7b2c)" * (pointer_expression "*(code **)(iVar12 + -0x7b2c)" * (cast_expression "(code **)(iVar12 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + -0x7b2c)" ( (binary_expression "iVar12 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39)" ( (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier , identifier , identifier )))) ;)) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "**(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;" (assignment_expression "**(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19" (pointer_expression "**(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" * (pointer_expression "*(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" * (cast_expression "(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) = (binary_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) - identifier)) ;) }))) (expression_statement "uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" identifier = (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar8 = (**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24);" (assignment_expression "uVar8 = (**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24)" identifier = (call_expression "(**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24)" (parenthesized_expression "(**(code **)(iVar11 + -0x7d0c))" ( (pointer_expression "**(code **)(iVar11 + -0x7d0c)" * (pointer_expression "*(code **)(iVar11 + -0x7d0c)" * (cast_expression "(code **)(iVar11 + -0x7d0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + -0x7d0c)" ( (binary_expression "iVar11 + -0x7d0c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24)" ( (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier , (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) , identifier )))) ;) (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar39 != uVar24) {\n    iVar11 = uVar39 - uVar24;\n    puVar33 = (uint *)(param_1 + uVar24 * 4);\n    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }\n  }" if (parenthesized_expression "(uVar39 != uVar24)" ( (binary_expression "uVar39 != uVar24" identifier != identifier) )) (compound_statement "{\n    iVar11 = uVar39 - uVar24;\n    puVar33 = (uint *)(param_1 + uVar24 * 4);\n    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }\n  }" { (expression_statement "iVar11 = uVar39 - uVar24;" (assignment_expression "iVar11 = uVar39 - uVar24" identifier = (binary_expression "uVar39 - uVar24" identifier - identifier)) ;) (expression_statement "puVar33 = (uint *)(param_1 + uVar24 * 4);" (assignment_expression "puVar33 = (uint *)(param_1 + uVar24 * 4)" identifier = (cast_expression "(uint *)(param_1 + uVar24 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + uVar24 * 4)" ( (binary_expression "param_1 + uVar24 * 4" identifier + (binary_expression "uVar24 * 4" identifier * number_literal)) )))) ;) (expression_statement "puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);" (assignment_expression "puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4)" identifier = (cast_expression "(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4)" ( (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + (binary_expression "uVar24 * 4" identifier * number_literal)) )))) ;) (expression_statement "uVar24 = *puVar33;" (assignment_expression "uVar24 = *puVar33" identifier = (pointer_expression "*puVar33" * identifier)) ;) (expression_statement "*puVar28 = uVar8 + uVar24;" (assignment_expression "*puVar28 = uVar8 + uVar24" (pointer_expression "*puVar28" * identifier) = (binary_expression "uVar8 + uVar24" identifier + identifier)) ;) (if_statement "if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }" if (parenthesized_expression "(uVar8 + uVar24 < uVar8)" ( (binary_expression "uVar8 + uVar24 < uVar8" (binary_expression "uVar8 + uVar24" identifier + identifier) < identifier) )) (compound_statement "{\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (if_statement "if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }" if (parenthesized_expression "(1 < iVar11)" ( (binary_expression "1 < iVar11" number_literal < identifier) )) (compound_statement "{\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }" { (expression_statement "uVar8 = puVar33[1];" (assignment_expression "uVar8 = puVar33[1]" identifier = (subscript_expression "puVar33[1]" identifier [ number_literal ])) ;) (expression_statement "puVar28[1] = uVar8 + 1;" (assignment_expression "puVar28[1] = uVar8 + 1" (subscript_expression "puVar28[1]" identifier [ number_literal ]) = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }" if (parenthesized_expression "(uVar8 + 1 == 0)" ( (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (if_statement "if (iVar11 == 2) goto LAB_0005e618;" if (parenthesized_expression "(iVar11 == 2)" ( (binary_expression "iVar11 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0005e618;" goto statement_identifier ;)) (expression_statement "uVar8 = puVar33[2];" (assignment_expression "uVar8 = puVar33[2]" identifier = (subscript_expression "puVar33[2]" identifier [ number_literal ])) ;) (expression_statement "puVar28[2] = uVar8 + 1;" (assignment_expression "puVar28[2] = uVar8 + 1" (subscript_expression "puVar28[2]" identifier [ number_literal ]) = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }" if (parenthesized_expression "(uVar8 + 1 == 0)" ( (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }" { (expression_statement "puVar31 = puVar33 + 3;" (assignment_expression "puVar31 = puVar33 + 3" identifier = (binary_expression "puVar33 + 3" identifier + number_literal)) ;) (expression_statement "iVar12 = 3;" (assignment_expression "iVar12 = 3" identifier = number_literal) ;) (expression_statement "puVar25 = puVar28 + 3;" (assignment_expression "puVar25 = puVar28 + 3" identifier = (binary_expression "puVar28 + 3" identifier + number_literal)) ;) (do_statement "do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);" do (compound_statement "{\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            }" { (if_statement "if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }" if (parenthesized_expression "(iVar11 == iVar12)" ( (binary_expression "iVar11 == iVar12" identifier == identifier) )) (compound_statement "{\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0005e618;" goto statement_identifier ;) })) (expression_statement "uVar8 = *puVar31;" (assignment_expression "uVar8 = *puVar31" identifier = (pointer_expression "*puVar31" * identifier)) ;) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "puVar31 = puVar31 + 1;" (assignment_expression "puVar31 = puVar31 + 1" identifier = (binary_expression "puVar31 + 1" identifier + number_literal)) ;) (expression_statement "*puVar25 = uVar8 + 1;" (assignment_expression "*puVar25 = uVar8 + 1" (pointer_expression "*puVar25" * identifier) = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar8 + 1 == 0)" ( (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" identifier + number_literal) == number_literal) )) ;) }) (else_clause "else {\n            iVar12 = 3;\n          }" else (compound_statement "{\n            iVar12 = 3;\n          }" { (expression_statement "iVar12 = 3;" (assignment_expression "iVar12 = 3" identifier = number_literal) ;) }))) }) (else_clause "else {\n          iVar12 = 2;\n        }" else (compound_statement "{\n          iVar12 = 2;\n        }" { (expression_statement "iVar12 = 2;" (assignment_expression "iVar12 = 2" identifier = number_literal) ;) }))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }" if (parenthesized_expression "(puVar28 != puVar33)" ( (binary_expression "puVar28 != puVar33" identifier != identifier) )) (compound_statement "{\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }" { (if_statement "if (iVar11 <= iVar12) goto LAB_0005e9e8;" if (parenthesized_expression "(iVar11 <= iVar12)" ( (binary_expression "iVar11 <= iVar12" identifier <= identifier) )) (goto_statement "goto LAB_0005e9e8;" goto statement_identifier ;)) (expression_statement "puVar25 = puVar33 + iVar12;" (assignment_expression "puVar25 = puVar33 + iVar12" identifier = (binary_expression "puVar33 + iVar12" identifier + identifier)) ;) (expression_statement "puVar28 = puVar28 + iVar12;" (assignment_expression "puVar28 = puVar28 + iVar12" identifier = (binary_expression "puVar28 + iVar12" identifier + identifier)) ;) (do_statement "do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);" do (compound_statement "{\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          }" { (expression_statement "uVar8 = *puVar25;" (assignment_expression "uVar8 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (expression_statement "*puVar28 = uVar8;" (assignment_expression "*puVar28 = uVar8" (pointer_expression "*puVar28" * identifier) = identifier) ;) (expression_statement "puVar28 = puVar28 + 1;" (assignment_expression "puVar28 = puVar28 + 1" identifier = (binary_expression "puVar28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar33 + iVar11 != puVar25)" ( (binary_expression "puVar33 + iVar11 != puVar25" (binary_expression "puVar33 + iVar11" identifier + identifier) != identifier) )) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) })) })) }) (else_clause "else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }" else (compound_statement "{\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }" if (parenthesized_expression "(puVar28 != puVar33)" ( (binary_expression "puVar28 != puVar33" identifier != identifier) )) (compound_statement "{\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }" { (if_statement "if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }" if (parenthesized_expression "(1 < iVar11)" ( (binary_expression "1 < iVar11" number_literal < identifier) )) (compound_statement "{\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }" { (expression_statement "puVar25 = puVar33 + 1;" (assignment_expression "puVar25 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (do_statement "do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);" do (compound_statement "{\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          }" { (expression_statement "puVar28 = puVar28 + 1;" (assignment_expression "puVar28 = puVar28 + 1" identifier = (binary_expression "puVar28 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = *puVar25;" (assignment_expression "uVar8 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (expression_statement "*puVar28 = uVar8;" (assignment_expression "*puVar28 = uVar8" (pointer_expression "*puVar28" * identifier) = identifier) ;) }) while (parenthesized_expression "(puVar33 + iVar11 != puVar25)" ( (binary_expression "puVar33 + iVar11 != puVar25" (binary_expression "puVar33 + iVar11" identifier + identifier) != identifier) )) ;) })) (labeled_statement "LAB_0005e9e8:\n        uVar8 = 0;" statement_identifier : (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;)) })) }))) })) (labeled_statement "LAB_0005e618:\n  iVar13 = *(int *)(param_1 + iVar35);" statement_identifier : (expression_statement "iVar13 = *(int *)(param_1 + iVar35);" (assignment_expression "iVar13 = *(int *)(param_1 + iVar35)" identifier = (pointer_expression "*(int *)(param_1 + iVar35)" * (cast_expression "(int *)(param_1 + iVar35)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + iVar35)" ( (binary_expression "param_1 + iVar35" identifier + identifier) ))))) ;)) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1);" (assignment_expression "iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1)" identifier = (call_expression "(**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1)" (parenthesized_expression "(**(code **)(iVar19 + -0x7ad4))" ( (pointer_expression "**(code **)(iVar19 + -0x7ad4)" * (pointer_expression "*(code **)(iVar19 + -0x7ad4)" * (cast_expression "(code **)(iVar19 + -0x7ad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + -0x7ad4)" ( (binary_expression "iVar19 + -0x7ad4" identifier + number_literal) ))))) )) (argument_list "(uVar51,uVar51,uVar39,1)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39);" (assignment_expression "iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39)" identifier = (call_expression "(**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39)" (parenthesized_expression "(**(code **)(iVar11 + -0x7b2c))" ( (pointer_expression "**(code **)(iVar11 + -0x7b2c)" * (pointer_expression "*(code **)(iVar11 + -0x7b2c)" * (cast_expression "(code **)(iVar11 + -0x7b2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + -0x7b2c)" ( (binary_expression "iVar11 + -0x7b2c" identifier + number_literal) ))))) )) (argument_list "(uVar51,uVar51,uVar18,uVar39)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c);" (assignment_expression "iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" identifier = (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x2c" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);" (assignment_expression "uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" identifier = (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =\n       (iVar19 - iVar11) + (uVar8 + iVar13) * 2;" (assignment_expression "*(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =\n       (iVar19 - iVar11) + (uVar8 + iVar13) * 2" (pointer_expression "*(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35)" * (cast_expression "(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35)" ( (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier) )))) = (binary_expression "(iVar19 - iVar11) + (uVar8 + iVar13) * 2" (parenthesized_expression "(iVar19 - iVar11)" ( (binary_expression "iVar19 - iVar11" identifier - identifier) )) + (binary_expression "(uVar8 + iVar13) * 2" (parenthesized_expression "(uVar8 + iVar13)" ( (binary_expression "uVar8 + iVar13" identifier + identifier) )) * number_literal))) ;) (expression_statement "bVar2 = uVar24 < 0x39;" (assignment_expression "bVar2 = uVar24 < 0x39" identifier = (binary_expression "uVar24 < 0x39" identifier < number_literal)) ;) (expression_statement "iVar19 = iVar9 + iVar12 + -4;" (assignment_expression "iVar19 = iVar9 + iVar12 + -4" identifier = (binary_expression "iVar9 + iVar12 + -4" (binary_expression "iVar9 + iVar12" identifier + identifier) + number_literal)) ;) (if_statement "if (bVar2) {\n    pcVar49 = *(code **)(iVar34 + -0x7bd0);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\nLAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    iVar35 = iVar9 + (iVar35 + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar49 = *(code **)(iVar4 + -0x7f84);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\n  else {\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n    pcVar49 = *(code **)(iVar34 + -0x7bd0);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\nLAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    iVar35 = iVar9 + (iVar35 + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar49 = *(code **)(iVar4 + -0x7f84);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }" { (expression_statement "pcVar49 = *(code **)(iVar34 + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(iVar34 + -0x7bd0)" identifier = (pointer_expression "*(code **)(iVar34 + -0x7bd0)" * (cast_expression "(code **)(iVar34 + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar34 + -0x7bd0)" ( (binary_expression "iVar34 + -0x7bd0" identifier + number_literal) ))))) ;) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(iVar9,uVar18,iVar10,uVar51);" (call_expression "(*pcVar49)(iVar9,uVar18,iVar10,uVar51)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(iVar9,uVar18,iVar10,uVar51)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0)" identifier = (pointer_expression "*(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0)" * (cast_expression "(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0)" ( (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(iVar19,iVar4,iVar10,uVar18);" (call_expression "(*pcVar49)(iVar19,iVar4,iVar10,uVar18)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(iVar19,iVar4,iVar10,uVar18)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (labeled_statement "LAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);" statement_identifier : (expression_statement "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);" (assignment_expression "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" identifier = (cast_expression "(undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" ( (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10" (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" identifier + (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) ;)) (if_statement "if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;" if (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc))" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) <= (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) )) (goto_statement "goto LAB_0005e714;" goto statement_identifier ;)) (labeled_statement "LAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);" statement_identifier : (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7d8c);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7d8c)" identifier = (pointer_expression "*(code **)(iVar4 + -0x7d8c)" * (cast_expression "(code **)(iVar4 + -0x7d8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x7d8c)" ( (binary_expression "iVar4 + -0x7d8c" identifier + number_literal) ))))) ;)) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "(*pcVar49)(puVar45,uVar18,uVar7,uVar51);" (call_expression "(*pcVar49)(puVar45,uVar18,uVar7,uVar51)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(puVar45,uVar18,uVar7,uVar51)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar51 = *puVar45;" (assignment_expression "uVar51 = *puVar45" identifier = (pointer_expression "*puVar45" * identifier)) ;) (expression_statement "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);" (assignment_expression "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" identifier = (cast_expression "(undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" ( (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc" (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" identifier + (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) ;) (expression_statement "iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);" (assignment_expression "iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" identifier = (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" identifier + (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x34" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))))) ;) (expression_statement "uVar18 = *puVar45;" (assignment_expression "uVar18 = *puVar45" identifier = (pointer_expression "*puVar45" * identifier)) ;) (if_statement "if (bVar2) goto LAB_0005e968;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_0005e968;" goto statement_identifier ;)) (labeled_statement "LAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);" statement_identifier : (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "iVar35 = iVar9 + (iVar35 + iVar10) * 4;" (assignment_expression "iVar35 = iVar9 + (iVar35 + iVar10) * 4" identifier = (binary_expression "iVar9 + (iVar35 + iVar10) * 4" identifier + (binary_expression "(iVar35 + iVar10) * 4" (parenthesized_expression "(iVar35 + iVar10)" ( (binary_expression "iVar35 + iVar10" identifier + identifier) )) * number_literal))) ;) (if_statement "if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }" if (parenthesized_expression "(*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93)" ( (binary_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) < number_literal) )) (compound_statement "{\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }" { (expression_statement "pcVar49 = *(code **)(iVar11 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar11 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar11 + -0x7f84)" * (cast_expression "(code **)(iVar11 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + -0x7f84)" ( (binary_expression "iVar11 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(iVar4,uVar18,iVar10,param_1);" (call_expression "(*pcVar49)(iVar4,uVar18,iVar10,param_1)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(iVar4,uVar18,iVar10,param_1)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);" (assignment_expression "uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" identifier = (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (pointer_expression "*puVar45" * identifier) = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar8 < 0x3c) goto LAB_0005e990;" if (parenthesized_expression "(uVar8 < 0x3c)" ( (binary_expression "uVar8 < 0x3c" identifier < number_literal) )) (goto_statement "goto LAB_0005e990;" goto statement_identifier ;)) }) (else_clause "else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }" else (compound_statement "{\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }" { (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "__gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);" (call_expression "__gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1)" identifier (argument_list "(iVar4,uVar18,iVar10,param_1)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (pointer_expression "*puVar45" * identifier) = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }" if (parenthesized_expression "(uVar39 != 0x31)" ( (binary_expression "uVar39 != 0x31" identifier != number_literal) )) (compound_statement "{\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }" { (expression_statement "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "__gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);" (call_expression "__gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32)" identifier (argument_list "(param_1,uVar18,uVar39,uVar32)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto LAB_0005e7f0;" goto statement_identifier ;) })) }))) (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar4 + -0x7f84)" * (cast_expression "(code **)(iVar4 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x7f84)" ( (binary_expression "iVar4 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(param_1,uVar18,uVar39,uVar32);" (call_expression "(*pcVar49)(param_1,uVar18,uVar39,uVar32)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(param_1,uVar18,uVar39,uVar32)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) }) (else_clause "else {\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }" else (compound_statement "{\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }" { (expression_statement "iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;" (assignment_expression "iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" identifier = (binary_expression "iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" identifier + (binary_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10)" ( (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier) )) * number_literal))) ;) (if_statement "if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }" if (parenthesized_expression "(*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93)" ( (binary_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) < number_literal) )) (compound_statement "{\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }" { (expression_statement "pcVar49 = *(code **)(iVar34 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar34 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar34 + -0x7f84)" * (cast_expression "(code **)(iVar34 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar34 + -0x7f84)" ( (binary_expression "iVar34 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(iVar9,uVar18,iVar10,uVar51);" (call_expression "(*pcVar49)(iVar9,uVar18,iVar10,uVar51)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(iVar9,uVar18,iVar10,uVar51)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "pcVar49 = *(code **)(iVar35 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar35 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar35 + -0x7f84)" * (cast_expression "(code **)(iVar35 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar35 + -0x7f84)" ( (binary_expression "iVar35 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(iVar19,iVar4,iVar10,uVar18);" (call_expression "(*pcVar49)(iVar19,iVar4,iVar10,uVar18)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(iVar19,iVar4,iVar10,uVar18)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto LAB_0005e6f8;" goto statement_identifier ;) })) (expression_statement "iVar35 = *(int *)(iVar34 + -0x7fc0);" (assignment_expression "iVar35 = *(int *)(iVar34 + -0x7fc0)" identifier = (pointer_expression "*(int *)(iVar34 + -0x7fc0)" * (cast_expression "(int *)(iVar34 + -0x7fc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + -0x7fc0)" ( (binary_expression "iVar34 + -0x7fc0" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = (binary_expression "iVar35 + -0x1e90" identifier + number_literal)) ;) (expression_statement "__gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);" (call_expression "__gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51)" identifier (argument_list "(iVar9,uVar18,iVar10,uVar51)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" identifier = (pointer_expression "*(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" * (cast_expression "(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(iVar19,iVar4,iVar10,uVar18);" (call_expression "(*pcVar49)(iVar19,iVar4,iVar10,uVar18)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(iVar19,iVar4,iVar10,uVar18)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);" (assignment_expression "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" identifier = (cast_expression "(undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" ( (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10" (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" identifier + (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) ;) (if_statement "if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;" if (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4))" ( (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) < (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) )) (goto_statement "goto LAB_0005e924;" goto statement_identifier ;)) (labeled_statement "LAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }" statement_identifier : (if_statement "if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }" if (parenthesized_expression "((int)uVar7 < 0x14)" ( (binary_expression "(int)uVar7 < 0x14" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }" { (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7bd0)" identifier = (pointer_expression "*(code **)(iVar4 + -0x7bd0)" * (cast_expression "(code **)(iVar4 + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x7bd0)" ( (binary_expression "iVar4 + -0x7bd0" identifier + number_literal) ))))) ;) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(puVar45,uVar18,uVar7,uVar51);" (call_expression "(*pcVar49)(puVar45,uVar18,uVar7,uVar51)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(puVar45,uVar18,uVar7,uVar51)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) }) (else_clause "else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }" else (compound_statement "{\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }" { (expression_statement "iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;" (assignment_expression "iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" identifier = (binary_expression "iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" identifier + (binary_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10)" ( (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) + identifier) )) * number_literal))) ;) (if_statement "if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }" if (parenthesized_expression "((int)uVar7 < 0x32)" ( (binary_expression "(int)uVar7 < 0x32" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }" { (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7f84)" identifier = (pointer_expression "*(code **)(iVar4 + -0x7f84)" * (cast_expression "(code **)(iVar4 + -0x7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x7f84)" ( (binary_expression "iVar4 + -0x7f84" identifier + number_literal) ))))) ;) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(puVar45,uVar18,uVar7,uVar51);" (call_expression "(*pcVar49)(puVar45,uVar18,uVar7,uVar51)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(puVar45,uVar18,uVar7,uVar51)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) }) (else_clause "else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }" else (compound_statement "{\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }" { (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "__gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);" (call_expression "__gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51)" identifier (argument_list "(puVar45,uVar18,uVar7,uVar51)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) }))) })))) (expression_statement "uVar51 = *puVar45;" (assignment_expression "uVar51 = *puVar45" identifier = (pointer_expression "*puVar45" * identifier)) ;) (expression_statement "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);" (assignment_expression "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" identifier = (cast_expression "(undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" ( (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc" (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" identifier + (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) + number_literal) )))) ;) (expression_statement "iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);" (assignment_expression "iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" identifier = (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" identifier + (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" * (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x34" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))))) ;) (expression_statement "uVar18 = *puVar45;" (assignment_expression "uVar18 = *puVar45" identifier = (pointer_expression "*puVar45" * identifier)) ;) (if_statement "if (!bVar2) goto LAB_0005e778;" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (goto_statement "goto LAB_0005e778;" goto statement_identifier ;)) (labeled_statement "LAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);" statement_identifier : (expression_statement "pcVar49 = *(code **)(iVar11 + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(iVar11 + -0x7bd0)" identifier = (pointer_expression "*(code **)(iVar11 + -0x7bd0)" * (cast_expression "(code **)(iVar11 + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + -0x7bd0)" ( (binary_expression "iVar11 + -0x7bd0" identifier + number_literal) ))))) ;)) (expression_statement "uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" identifier = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(iVar4,uVar32,iVar10,param_1);" (call_expression "(*pcVar49)(iVar4,uVar32,iVar10,param_1)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(iVar4,uVar32,iVar10,param_1)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (pointer_expression "*puVar45" * identifier) = (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (labeled_statement "LAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);" statement_identifier : (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7bd0)" identifier = (pointer_expression "*(code **)(iVar4 + -0x7bd0)" * (cast_expression "(code **)(iVar4 + -0x7bd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x7bd0)" ( (binary_expression "iVar4 + -0x7bd0" identifier + number_literal) ))))) ;)) (expression_statement "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" identifier = (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" * (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" ( (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) ))))) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*pcVar49)(param_1,uVar18,uVar39,uVar32);" (call_expression "(*pcVar49)(param_1,uVar18,uVar39,uVar32)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(param_1,uVar18,uVar39,uVar32)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) }))) (labeled_statement "LAB_0005e7f0:\n  iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" statement_identifier : (expression_statement "iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" identifier = (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" * (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;)) (expression_statement "uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);" (assignment_expression "uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" identifier = (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" * (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" ( (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" identifier + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7cf8);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7cf8)" identifier = (pointer_expression "*(code **)(iVar4 + -0x7cf8)" * (cast_expression "(code **)(iVar4 + -0x7cf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + -0x7cf8)" ( (binary_expression "iVar4 + -0x7cf8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 8)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" * (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" * (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" ( (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + (binary_expression "uVar5 * -9" identifier * number_literal)) )))) = (binary_expression "uVar7 + iVar10" identifier + identifier)) ;) (expression_statement "(*pcVar49)(param_1,iVar19,iVar9,uVar39);" (call_expression "(*pcVar49)(param_1,iVar19,iVar9,uVar39)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(param_1,iVar19,iVar9,uVar39)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT * LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) >> LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) / LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (unary_expression - (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + (binary_expression IDENT * 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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) , (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) | (binary_expression IDENT & LIT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT)) )) * LIT)) )) * LIT)) )) * LIT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) )))) = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + 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 + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + (binary_expression IDENT * LIT)) , (binary_expression IDENT + (binary_expression IDENT * LIT)) , (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * LIT) ))) ;)) }))) (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 = LIT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (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 + IDENT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , 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 = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + (binary_expression IDENT * LIT)) , (binary_expression IDENT + (binary_expression IDENT * LIT)) , (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (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 + (binary_expression IDENT * LIT)) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (parenthesized_expression ( (binary_expression IDENT | LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + (binary_expression IDENT * LIT)) , (binary_expression IDENT + (binary_expression IDENT * LIT)) , (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (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 + (binary_expression IDENT * LIT)) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + IDENT) , LIT , (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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , 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 = (binary_expression IDENT < IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression 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 + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT < IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + (binary_expression IDENT * LIT)) , (binary_expression IDENT + (binary_expression IDENT * LIT)) , (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * LIT) ))) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( IDENT ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * LIT)) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + (binary_expression IDENT * LIT)) , (binary_expression IDENT + (binary_expression IDENT * LIT)) , IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_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 + IDENT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + (binary_expression IDENT * LIT)) , LIT , (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * LIT) ))) ;) })) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + LIT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;) }))) })))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) , IDENT , IDENT , LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + IDENT) , IDENT , IDENT , IDENT ))) ;) (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 IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + IDENT) , (binary_expression IDENT + IDENT) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + IDENT) , IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + IDENT) , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + IDENT) , (binary_expression IDENT + IDENT) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + (binary_expression IDENT * LIT)) , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + (binary_expression IDENT * LIT)) , IDENT , IDENT , IDENT ))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (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 (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) ))))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + 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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + 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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) + 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 , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) * LIT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + 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 IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == IDENT) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != LIT) )) (goto_statement goto statement_identifier ;)) (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 = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) + (binary_expression IDENT * LIT)) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) ))))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) + 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 , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) , IDENT , IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (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 (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) = (binary_expression IDENT - IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + IDENT)) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + IDENT)) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) })) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * 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 , IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + LIT) ))))) )) (argument_list ( IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) != IDENT) )) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + 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 , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (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 + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) * LIT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + 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 IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == IDENT) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + 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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != LIT) )) (goto_statement goto statement_identifier ;)) (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 = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + IDENT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + 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 , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) , IDENT , IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) - IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) })) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = 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 , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + IDENT) )))) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) + LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) < LIT) )) (compound_statement { (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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + 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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + 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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (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 * (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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + IDENT) )) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) < LIT) )) (compound_statement { (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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) + IDENT) )) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + 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 (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) }))) })))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + (binary_expression IDENT * LIT)) )))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void __gmpn_toom62_mul(int param_1,int param_2,int param_3,undefined1 *param_4,int param_5,\n                      int param_6)\n\n{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int *piVar17;\n  undefined4 uVar18;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  uint uVar24;\n  uint *puVar25;\n  undefined1 *puVar26;\n  undefined1 *puVar27;\n  uint *puVar28;\n  undefined1 *puVar29;\n  uint uVar30;\n  uint *puVar31;\n  undefined4 uVar32;\n  uint *puVar33;\n  int iVar34;\n  int iVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  int iVar38;\n  uint uVar39;\n  int iVar40;\n  int iVar41;\n  undefined1 *puVar42;\n  int iVar43;\n  int iVar44;\n  undefined4 *puVar45;\n  undefined1 *puVar46;\n  undefined1 *puVar47;\n  undefined *puVar48;\n  code *pcVar49;\n  undefined *puVar50;\n  undefined4 uVar51;\n  uint auStack_140 [30];\n  undefined1 auStack_c8 [4];\n  undefined4 uStack_c4;\n  undefined1 auStack_c0 [4];\n  int aiStack_bc [8];\n  int iStack_9c;\n  uint local_64;\n  \n  puVar48 = PTR___stack_chk_guard_0009d540;\n  iVar19 = *(int *)PTR___stack_chk_guard_0009d540;\n  if (param_3 < param_5 * 3) {\n    uVar39 = param_5 + -1 >> 1;\n  }\n  else {\n    uVar39 = (param_3 - 1U) / 6;\n  }\n  iVar40 = uVar39 + 1;\n  iVar43 = uVar39 + 2;\n  iVar41 = iVar40 * 4;\n  iVar4 = iVar43 * 4;\n  param_3 = param_3 + iVar40 * -5;\n  uVar5 = iVar4 + 7U & 0xfffffff8;\n  puVar26 = &stack0xffffff68 + -uVar5;\n  puVar29 = &stack0xffffff68 + uVar5 * -2;\n  param_5 = param_5 - iVar40;\n  puVar42 = &stack0xffffff68 + uVar5 * -5;\n  puVar36 = &stack0xffffff68 + uVar5 * -6;\n  iVar3 = -(iVar41 + 7U & 0xfffffff8);\n  puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6;\n  iVar35 = param_2 + iVar41 + iVar41;\n  puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7;\n  iVar38 = iVar40 * 8;\n  puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8;\n  iVar34 = iVar35 + iVar41;\n  puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9;\n  iVar44 = iVar34 + iVar41;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2);\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2);\n  local_64 = uVar8 & 1 | uVar7 & 2;\n  iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1);\n  iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40);\n  iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40);\n  iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar13 = iVar40 * 0xc;\n  iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40);\n  iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40);\n  iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar44 = iVar44 + iVar41;\n  iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16;\n  if ((param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)) {\n    if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }\n  puVar20 = param_4 + iVar41;\n  *(int *)(puVar42 + iVar41) = iVar16;\n  piVar21 = (int *)(puVar36 + iVar41);\n  if (iVar40 == param_5) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);\n    *piVar21 = iVar9;\n    puVar28 = (uint *)(param_4 + uVar39 * 4);\n    iVar9 = iVar40;\n    do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }\nLAB_0005d5e4:\n    iVar9 = 0;\n    if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);\n    iVar9 = param_5;\n    if (iVar10 == 0) goto LAB_0005d5f0;\n    if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);\n    iVar4 = param_5;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }\nLAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;\n    local_64 = local_64 ^ (uVar39 | 1);\n  }\n  else {\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }\nLAB_0005d68c:\n  iVar9 = *piVar21;\n  iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40);\n  *(int *)(puVar6 + iVar41) = iVar9 + iVar4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43);\n  iVar9 = param_6 + iVar38 + 4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43);\n  iVar10 = param_6 + iVar40 * 0x10 + 8;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43);\n  iVar4 = param_6 + iVar40 * 0x18 + 0xc;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40);\n  if (*(int *)(puVar29 + iVar41) == 1) {\n    iVar11 = param_6 + iVar40 * 0x1c + 0xc;\n    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);\n  }\n  else if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  *(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18;\n  (*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40);\n  iVar11 = *(int *)(puVar26 + iVar41);\n  if (iVar11 == 1) {\n    iVar11 = *piVar21;\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);\n    iVar11 = iVar11 + iVar35;\n    iVar35 = *piVar21;\n  }\n  else {\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }\n  if (iVar35 != 0) {\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);\n    iVar11 = iVar11 + iVar35;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  piVar21 = (int *)(param_1 + iVar38 + iVar38);\n  *piVar21 = iVar11;\n  (*(code *)puVar50)(param_1,param_2,param_4,iVar40);\n  if (param_5 < param_3) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10;\n  iVar13 = param_6 + iVar40 * 0x20 + 0x10;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4;\n  iVar35 = iVar40;\n  iVar12 = iVar9;\n  (*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();\n  if (iVar19 == *(int *)puVar48) {\n    return;\n  }\n  uVar18 = 0x5e16c;\n  puVar48 = PTR___stack_chk_fail_0009d4d0;\n  (*(code *)PTR___stack_chk_fail_0009d4d0)();\n  puVar50 = puVar48 + 0x46ed0;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4;\n  *(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5;\n  iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4);\n  iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10);\n  *(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12;\n  *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13;\n  *(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18;\n  *(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0;\n  uVar39 = (local_64 + 2) / 3;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11;\n  iVar10 = uVar39 + 1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35;\n  uVar7 = iVar19 + uVar39 * -2;\n  iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc);\n  iVar19 = iVar10 * 8;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19;\n  iVar4 = param_1 + iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8;\n  if (uVar7 == 0) {\n    uVar8 = 0;\nLAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\nLAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);\n    piVar21 = (int *)(iVar11 + iVar35);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar11 = iVar9 + iVar35;\n    *piVar21 = iVar19;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);\n    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n    *puVar45 = 0;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n  uVar8 = (**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar7) {\n    iVar12 = uVar39 - uVar7;\n    puVar33 = (uint *)(iVar11 + uVar7 * 4);\n    puVar28 = (uint *)(iVar4 + uVar7 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e408:\n  iVar34 = *piVar21;\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1);\n  iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39);\n  iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n  iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13;\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  if (iVar19 == 0) {\n    uVar8 = 0;\nLAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\nLAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar19 = iVar9 + iVar35;\n    *(undefined4 *)(param_1 + iVar35) = uVar18;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);\n    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;\n  }\n  else {\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar8 = (**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar24) {\n    iVar11 = uVar39 - uVar24;\n    puVar33 = (uint *)(param_1 + uVar24 * 4);\n    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e618:\n  iVar13 = *(int *)(param_1 + iVar35);\n  uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1);\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51;\n  iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39);\n  iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c);\n  iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n  *(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =\n       (iVar19 - iVar11) + (uVar8 + iVar13) * 2;\n  bVar2 = uVar24 < 0x39;\n  iVar19 = iVar9 + iVar12 + -4;\n  if (bVar2) {\n    pcVar49 = *(code **)(iVar34 + -0x7bd0);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\nLAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    iVar35 = iVar9 + (iVar35 + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar49 = *(code **)(iVar4 + -0x7f84);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\n  else {\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\nLAB_0005e7f0:\n  iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n  pcVar49 = *(code **)(iVar4 + -0x7cf8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51;\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10;\n  (*pcVar49)(param_1,iVar19,iVar9,uVar39);\n  return;\n}" (primitive_type "void") (function_declarator "__gmpn_toom62_mul(int param_1,int param_2,int param_3,undefined1 *param_4,int param_5,\n                      int param_6)" (identifier "__gmpn_toom62_mul") (parameter_list "(int param_1,int param_2,int param_3,undefined1 *param_4,int param_5,\n                      int param_6)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "undefined1 *param_4" (type_identifier "undefined1") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) (, ",") (parameter_declaration "int param_6" (primitive_type "int") (identifier "param_6")) () ")"))) (compound_statement "{\n  int *piVar1;\n  bool bVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined1 *puVar6;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int *piVar17;\n  undefined4 uVar18;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  uint uVar24;\n  uint *puVar25;\n  undefined1 *puVar26;\n  undefined1 *puVar27;\n  uint *puVar28;\n  undefined1 *puVar29;\n  uint uVar30;\n  uint *puVar31;\n  undefined4 uVar32;\n  uint *puVar33;\n  int iVar34;\n  int iVar35;\n  undefined1 *puVar36;\n  undefined1 *puVar37;\n  int iVar38;\n  uint uVar39;\n  int iVar40;\n  int iVar41;\n  undefined1 *puVar42;\n  int iVar43;\n  int iVar44;\n  undefined4 *puVar45;\n  undefined1 *puVar46;\n  undefined1 *puVar47;\n  undefined *puVar48;\n  code *pcVar49;\n  undefined *puVar50;\n  undefined4 uVar51;\n  uint auStack_140 [30];\n  undefined1 auStack_c8 [4];\n  undefined4 uStack_c4;\n  undefined1 auStack_c0 [4];\n  int aiStack_bc [8];\n  int iStack_9c;\n  uint local_64;\n  \n  puVar48 = PTR___stack_chk_guard_0009d540;\n  iVar19 = *(int *)PTR___stack_chk_guard_0009d540;\n  if (param_3 < param_5 * 3) {\n    uVar39 = param_5 + -1 >> 1;\n  }\n  else {\n    uVar39 = (param_3 - 1U) / 6;\n  }\n  iVar40 = uVar39 + 1;\n  iVar43 = uVar39 + 2;\n  iVar41 = iVar40 * 4;\n  iVar4 = iVar43 * 4;\n  param_3 = param_3 + iVar40 * -5;\n  uVar5 = iVar4 + 7U & 0xfffffff8;\n  puVar26 = &stack0xffffff68 + -uVar5;\n  puVar29 = &stack0xffffff68 + uVar5 * -2;\n  param_5 = param_5 - iVar40;\n  puVar42 = &stack0xffffff68 + uVar5 * -5;\n  puVar36 = &stack0xffffff68 + uVar5 * -6;\n  iVar3 = -(iVar41 + 7U & 0xfffffff8);\n  puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6;\n  iVar35 = param_2 + iVar41 + iVar41;\n  puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7;\n  iVar38 = iVar40 * 8;\n  puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8;\n  iVar34 = iVar35 + iVar41;\n  puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9;\n  iVar44 = iVar34 + iVar41;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2);\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;\n  uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2);\n  local_64 = uVar8 & 1 | uVar7 & 2;\n  iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1);\n  iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40);\n  iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40);\n  iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar13 = iVar40 * 0xc;\n  iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40);\n  iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40);\n  iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);\n  iVar44 = iVar44 + iVar41;\n  iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16;\n  if ((param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)) {\n    if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }\n  puVar20 = param_4 + iVar41;\n  *(int *)(puVar42 + iVar41) = iVar16;\n  piVar21 = (int *)(puVar36 + iVar41);\n  if (iVar40 == param_5) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);\n    *piVar21 = iVar9;\n    puVar28 = (uint *)(param_4 + uVar39 * 4);\n    iVar9 = iVar40;\n    do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }\nLAB_0005d5e4:\n    iVar9 = 0;\n    if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);\n    iVar9 = param_5;\n    if (iVar10 == 0) goto LAB_0005d5f0;\n    if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);\n    iVar4 = param_5;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }\nLAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;\n    local_64 = local_64 ^ (uVar39 | 1);\n  }\n  else {\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }\nLAB_0005d68c:\n  iVar9 = *piVar21;\n  iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40);\n  *(int *)(puVar6 + iVar41) = iVar9 + iVar4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43);\n  iVar9 = param_6 + iVar38 + 4;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43);\n  iVar10 = param_6 + iVar40 * 0x10 + 8;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43);\n  iVar4 = param_6 + iVar40 * 0x18 + 0xc;\n  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40);\n  if (*(int *)(puVar29 + iVar41) == 1) {\n    iVar11 = param_6 + iVar40 * 0x1c + 0xc;\n    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);\n  }\n  else if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  *(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18;\n  (*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40);\n  iVar11 = *(int *)(puVar26 + iVar41);\n  if (iVar11 == 1) {\n    iVar11 = *piVar21;\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);\n    iVar11 = iVar11 + iVar35;\n    iVar35 = *piVar21;\n  }\n  else {\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }\n  if (iVar35 != 0) {\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);\n    iVar11 = iVar11 + iVar35;\n  }\n  puVar50 = PTR___gmpn_mul_n_0009d364;\n  piVar21 = (int *)(param_1 + iVar38 + iVar38);\n  *piVar21 = iVar11;\n  (*(code *)puVar50)(param_1,param_2,param_4,iVar40);\n  if (param_5 < param_3) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10;\n  iVar13 = param_6 + iVar40 * 0x20 + 0x10;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4;\n  iVar35 = iVar40;\n  iVar12 = iVar9;\n  (*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();\n  if (iVar19 == *(int *)puVar48) {\n    return;\n  }\n  uVar18 = 0x5e16c;\n  puVar48 = PTR___stack_chk_fail_0009d4d0;\n  (*(code *)PTR___stack_chk_fail_0009d4d0)();\n  puVar50 = puVar48 + 0x46ed0;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4;\n  *(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5;\n  iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4);\n  iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10);\n  *(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12;\n  *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13;\n  *(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18;\n  *(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0;\n  uVar39 = (local_64 + 2) / 3;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11;\n  iVar10 = uVar39 + 1;\n  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35;\n  uVar7 = iVar19 + uVar39 * -2;\n  iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc);\n  iVar19 = iVar10 * 8;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc;\n  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19;\n  iVar4 = param_1 + iVar10 * 4;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8;\n  if (uVar7 == 0) {\n    uVar8 = 0;\nLAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\nLAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);\n    piVar21 = (int *)(iVar11 + iVar35);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar11 = iVar9 + iVar35;\n    *piVar21 = iVar19;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);\n    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n    *puVar45 = 0;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n  uVar8 = (**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar7) {\n    iVar12 = uVar39 - uVar7;\n    puVar33 = (uint *)(iVar11 + uVar7 * 4);\n    puVar28 = (uint *)(iVar4 + uVar7 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e408:\n  iVar34 = *piVar21;\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1);\n  iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39);\n  iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n  iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2;\n  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13;\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  if (iVar19 == 0) {\n    uVar8 = 0;\nLAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\nLAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar19 = iVar9 + iVar35;\n    *(undefined4 *)(param_1 + iVar35) = uVar18;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);\n    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;\n  }\n  else {\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar8 = (**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24);\n  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  if (uVar39 != uVar24) {\n    iVar11 = uVar39 - uVar24;\n    puVar33 = (uint *)(param_1 + uVar24 * 4);\n    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }\n  }\nLAB_0005e618:\n  iVar13 = *(int *)(param_1 + iVar35);\n  uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n  iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1);\n  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51;\n  iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39);\n  iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c);\n  iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n  *(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =\n       (iVar19 - iVar11) + (uVar8 + iVar13) * 2;\n  bVar2 = uVar24 < 0x39;\n  iVar19 = iVar9 + iVar12 + -4;\n  if (bVar2) {\n    pcVar49 = *(code **)(iVar34 + -0x7bd0);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\nLAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    iVar35 = iVar9 + (iVar35 + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar49 = *(code **)(iVar4 + -0x7f84);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\n  else {\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\nLAB_0005e7f0:\n  iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n  uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n  pcVar49 = *(code **)(iVar4 + -0x7cf8);\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51;\n  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18;\n  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10;\n  (*pcVar49)(param_1,iVar19,iVar9,uVar39);\n  return;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined1 *puVar6;" (type_identifier "undefined1") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int *piVar17;" (primitive_type "int") (pointer_declarator "*piVar17" (* "*") (identifier "piVar17")) (; ";")) (declaration "undefined4 uVar18;" (type_identifier "undefined4") (identifier "uVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "undefined1 *puVar20;" (type_identifier "undefined1") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "int *piVar21;" (primitive_type "int") (pointer_declarator "*piVar21" (* "*") (identifier "piVar21")) (; ";")) (declaration "int *piVar22;" (primitive_type "int") (pointer_declarator "*piVar22" (* "*") (identifier "piVar22")) (; ";")) (declaration "undefined4 *puVar23;" (type_identifier "undefined4") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "uint *puVar25;" (type_identifier "uint") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "undefined1 *puVar26;" (type_identifier "undefined1") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "undefined1 *puVar27;" (type_identifier "undefined1") (pointer_declarator "*puVar27" (* "*") (identifier "puVar27")) (; ";")) (declaration "uint *puVar28;" (type_identifier "uint") (pointer_declarator "*puVar28" (* "*") (identifier "puVar28")) (; ";")) (declaration "undefined1 *puVar29;" (type_identifier "undefined1") (pointer_declarator "*puVar29" (* "*") (identifier "puVar29")) (; ";")) (declaration "uint uVar30;" (type_identifier "uint") (identifier "uVar30") (; ";")) (declaration "uint *puVar31;" (type_identifier "uint") (pointer_declarator "*puVar31" (* "*") (identifier "puVar31")) (; ";")) (declaration "undefined4 uVar32;" (type_identifier "undefined4") (identifier "uVar32") (; ";")) (declaration "uint *puVar33;" (type_identifier "uint") (pointer_declarator "*puVar33" (* "*") (identifier "puVar33")) (; ";")) (declaration "int iVar34;" (primitive_type "int") (identifier "iVar34") (; ";")) (declaration "int iVar35;" (primitive_type "int") (identifier "iVar35") (; ";")) (declaration "undefined1 *puVar36;" (type_identifier "undefined1") (pointer_declarator "*puVar36" (* "*") (identifier "puVar36")) (; ";")) (declaration "undefined1 *puVar37;" (type_identifier "undefined1") (pointer_declarator "*puVar37" (* "*") (identifier "puVar37")) (; ";")) (declaration "int iVar38;" (primitive_type "int") (identifier "iVar38") (; ";")) (declaration "uint uVar39;" (type_identifier "uint") (identifier "uVar39") (; ";")) (declaration "int iVar40;" (primitive_type "int") (identifier "iVar40") (; ";")) (declaration "int iVar41;" (primitive_type "int") (identifier "iVar41") (; ";")) (declaration "undefined1 *puVar42;" (type_identifier "undefined1") (pointer_declarator "*puVar42" (* "*") (identifier "puVar42")) (; ";")) (declaration "int iVar43;" (primitive_type "int") (identifier "iVar43") (; ";")) (declaration "int iVar44;" (primitive_type "int") (identifier "iVar44") (; ";")) (declaration "undefined4 *puVar45;" (type_identifier "undefined4") (pointer_declarator "*puVar45" (* "*") (identifier "puVar45")) (; ";")) (declaration "undefined1 *puVar46;" (type_identifier "undefined1") (pointer_declarator "*puVar46" (* "*") (identifier "puVar46")) (; ";")) (declaration "undefined1 *puVar47;" (type_identifier "undefined1") (pointer_declarator "*puVar47" (* "*") (identifier "puVar47")) (; ";")) (declaration "undefined *puVar48;" (type_identifier "undefined") (pointer_declarator "*puVar48" (* "*") (identifier "puVar48")) (; ";")) (declaration "code *pcVar49;" (type_identifier "code") (pointer_declarator "*pcVar49" (* "*") (identifier "pcVar49")) (; ";")) (declaration "undefined *puVar50;" (type_identifier "undefined") (pointer_declarator "*puVar50" (* "*") (identifier "puVar50")) (; ";")) (declaration "undefined4 uVar51;" (type_identifier "undefined4") (identifier "uVar51") (; ";")) (declaration "uint auStack_140 [30];" (type_identifier "uint") (array_declarator "auStack_140 [30]" (identifier "auStack_140") ([ "[") (number_literal "30") (] "]")) (; ";")) (declaration "undefined1 auStack_c8 [4];" (type_identifier "undefined1") (array_declarator "auStack_c8 [4]" (identifier "auStack_c8") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 uStack_c4;" (type_identifier "undefined4") (identifier "uStack_c4") (; ";")) (declaration "undefined1 auStack_c0 [4];" (type_identifier "undefined1") (array_declarator "auStack_c0 [4]" (identifier "auStack_c0") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int aiStack_bc [8];" (primitive_type "int") (array_declarator "aiStack_bc [8]" (identifier "aiStack_bc") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "int iStack_9c;" (primitive_type "int") (identifier "iStack_9c") (; ";")) (declaration "uint local_64;" (type_identifier "uint") (identifier "local_64") (; ";")) (expression_statement "puVar48 = PTR___stack_chk_guard_0009d540;" (assignment_expression "puVar48 = PTR___stack_chk_guard_0009d540" (identifier "puVar48") (= "=") (identifier "PTR___stack_chk_guard_0009d540")) (; ";")) (expression_statement "iVar19 = *(int *)PTR___stack_chk_guard_0009d540;" (assignment_expression "iVar19 = *(int *)PTR___stack_chk_guard_0009d540" (identifier "iVar19") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0009d540" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0009d540" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0009d540")))) (; ";")) (if_statement "if (param_3 < param_5 * 3) {\n    uVar39 = param_5 + -1 >> 1;\n  }\n  else {\n    uVar39 = (param_3 - 1U) / 6;\n  }" (if "if") (parenthesized_expression "(param_3 < param_5 * 3)" (( "(") (binary_expression "param_3 < param_5 * 3" (identifier "param_3") (< "<") (binary_expression "param_5 * 3" (identifier "param_5") (* "*") (number_literal "3"))) () ")")) (compound_statement "{\n    uVar39 = param_5 + -1 >> 1;\n  }" ({ "{") (expression_statement "uVar39 = param_5 + -1 >> 1;" (assignment_expression "uVar39 = param_5 + -1 >> 1" (identifier "uVar39") (= "=") (binary_expression "param_5 + -1 >> 1" (binary_expression "param_5 + -1" (identifier "param_5") (+ "+") (number_literal "-1")) (>> ">>") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n    uVar39 = (param_3 - 1U) / 6;\n  }" (else "else") (compound_statement "{\n    uVar39 = (param_3 - 1U) / 6;\n  }" ({ "{") (expression_statement "uVar39 = (param_3 - 1U) / 6;" (assignment_expression "uVar39 = (param_3 - 1U) / 6" (identifier "uVar39") (= "=") (binary_expression "(param_3 - 1U) / 6" (parenthesized_expression "(param_3 - 1U)" (( "(") (binary_expression "param_3 - 1U" (identifier "param_3") (- "-") (number_literal "1U")) () ")")) (/ "/") (number_literal "6"))) (; ";")) (} "}")))) (expression_statement "iVar40 = uVar39 + 1;" (assignment_expression "iVar40 = uVar39 + 1" (identifier "iVar40") (= "=") (binary_expression "uVar39 + 1" (identifier "uVar39") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar43 = uVar39 + 2;" (assignment_expression "iVar43 = uVar39 + 2" (identifier "iVar43") (= "=") (binary_expression "uVar39 + 2" (identifier "uVar39") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar41 = iVar40 * 4;" (assignment_expression "iVar41 = iVar40 * 4" (identifier "iVar41") (= "=") (binary_expression "iVar40 * 4" (identifier "iVar40") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar4 = iVar43 * 4;" (assignment_expression "iVar4 = iVar43 * 4" (identifier "iVar4") (= "=") (binary_expression "iVar43 * 4" (identifier "iVar43") (* "*") (number_literal "4"))) (; ";")) (expression_statement "param_3 = param_3 + iVar40 * -5;" (assignment_expression "param_3 = param_3 + iVar40 * -5" (identifier "param_3") (= "=") (binary_expression "param_3 + iVar40 * -5" (identifier "param_3") (+ "+") (binary_expression "iVar40 * -5" (identifier "iVar40") (* "*") (number_literal "-5")))) (; ";")) (expression_statement "uVar5 = iVar4 + 7U & 0xfffffff8;" (assignment_expression "uVar5 = iVar4 + 7U & 0xfffffff8" (identifier "uVar5") (= "=") (binary_expression "iVar4 + 7U & 0xfffffff8" (binary_expression "iVar4 + 7U" (identifier "iVar4") (+ "+") (number_literal "7U")) (& "&") (number_literal "0xfffffff8"))) (; ";")) (expression_statement "puVar26 = &stack0xffffff68 + -uVar5;" (assignment_expression "puVar26 = &stack0xffffff68 + -uVar5" (identifier "puVar26") (= "=") (binary_expression "&stack0xffffff68 + -uVar5" (pointer_expression "&stack0xffffff68" (& "&") (identifier "stack0xffffff68")) (+ "+") (unary_expression "-uVar5" (- "-") (identifier "uVar5")))) (; ";")) (expression_statement "puVar29 = &stack0xffffff68 + uVar5 * -2;" (assignment_expression "puVar29 = &stack0xffffff68 + uVar5 * -2" (identifier "puVar29") (= "=") (binary_expression "&stack0xffffff68 + uVar5 * -2" (pointer_expression "&stack0xffffff68" (& "&") (identifier "stack0xffffff68")) (+ "+") (binary_expression "uVar5 * -2" (identifier "uVar5") (* "*") (number_literal "-2")))) (; ";")) (expression_statement "param_5 = param_5 - iVar40;" (assignment_expression "param_5 = param_5 - iVar40" (identifier "param_5") (= "=") (binary_expression "param_5 - iVar40" (identifier "param_5") (- "-") (identifier "iVar40"))) (; ";")) (expression_statement "puVar42 = &stack0xffffff68 + uVar5 * -5;" (assignment_expression "puVar42 = &stack0xffffff68 + uVar5 * -5" (identifier "puVar42") (= "=") (binary_expression "&stack0xffffff68 + uVar5 * -5" (pointer_expression "&stack0xffffff68" (& "&") (identifier "stack0xffffff68")) (+ "+") (binary_expression "uVar5 * -5" (identifier "uVar5") (* "*") (number_literal "-5")))) (; ";")) (expression_statement "puVar36 = &stack0xffffff68 + uVar5 * -6;" (assignment_expression "puVar36 = &stack0xffffff68 + uVar5 * -6" (identifier "puVar36") (= "=") (binary_expression "&stack0xffffff68 + uVar5 * -6" (pointer_expression "&stack0xffffff68" (& "&") (identifier "stack0xffffff68")) (+ "+") (binary_expression "uVar5 * -6" (identifier "uVar5") (* "*") (number_literal "-6")))) (; ";")) (expression_statement "iVar3 = -(iVar41 + 7U & 0xfffffff8);" (assignment_expression "iVar3 = -(iVar41 + 7U & 0xfffffff8)" (identifier "iVar3") (= "=") (unary_expression "-(iVar41 + 7U & 0xfffffff8)" (- "-") (parenthesized_expression "(iVar41 + 7U & 0xfffffff8)" (( "(") (binary_expression "iVar41 + 7U & 0xfffffff8" (binary_expression "iVar41 + 7U" (identifier "iVar41") (+ "+") (number_literal "7U")) (& "&") (number_literal "0xfffffff8")) () ")")))) (; ";")) (expression_statement "puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6;" (assignment_expression "puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6" (identifier "puVar37") (= "=") (binary_expression "&stack0xffffff68 + iVar3 + uVar5 * -6" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" (& "&") (identifier "stack0xffffff68")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -6" (identifier "uVar5") (* "*") (number_literal "-6")))) (; ";")) (expression_statement "iVar35 = param_2 + iVar41 + iVar41;" (assignment_expression "iVar35 = param_2 + iVar41 + iVar41" (identifier "iVar35") (= "=") (binary_expression "param_2 + iVar41 + iVar41" (binary_expression "param_2 + iVar41" (identifier "param_2") (+ "+") (identifier "iVar41")) (+ "+") (identifier "iVar41"))) (; ";")) (expression_statement "puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7;" (assignment_expression "puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7" (identifier "puVar46") (= "=") (binary_expression "&stack0xffffff68 + iVar3 + uVar5 * -7" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" (& "&") (identifier "stack0xffffff68")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -7" (identifier "uVar5") (* "*") (number_literal "-7")))) (; ";")) (expression_statement "iVar38 = iVar40 * 8;" (assignment_expression "iVar38 = iVar40 * 8" (identifier "iVar38") (= "=") (binary_expression "iVar40 * 8" (identifier "iVar40") (* "*") (number_literal "8"))) (; ";")) (expression_statement "puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8;" (assignment_expression "puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8" (identifier "puVar47") (= "=") (binary_expression "&stack0xffffff68 + iVar3 + uVar5 * -8" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" (& "&") (identifier "stack0xffffff68")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -8" (identifier "uVar5") (* "*") (number_literal "-8")))) (; ";")) (expression_statement "iVar34 = iVar35 + iVar41;" (assignment_expression "iVar34 = iVar35 + iVar41" (identifier "iVar34") (= "=") (binary_expression "iVar35 + iVar41" (identifier "iVar35") (+ "+") (identifier "iVar41"))) (; ";")) (expression_statement "puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9;" (assignment_expression "puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9" (identifier "puVar6") (= "=") (binary_expression "&stack0xffffff68 + iVar3 + uVar5 * -9" (binary_expression "&stack0xffffff68 + iVar3" (pointer_expression "&stack0xffffff68" (& "&") (identifier "stack0xffffff68")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9")))) (; ";")) (expression_statement "iVar44 = iVar34 + iVar41;" (assignment_expression "iVar44 = iVar34 + iVar41" (identifier "iVar44") (= "=") (binary_expression "iVar34 + iVar41" (identifier "iVar34") (+ "+") (identifier "iVar41"))) (; ";")) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar40")) (; ";")) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2);" (assignment_expression "uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2)" (parenthesized_expression "(*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)" (( "(") (pointer_expression "*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0" (* "*") (cast_expression "(code *)PTR___gmpn_toom_eval_pm1_0009d1e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_toom_eval_pm1_0009d1e0"))) () ")")) (argument_list "(puVar26,puVar29,5,param_2)" (( "(") (identifier "puVar26") (, ",") (identifier "puVar29") (, ",") (number_literal "5") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar40")) (; ";")) (expression_statement "uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2);" (assignment_expression "uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2)" (identifier "uVar8") (= "=") (call_expression "(*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)\n                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2)" (parenthesized_expression "(*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)" (( "(") (pointer_expression "*(code *)PTR___gmpn_toom_eval_pm2_0009d47c" (* "*") (cast_expression "(code *)PTR___gmpn_toom_eval_pm2_0009d47c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_toom_eval_pm2_0009d47c"))) () ")")) (argument_list "(&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2)" (( "(") (binary_expression "&stack0xffffff68 + uVar5 * -3" (pointer_expression "&stack0xffffff68" (& "&") (identifier "stack0xffffff68")) (+ "+") (binary_expression "uVar5 * -3" (identifier "uVar5") (* "*") (number_literal "-3"))) (, ",") (binary_expression "&stack0xffffff68 + uVar5 * -4" (pointer_expression "&stack0xffffff68" (& "&") (identifier "stack0xffffff68")) (+ "+") (binary_expression "uVar5 * -4" (identifier "uVar5") (* "*") (number_literal "-4"))) (, ",") (number_literal "5") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "local_64 = uVar8 & 1 | uVar7 & 2;" (assignment_expression "local_64 = uVar8 & 1 | uVar7 & 2" (identifier "local_64") (= "=") (binary_expression "uVar8 & 1 | uVar7 & 2" (binary_expression "uVar8 & 1" (identifier "uVar8") (& "&") (number_literal "1")) (| "|") (binary_expression "uVar7 & 2" (identifier "uVar7") (& "&") (number_literal "2")))) (; ";")) (expression_statement "iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1)" (identifier "iVar9") (= "=") (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" (( "(") (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" (* "*") (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_lshift_0009d56c"))) () ")")) (argument_list "(puVar42,param_2,iVar40,1)" (( "(") (identifier "puVar42") (, ",") (identifier "param_2") (, ",") (identifier "iVar40") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40);" (assignment_expression "iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40)" (identifier "iVar10") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" (( "(") (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" (* "*") (cast_expression "(code *)PTR___gmpn_add_n_0009d334" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_add_n_0009d334"))) () ")")) (argument_list "(puVar42,puVar42,param_2 + iVar41,iVar40)" (( "(") (identifier "puVar42") (, ",") (identifier "puVar42") (, ",") (binary_expression "param_2 + iVar41" (identifier "param_2") (+ "+") (identifier "iVar41")) (, ",") (identifier "iVar40") () ")")))) (; ";")) (expression_statement "iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (identifier "iVar11") (= "=") (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" (( "(") (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" (* "*") (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_lshift_0009d56c"))) () ")")) (argument_list "(puVar42,puVar42,iVar40,1)" (( "(") (identifier "puVar42") (, ",") (identifier "puVar42") (, ",") (identifier "iVar40") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40);" (assignment_expression "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40)" (identifier "iVar35") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" (( "(") (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" (* "*") (cast_expression "(code *)PTR___gmpn_add_n_0009d334" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_add_n_0009d334"))) () ")")) (argument_list "(puVar42,puVar42,iVar35,iVar40)" (( "(") (identifier "puVar42") (, ",") (identifier "puVar42") (, ",") (identifier "iVar35") (, ",") (identifier "iVar40") () ")")))) (; ";")) (expression_statement "iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);" (assignment_expression "iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (identifier "iVar12") (= "=") (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" (( "(") (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" (* "*") (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_lshift_0009d56c"))) () ")")) (argument_list "(puVar42,puVar42,iVar40,1)" (( "(") (identifier "puVar42") (, ",") (identifier "puVar42") (, ",") (identifier "iVar40") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar13 = iVar40 * 0xc;" (assignment_expression "iVar13 = iVar40 * 0xc" (identifier "iVar13") (= "=") (binary_expression "iVar40 * 0xc" (identifier "iVar40") (* "*") (number_literal "0xc"))) (; ";")) (expression_statement "iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40);" (assignment_expression "iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40)" (identifier "iVar34") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" (( "(") (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" (* "*") (cast_expression "(code *)PTR___gmpn_add_n_0009d334" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_add_n_0009d334"))) () ")")) (argument_list "(puVar42,puVar42,iVar34,iVar40)" (( "(") (identifier "puVar42") (, ",") (identifier "puVar42") (, ",") (identifier "iVar34") (, ",") (identifier "iVar40") () ")")))) (; ";")) (expression_statement "iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);" (assignment_expression "iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (identifier "iVar14") (= "=") (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" (( "(") (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" (* "*") (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_lshift_0009d56c"))) () ")")) (argument_list "(puVar42,puVar42,iVar40,1)" (( "(") (identifier "puVar42") (, ",") (identifier "puVar42") (, ",") (identifier "iVar40") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40);" (assignment_expression "iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40)" (identifier "iVar15") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" (( "(") (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" (* "*") (cast_expression "(code *)PTR___gmpn_add_n_0009d334" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_add_n_0009d334"))) () ")")) (argument_list "(puVar42,puVar42,iVar44,iVar40)" (( "(") (identifier "puVar42") (, ",") (identifier "puVar42") (, ",") (identifier "iVar44") (, ",") (identifier "iVar40") () ")")))) (; ";")) (expression_statement "iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);" (assignment_expression "iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (identifier "iVar16") (= "=") (call_expression "(*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1)" (parenthesized_expression "(*(code *)PTR___gmpn_lshift_0009d56c)" (( "(") (pointer_expression "*(code *)PTR___gmpn_lshift_0009d56c" (* "*") (cast_expression "(code *)PTR___gmpn_lshift_0009d56c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_lshift_0009d56c"))) () ")")) (argument_list "(puVar42,puVar42,iVar40,1)" (( "(") (identifier "puVar42") (, ",") (identifier "puVar42") (, ",") (identifier "iVar40") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar44 = iVar44 + iVar41;" (assignment_expression "iVar44 = iVar44 + iVar41" (identifier "iVar44") (= "=") (binary_expression "iVar44 + iVar41" (identifier "iVar44") (+ "+") (identifier "iVar41"))) (; ";")) (expression_statement "iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16;" (assignment_expression "iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16" (identifier "iVar16") (= "=") (binary_expression "(iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2 + iVar16" (binary_expression "(iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)\n           * 2" (parenthesized_expression "(iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)" (( "(") (binary_expression "iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2" (binary_expression "iVar14 + iVar15" (identifier "iVar14") (+ "+") (identifier "iVar15")) (+ "+") (binary_expression "(iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2" (parenthesized_expression "(iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2)" (( "(") (binary_expression "iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2" (binary_expression "iVar12 + iVar34" (identifier "iVar12") (+ "+") (identifier "iVar34")) (+ "+") (binary_expression "(iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2" (parenthesized_expression "(iVar11 + iVar35 + (iVar9 + iVar10) * 2)" (( "(") (binary_expression "iVar11 + iVar35 + (iVar9 + iVar10) * 2" (binary_expression "iVar11 + iVar35" (identifier "iVar11") (+ "+") (identifier "iVar35")) (+ "+") (binary_expression "(iVar9 + iVar10) * 2" (parenthesized_expression "(iVar9 + iVar10)" (( "(") (binary_expression "iVar9 + iVar10" (identifier "iVar9") (+ "+") (identifier "iVar10")) () ")")) (* "*") (number_literal "2"))) () ")")) (* "*") (number_literal "2"))) () ")")) (* "*") (number_literal "2"))) () ")")) (* "*") (number_literal "2")) (+ "+") (identifier "iVar16"))) (; ";")) (if_statement "if ((param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)) {\n    if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }" (if "if") (parenthesized_expression "((param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0))" (( "(") (binary_expression "(param_3 != 0) &&\n     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)" (parenthesized_expression "(param_3 != 0)" (( "(") (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)" (( "(") (comma_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3)" (identifier "iVar9") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" (( "(") (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" (* "*") (cast_expression "(code *)PTR___gmpn_add_n_0009d334" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_add_n_0009d334"))) () ")")) (argument_list "(puVar42,puVar42,iVar44,param_3)" (( "(") (identifier "puVar42") (, ",") (identifier "puVar42") (, ",") (identifier "iVar44") (, ",") (identifier "param_3") () ")")))) (, ",") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }\n  }" ({ "{") (if_statement "if (param_3 < iVar40) {\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }\n    else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }" (if "if") (parenthesized_expression "(param_3 < iVar40)" (( "(") (binary_expression "param_3 < iVar40" (identifier "param_3") (< "<") (identifier "iVar40")) () ")")) (compound_statement "{\n      piVar21 = (int *)(puVar42 + param_3 * 4);\n      iVar9 = *piVar21;\n      *piVar21 = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }\n    }" ({ "{") (expression_statement "piVar21 = (int *)(puVar42 + param_3 * 4);" (assignment_expression "piVar21 = (int *)(puVar42 + param_3 * 4)" (identifier "piVar21") (= "=") (cast_expression "(int *)(puVar42 + param_3 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar42 + param_3 * 4)" (( "(") (binary_expression "puVar42 + param_3 * 4" (identifier "puVar42") (+ "+") (binary_expression "param_3 * 4" (identifier "param_3") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" (identifier "iVar9") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (expression_statement "*piVar21 = iVar9 + 1;" (assignment_expression "*piVar21 = iVar9 + 1" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar9 + 1 == 0) {\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }" (if "if") (parenthesized_expression "(iVar9 + 1 == 0)" (( "(") (binary_expression "iVar9 + 1 == 0" (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;\n        iVar9 = param_3 + 2;\n        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;\n        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;\n        while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }\n      }" ({ "{") (if_statement "if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;" (if "if") (parenthesized_expression "(iVar40 <= param_3 + 1)" (( "(") (binary_expression "iVar40 <= param_3 + 1" (identifier "iVar40") (<= "<=") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1"))) () ")")) (goto_statement "goto LAB_0005dbd4;" (goto "goto") (statement_identifier "LAB_0005dbd4") (; ";"))) (expression_statement "iVar9 = param_3 + 2;" (assignment_expression "iVar9 = param_3 + 2" (identifier "iVar9") (= "=") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;" (assignment_expression "iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1" (identifier "iVar10") (= "=") (binary_expression "*(int *)(puVar42 + (param_3 + 1) * 4) + 1" (pointer_expression "*(int *)(puVar42 + (param_3 + 1) * 4)" (* "*") (cast_expression "(int *)(puVar42 + (param_3 + 1) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar42 + (param_3 + 1) * 4)" (( "(") (binary_expression "puVar42 + (param_3 + 1) * 4" (identifier "puVar42") (+ "+") (binary_expression "(param_3 + 1) * 4" (parenthesized_expression "(param_3 + 1)" (( "(") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;" (assignment_expression "*(int *)(puVar42 + (param_3 + 1) * 4) = iVar10" (pointer_expression "*(int *)(puVar42 + (param_3 + 1) * 4)" (* "*") (cast_expression "(int *)(puVar42 + (param_3 + 1) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar42 + (param_3 + 1) * 4)" (( "(") (binary_expression "puVar42 + (param_3 + 1) * 4" (identifier "puVar42") (+ "+") (binary_expression "(param_3 + 1) * 4" (parenthesized_expression "(param_3 + 1)" (( "(") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (while_statement "while (iVar10 == 0) {\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }" (while "while") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (iVar9 == iVar40) goto LAB_0005dbd4;\n          iVar9 = iVar9 + 1;\n          iVar10 = piVar21[2] + 1;\n          piVar21[2] = iVar10;\n          piVar21 = piVar21 + 1;\n        }" ({ "{") (if_statement "if (iVar9 == iVar40) goto LAB_0005dbd4;" (if "if") (parenthesized_expression "(iVar9 == iVar40)" (( "(") (binary_expression "iVar9 == iVar40" (identifier "iVar9") (== "==") (identifier "iVar40")) () ")")) (goto_statement "goto LAB_0005dbd4;" (goto "goto") (statement_identifier "LAB_0005dbd4") (; ";"))) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar10 = piVar21[2] + 1;" (assignment_expression "iVar10 = piVar21[2] + 1" (identifier "iVar10") (= "=") (binary_expression "piVar21[2] + 1" (subscript_expression "piVar21[2]" (identifier "piVar21") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar21[2] = iVar10;" (assignment_expression "piVar21[2] = iVar10" (subscript_expression "piVar21[2]" (identifier "piVar21") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "piVar21 = piVar21 + 1;" (assignment_expression "piVar21 = piVar21 + 1" (identifier "piVar21") (= "=") (binary_expression "piVar21 + 1" (identifier "piVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }" (else "else") (compound_statement "{\nLAB_0005dbd4:\n      iVar16 = iVar16 + 1;\n    }" ({ "{") (labeled_statement "LAB_0005dbd4:\n      iVar16 = iVar16 + 1;" (statement_identifier "LAB_0005dbd4") (: ":") (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1"))) (; ";"))) (} "}")))) (} "}"))) (expression_statement "puVar20 = param_4 + iVar41;" (assignment_expression "puVar20 = param_4 + iVar41" (identifier "puVar20") (= "=") (binary_expression "param_4 + iVar41" (identifier "param_4") (+ "+") (identifier "iVar41"))) (; ";")) (expression_statement "*(int *)(puVar42 + iVar41) = iVar16;" (assignment_expression "*(int *)(puVar42 + iVar41) = iVar16" (pointer_expression "*(int *)(puVar42 + iVar41)" (* "*") (cast_expression "(int *)(puVar42 + iVar41)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar42 + iVar41)" (( "(") (binary_expression "puVar42 + iVar41" (identifier "puVar42") (+ "+") (identifier "iVar41")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "piVar21 = (int *)(puVar36 + iVar41);" (assignment_expression "piVar21 = (int *)(puVar36 + iVar41)" (identifier "piVar21") (= "=") (cast_expression "(int *)(puVar36 + iVar41)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + iVar41)" (( "(") (binary_expression "puVar36 + iVar41" (identifier "puVar36") (+ "+") (identifier "iVar41")) () ")")))) (; ";")) (if_statement "if (iVar40 == param_5) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);\n    *piVar21 = iVar9;\n    puVar28 = (uint *)(param_4 + uVar39 * 4);\n    iVar9 = iVar40;\n    do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }\nLAB_0005d5e4:\n    iVar9 = 0;\n    if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);\n    iVar9 = param_5;\n    if (iVar10 == 0) goto LAB_0005d5f0;\n    if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);\n    iVar4 = param_5;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }\nLAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;\n    local_64 = local_64 ^ (uVar39 | 1);\n  }\n  else {\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar40 == param_5)" (( "(") (binary_expression "iVar40 == param_5" (identifier "iVar40") (== "==") (identifier "param_5")) () ")")) (compound_statement "{\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);\n    *piVar21 = iVar9;\n    puVar28 = (uint *)(param_4 + uVar39 * 4);\n    iVar9 = iVar40;\n    do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }\nLAB_0005d5e4:\n    iVar9 = 0;\n    if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }\nLAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);\n    iVar9 = param_5;\n    if (iVar10 == 0) goto LAB_0005d5f0;\n    if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }\nLAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;\nLAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);\n    iVar4 = param_5;\n    if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }\nLAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;\n    local_64 = local_64 ^ (uVar39 | 1);\n  }" ({ "{") (expression_statement "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40)" (identifier "iVar9") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" (( "(") (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" (* "*") (cast_expression "(code *)PTR___gmpn_add_n_0009d334" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_add_n_0009d334"))) () ")")) (argument_list "(puVar36,param_4,puVar20,iVar40)" (( "(") (identifier "puVar36") (, ",") (identifier "param_4") (, ",") (identifier "puVar20") (, ",") (identifier "iVar40") () ")")))) (; ";")) (expression_statement "*piVar21 = iVar9;" (assignment_expression "*piVar21 = iVar9" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "puVar28 = (uint *)(param_4 + uVar39 * 4);" (assignment_expression "puVar28 = (uint *)(param_4 + uVar39 * 4)" (identifier "puVar28") (= "=") (cast_expression "(uint *)(param_4 + uVar39 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + uVar39 * 4)" (( "(") (binary_expression "param_4 + uVar39 * 4" (identifier "param_4") (+ "+") (binary_expression "uVar39 * 4" (identifier "uVar39") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iVar9 = iVar40;" (assignment_expression "iVar9 = iVar40" (identifier "iVar9") (= "=") (identifier "iVar40")) (; ";")) (do_statement "do {\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);" (do "do") (compound_statement "{\n      iVar9 = iVar9 + -1;\n      if (iVar9 < 0) goto LAB_0005ddc8;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    }" ({ "{") (expression_statement "iVar9 = iVar9 + -1;" (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar9 < 0) goto LAB_0005ddc8;" (if "if") (parenthesized_expression "(iVar9 < 0)" (( "(") (binary_expression "iVar9 < 0" (identifier "iVar9") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005ddc8;" (goto "goto") (statement_identifier "LAB_0005ddc8") (; ";"))) (expression_statement "uVar7 = *puVar28;" (assignment_expression "uVar7 = *puVar28" (identifier "uVar7") (= "=") (pointer_expression "*puVar28" (* "*") (identifier "puVar28"))) (; ";")) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" (identifier "puVar28") (= "=") (binary_expression "puVar28 + -1" (identifier "puVar28") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar7 == puVar28[uVar39 + 2])" (( "(") (binary_expression "uVar7 == puVar28[uVar39 + 2]" (identifier "uVar7") (== "==") (subscript_expression "puVar28[uVar39 + 2]" (identifier "puVar28") ([ "[") (binary_expression "uVar39 + 2" (identifier "uVar39") (+ "+") (number_literal "2")) (] "]"))) () ")")) (; ";")) (if_statement "if (puVar28[uVar39 + 2] < uVar7) {\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }\n    else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }" (if "if") (parenthesized_expression "(puVar28[uVar39 + 2] < uVar7)" (( "(") (binary_expression "puVar28[uVar39 + 2] < uVar7" (subscript_expression "puVar28[uVar39 + 2]" (identifier "puVar28") ([ "[") (binary_expression "uVar39 + 2" (identifier "uVar39") (+ "+") (number_literal "2")) (] "]")) (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\nLAB_0005ddc8:\n      uVar39 = 0;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n    }" ({ "{") (labeled_statement "LAB_0005ddc8:\n      uVar39 = 0;" (statement_identifier "LAB_0005ddc8") (: ":") (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" (identifier "uVar39") (= "=") (number_literal "0")) (; ";"))) (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" (( "(") (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" (* "*") (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_sub_n_0009d514"))) () ")")) (argument_list "(puVar37,param_4,puVar20,param_5)" (( "(") (identifier "puVar37") (, ",") (identifier "param_4") (, ",") (identifier "puVar20") (, ",") (identifier "param_5") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }" (else "else") (compound_statement "{\n      uVar39 = 2;\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n    }" ({ "{") (expression_statement "uVar39 = 2;" (assignment_expression "uVar39 = 2" (identifier "uVar39") (= "=") (number_literal "2")) (; ";")) (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" (( "(") (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" (* "*") (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_sub_n_0009d514"))) () ")")) (argument_list "(puVar37,puVar20,param_4,param_5)" (( "(") (identifier "puVar37") (, ",") (identifier "puVar20") (, ",") (identifier "param_4") (, ",") (identifier "param_5") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_0005d5e4:\n    iVar9 = 0;" (statement_identifier "LAB_0005d5e4") (: ":") (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";"))) (if_statement "if (param_5 == 0) {\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }\n      if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }\n      goto LAB_0005da2c;\n    }" ({ "{") (labeled_statement "LAB_0005d5f0:\n      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }" (statement_identifier "LAB_0005d5f0") (: ":") (if_statement "if ((puVar36 != puVar46) && (iVar9 < iVar43)) {\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }" (if "if") (parenthesized_expression "((puVar36 != puVar46) && (iVar9 < iVar43))" (( "(") (binary_expression "(puVar36 != puVar46) && (iVar9 < iVar43)" (parenthesized_expression "(puVar36 != puVar46)" (( "(") (binary_expression "puVar36 != puVar46" (identifier "puVar36") (!= "!=") (identifier "puVar46")) () ")")) (&& "&&") (parenthesized_expression "(iVar9 < iVar43)" (( "(") (binary_expression "iVar9 < iVar43" (identifier "iVar9") (< "<") (identifier "iVar43")) () ")"))) () ")")) (compound_statement "{\nLAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;\n      }" ({ "{") (labeled_statement "LAB_0005d600:\n        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;" (statement_identifier "LAB_0005d600") (: ":") (expression_statement "(*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)\n        ;" (call_expression "(*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" (( "(") (pointer_expression "*(code *)PTR_memcpy_0009d544" (* "*") (cast_expression "(code *)PTR_memcpy_0009d544" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_0009d544"))) () ")")) (argument_list "(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)" (( "(") (binary_expression "puVar46 + iVar9 * 4" (identifier "puVar46") (+ "+") (binary_expression "iVar9 * 4" (identifier "iVar9") (* "*") (number_literal "4"))) (, ",") (binary_expression "puVar36 + iVar9 * 4" (identifier "puVar36") (+ "+") (binary_expression "iVar9 * 4" (identifier "iVar9") (* "*") (number_literal "4"))) (, ",") (binary_expression "(iVar43 - iVar9) * 4" (parenthesized_expression "(iVar43 - iVar9)" (( "(") (binary_expression "iVar43 - iVar9" (identifier "iVar43") (- "-") (identifier "iVar9")) () ")")) (* "*") (number_literal "4")) () ")"))) (; ";"))) (} "}")))) (if_statement "if (uVar39 != 0) {\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }" (if "if") (parenthesized_expression "(uVar39 != 0)" (( "(") (binary_expression "uVar39 != 0" (identifier "uVar39") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (param_5 != 0) goto LAB_0005df00;\n        iVar4 = 0;\n        goto LAB_0005d63c;\n      }" ({ "{") (if_statement "if (param_5 != 0) goto LAB_0005df00;" (if "if") (parenthesized_expression "(param_5 != 0)" (( "(") (binary_expression "param_5 != 0" (identifier "param_5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005df00;" (goto "goto") (statement_identifier "LAB_0005df00") (; ";"))) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0005d63c;" (goto "goto") (statement_identifier "LAB_0005d63c") (; ";")) (} "}"))) (goto_statement "goto LAB_0005da2c;" (goto "goto") (statement_identifier "LAB_0005da2c") (; ";")) (} "}"))) (labeled_statement "LAB_0005d980:\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);" (statement_identifier "LAB_0005d980") (: ":") (expression_statement "iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);" (assignment_expression "iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5)" (identifier "iVar10") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" (( "(") (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" (* "*") (cast_expression "(code *)PTR___gmpn_add_n_0009d334" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_add_n_0009d334"))) () ")")) (argument_list "(puVar46,puVar36,puVar20,param_5)" (( "(") (identifier "puVar46") (, ",") (identifier "puVar36") (, ",") (identifier "puVar20") (, ",") (identifier "param_5") () ")")))) (; ";"))) (expression_statement "iVar9 = param_5;" (assignment_expression "iVar9 = param_5" (identifier "iVar9") (= "=") (identifier "param_5")) (; ";")) (if_statement "if (iVar10 == 0) goto LAB_0005d5f0;" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005d5f0;" (goto "goto") (statement_identifier "LAB_0005d5f0") (; ";"))) (if_statement "if (param_5 < iVar43) {\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }" (if "if") (parenthesized_expression "(param_5 < iVar43)" (( "(") (binary_expression "param_5 < iVar43" (identifier "param_5") (< "<") (identifier "iVar43")) () ")")) (compound_statement "{\n      piVar17 = (int *)(puVar36 + param_5 * 4);\n      iVar10 = *piVar17;\n      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;\n      iVar9 = param_5 + 1;\n      if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }\n      goto LAB_0005d5f0;\n    }" ({ "{") (expression_statement "piVar17 = (int *)(puVar36 + param_5 * 4);" (assignment_expression "piVar17 = (int *)(puVar36 + param_5 * 4)" (identifier "piVar17") (= "=") (cast_expression "(int *)(puVar36 + param_5 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + param_5 * 4)" (( "(") (binary_expression "puVar36 + param_5 * 4" (identifier "puVar36") (+ "+") (binary_expression "param_5 * 4" (identifier "param_5") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iVar10 = *piVar17;" (assignment_expression "iVar10 = *piVar17" (identifier "iVar10") (= "=") (pointer_expression "*piVar17" (* "*") (identifier "piVar17"))) (; ";")) (expression_statement "*(int *)(puVar46 + param_5 * 4) = iVar10 + 1;" (assignment_expression "*(int *)(puVar46 + param_5 * 4) = iVar10 + 1" (pointer_expression "*(int *)(puVar46 + param_5 * 4)" (* "*") (cast_expression "(int *)(puVar46 + param_5 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar46 + param_5 * 4)" (( "(") (binary_expression "puVar46 + param_5 * 4" (identifier "puVar46") (+ "+") (binary_expression "param_5 * 4" (identifier "param_5") (* "*") (number_literal "4"))) () ")")))) (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar9 = param_5 + 1;" (assignment_expression "iVar9 = param_5 + 1" (identifier "iVar9") (= "=") (binary_expression "param_5 + 1" (identifier "param_5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar10 + 1 == 0) {\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }" (if "if") (parenthesized_expression "(iVar10 + 1 == 0)" (( "(") (binary_expression "iVar10 + 1 == 0" (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar10 = (param_5 + 1) * 4;\n        if (iVar40 <= param_5) goto LAB_0005da20;\n        iVar9 = param_5 + 2;\n        iVar11 = *(int *)(puVar36 + iVar10) + 1;\n        *(int *)(puVar46 + iVar10) = iVar11;\n        piVar22 = (int *)(puVar46 + param_5 * 4);\n        while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }\n      }" ({ "{") (expression_statement "iVar10 = (param_5 + 1) * 4;" (assignment_expression "iVar10 = (param_5 + 1) * 4" (identifier "iVar10") (= "=") (binary_expression "(param_5 + 1) * 4" (parenthesized_expression "(param_5 + 1)" (( "(") (binary_expression "param_5 + 1" (identifier "param_5") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) (; ";")) (if_statement "if (iVar40 <= param_5) goto LAB_0005da20;" (if "if") (parenthesized_expression "(iVar40 <= param_5)" (( "(") (binary_expression "iVar40 <= param_5" (identifier "iVar40") (<= "<=") (identifier "param_5")) () ")")) (goto_statement "goto LAB_0005da20;" (goto "goto") (statement_identifier "LAB_0005da20") (; ";"))) (expression_statement "iVar9 = param_5 + 2;" (assignment_expression "iVar9 = param_5 + 2" (identifier "iVar9") (= "=") (binary_expression "param_5 + 2" (identifier "param_5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar11 = *(int *)(puVar36 + iVar10) + 1;" (assignment_expression "iVar11 = *(int *)(puVar36 + iVar10) + 1" (identifier "iVar11") (= "=") (binary_expression "*(int *)(puVar36 + iVar10) + 1" (pointer_expression "*(int *)(puVar36 + iVar10)" (* "*") (cast_expression "(int *)(puVar36 + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + iVar10)" (( "(") (binary_expression "puVar36 + iVar10" (identifier "puVar36") (+ "+") (identifier "iVar10")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(puVar46 + iVar10) = iVar11;" (assignment_expression "*(int *)(puVar46 + iVar10) = iVar11" (pointer_expression "*(int *)(puVar46 + iVar10)" (* "*") (cast_expression "(int *)(puVar46 + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar46 + iVar10)" (( "(") (binary_expression "puVar46 + iVar10" (identifier "puVar46") (+ "+") (identifier "iVar10")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "piVar22 = (int *)(puVar46 + param_5 * 4);" (assignment_expression "piVar22 = (int *)(puVar46 + param_5 * 4)" (identifier "piVar22") (= "=") (cast_expression "(int *)(puVar46 + param_5 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar46 + param_5 * 4)" (( "(") (binary_expression "puVar46 + param_5 * 4" (identifier "puVar46") (+ "+") (binary_expression "param_5 * 4" (identifier "param_5") (* "*") (number_literal "4"))) () ")")))) (; ";")) (while_statement "while (iVar11 == 0) {\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }" (while "while") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (iVar9 == iVar43) goto LAB_0005da20;\n          piVar1 = piVar17 + 2;\n          iVar9 = iVar9 + 1;\n          piVar17 = piVar17 + 1;\n          iVar11 = *piVar1 + 1;\n          piVar22[2] = iVar11;\n          piVar22 = piVar22 + 1;\n        }" ({ "{") (if_statement "if (iVar9 == iVar43) goto LAB_0005da20;" (if "if") (parenthesized_expression "(iVar9 == iVar43)" (( "(") (binary_expression "iVar9 == iVar43" (identifier "iVar9") (== "==") (identifier "iVar43")) () ")")) (goto_statement "goto LAB_0005da20;" (goto "goto") (statement_identifier "LAB_0005da20") (; ";"))) (expression_statement "piVar1 = piVar17 + 2;" (assignment_expression "piVar1 = piVar17 + 2" (identifier "piVar1") (= "=") (binary_expression "piVar17 + 2" (identifier "piVar17") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" (identifier "piVar17") (= "=") (binary_expression "piVar17 + 1" (identifier "piVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar11 = *piVar1 + 1;" (assignment_expression "iVar11 = *piVar1 + 1" (identifier "iVar11") (= "=") (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar22[2] = iVar11;" (assignment_expression "piVar22[2] = iVar11" (subscript_expression "piVar22[2]" (identifier "piVar22") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" (identifier "piVar22") (= "=") (binary_expression "piVar22 + 1" (identifier "piVar22") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_0005d5f0;" (goto "goto") (statement_identifier "LAB_0005d5f0") (; ";")) (} "}"))) (labeled_statement "LAB_0005da20:\n    if (uVar39 == 0) goto LAB_0005da2c;" (statement_identifier "LAB_0005da20") (: ":") (if_statement "if (uVar39 == 0) goto LAB_0005da2c;" (if "if") (parenthesized_expression "(uVar39 == 0)" (( "(") (binary_expression "uVar39 == 0" (identifier "uVar39") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005da2c;" (goto "goto") (statement_identifier "LAB_0005da2c") (; ";")))) (labeled_statement "LAB_0005df00:\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);" (statement_identifier "LAB_0005df00") (: ":") (expression_statement "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5)" (identifier "iVar9") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" (( "(") (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" (* "*") (cast_expression "(code *)PTR___gmpn_add_n_0009d334" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_add_n_0009d334"))) () ")")) (argument_list "(puVar47,puVar37,puVar20,param_5)" (( "(") (identifier "puVar47") (, ",") (identifier "puVar37") (, ",") (identifier "puVar20") (, ",") (identifier "param_5") () ")")))) (; ";"))) (expression_statement "iVar4 = param_5;" (assignment_expression "iVar4 = param_5" (identifier "iVar4") (= "=") (identifier "param_5")) (; ";")) (if_statement "if (iVar9 == 0) {\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }\n    else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0005d63c:\n      uVar18 = 0;\n      if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }\n    }" ({ "{") (labeled_statement "LAB_0005d63c:\n      uVar18 = 0;" (statement_identifier "LAB_0005d63c") (: ":") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";"))) (if_statement "if (puVar37 != puVar47) {\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }" (if "if") (parenthesized_expression "(puVar37 != puVar47)" (( "(") (binary_expression "puVar37 != puVar47" (identifier "puVar37") (!= "!=") (identifier "puVar47")) () ")")) (compound_statement "{\n        if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }\n      }" ({ "{") (if_statement "if (iVar4 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }\n        else {\n          uVar18 = 0;\n        }" (if "if") (parenthesized_expression "(iVar4 < iVar40)" (( "(") (binary_expression "iVar4 < iVar40" (identifier "iVar4") (< "<") (identifier "iVar40")) () ")")) (compound_statement "{\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);\n          uVar18 = 0;\n        }" ({ "{") (expression_statement "(*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);" (call_expression "(*(code *)PTR_memcpy_0009d544)\n                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" (( "(") (pointer_expression "*(code *)PTR_memcpy_0009d544" (* "*") (cast_expression "(code *)PTR_memcpy_0009d544" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_0009d544"))) () ")")) (argument_list "(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4)" (( "(") (binary_expression "puVar47 + iVar4 * 4" (identifier "puVar47") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) (, ",") (binary_expression "puVar37 + iVar4 * 4" (identifier "puVar37") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) (, ",") (binary_expression "(iVar40 - iVar4) * 4" (parenthesized_expression "(iVar40 - iVar4)" (( "(") (binary_expression "iVar40 - iVar4" (identifier "iVar40") (- "-") (identifier "iVar4")) () ")")) (* "*") (number_literal "4")) () ")"))) (; ";")) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          uVar18 = 0;\n        }" (else "else") (compound_statement "{\n          uVar18 = 0;\n        }" ({ "{") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}"))) (} "}")) (else_clause "else {\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }" (else "else") (compound_statement "{\n      if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }\nLAB_0005dfa8:\n      uVar18 = 1;\n    }" ({ "{") (if_statement "if (param_5 < iVar40) {\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }" (if "if") (parenthesized_expression "(param_5 < iVar40)" (( "(") (binary_expression "param_5 < iVar40" (identifier "param_5") (< "<") (identifier "iVar40")) () ")")) (compound_statement "{\n        iVar4 = param_5 + 1;\n        piVar17 = (int *)(puVar37 + param_5 * 4);\n        iVar9 = *piVar17;\n        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;\n        if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d63c;\n      }" ({ "{") (expression_statement "iVar4 = param_5 + 1;" (assignment_expression "iVar4 = param_5 + 1" (identifier "iVar4") (= "=") (binary_expression "param_5 + 1" (identifier "param_5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar17 = (int *)(puVar37 + param_5 * 4);" (assignment_expression "piVar17 = (int *)(puVar37 + param_5 * 4)" (identifier "piVar17") (= "=") (cast_expression "(int *)(puVar37 + param_5 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + param_5 * 4)" (( "(") (binary_expression "puVar37 + param_5 * 4" (identifier "puVar37") (+ "+") (binary_expression "param_5 * 4" (identifier "param_5") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iVar9 = *piVar17;" (assignment_expression "iVar9 = *piVar17" (identifier "iVar9") (= "=") (pointer_expression "*piVar17" (* "*") (identifier "piVar17"))) (; ";")) (expression_statement "*(int *)(puVar47 + param_5 * 4) = iVar9 + 1;" (assignment_expression "*(int *)(puVar47 + param_5 * 4) = iVar9 + 1" (pointer_expression "*(int *)(puVar47 + param_5 * 4)" (* "*") (cast_expression "(int *)(puVar47 + param_5 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + param_5 * 4)" (( "(") (binary_expression "puVar47 + param_5 * 4" (identifier "puVar47") (+ "+") (binary_expression "param_5 * 4" (identifier "param_5") (* "*") (number_literal "4"))) () ")")))) (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar9 + 1 == 0) {\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }" (if "if") (parenthesized_expression "(iVar9 + 1 == 0)" (( "(") (binary_expression "iVar9 + 1 == 0" (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar18 = 1;\n          if (iVar40 <= iVar4) goto LAB_0005d678;\n          iVar9 = param_5 + 2;\n          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;\n          *(int *)(puVar47 + iVar4 * 4) = iVar10;\n          piVar22 = (int *)(puVar47 + param_5 * 4);\n          while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }\n        }" ({ "{") (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" (identifier "uVar18") (= "=") (number_literal "1")) (; ";")) (if_statement "if (iVar40 <= iVar4) goto LAB_0005d678;" (if "if") (parenthesized_expression "(iVar40 <= iVar4)" (( "(") (binary_expression "iVar40 <= iVar4" (identifier "iVar40") (<= "<=") (identifier "iVar4")) () ")")) (goto_statement "goto LAB_0005d678;" (goto "goto") (statement_identifier "LAB_0005d678") (; ";"))) (expression_statement "iVar9 = param_5 + 2;" (assignment_expression "iVar9 = param_5 + 2" (identifier "iVar9") (= "=") (binary_expression "param_5 + 2" (identifier "param_5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;" (assignment_expression "iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1" (identifier "iVar10") (= "=") (binary_expression "*(int *)(puVar37 + iVar4 * 4) + 1" (pointer_expression "*(int *)(puVar37 + iVar4 * 4)" (* "*") (cast_expression "(int *)(puVar37 + iVar4 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + iVar4 * 4)" (( "(") (binary_expression "puVar37 + iVar4 * 4" (identifier "puVar37") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(puVar47 + iVar4 * 4) = iVar10;" (assignment_expression "*(int *)(puVar47 + iVar4 * 4) = iVar10" (pointer_expression "*(int *)(puVar47 + iVar4 * 4)" (* "*") (cast_expression "(int *)(puVar47 + iVar4 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + iVar4 * 4)" (( "(") (binary_expression "puVar47 + iVar4 * 4" (identifier "puVar47") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "piVar22 = (int *)(puVar47 + param_5 * 4);" (assignment_expression "piVar22 = (int *)(puVar47 + param_5 * 4)" (identifier "piVar22") (= "=") (cast_expression "(int *)(puVar47 + param_5 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + param_5 * 4)" (( "(") (binary_expression "puVar47 + param_5 * 4" (identifier "puVar47") (+ "+") (binary_expression "param_5 * 4" (identifier "param_5") (* "*") (number_literal "4"))) () ")")))) (; ";")) (while_statement "while (iVar4 = iVar9, iVar10 == 0) {\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }" (while "while") (parenthesized_expression "(iVar4 = iVar9, iVar10 == 0)" (( "(") (comma_expression "iVar4 = iVar9, iVar10 == 0" (assignment_expression "iVar4 = iVar9" (identifier "iVar4") (= "=") (identifier "iVar9")) (, ",") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n            if (iVar40 == iVar9) goto LAB_0005dfa8;\n            piVar1 = piVar17 + 2;\n            iVar9 = iVar9 + 1;\n            piVar17 = piVar17 + 1;\n            iVar10 = *piVar1 + 1;\n            piVar22[2] = iVar10;\n            piVar22 = piVar22 + 1;\n          }" ({ "{") (if_statement "if (iVar40 == iVar9) goto LAB_0005dfa8;" (if "if") (parenthesized_expression "(iVar40 == iVar9)" (( "(") (binary_expression "iVar40 == iVar9" (identifier "iVar40") (== "==") (identifier "iVar9")) () ")")) (goto_statement "goto LAB_0005dfa8;" (goto "goto") (statement_identifier "LAB_0005dfa8") (; ";"))) (expression_statement "piVar1 = piVar17 + 2;" (assignment_expression "piVar1 = piVar17 + 2" (identifier "piVar1") (= "=") (binary_expression "piVar17 + 2" (identifier "piVar17") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" (identifier "piVar17") (= "=") (binary_expression "piVar17 + 1" (identifier "piVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar10 = *piVar1 + 1;" (assignment_expression "iVar10 = *piVar1 + 1" (identifier "iVar10") (= "=") (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar22[2] = iVar10;" (assignment_expression "piVar22[2] = iVar10" (subscript_expression "piVar22[2]" (identifier "piVar22") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" (identifier "piVar22") (= "=") (binary_expression "piVar22 + 1" (identifier "piVar22") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_0005d63c;" (goto "goto") (statement_identifier "LAB_0005d63c") (; ";")) (} "}"))) (labeled_statement "LAB_0005dfa8:\n      uVar18 = 1;" (statement_identifier "LAB_0005dfa8") (: ":") (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" (identifier "uVar18") (= "=") (number_literal "1")) (; ";"))) (} "}")))) (labeled_statement "LAB_0005d678:\n    *(undefined4 *)(puVar47 + iVar41) = uVar18;" (statement_identifier "LAB_0005d678") (: ":") (expression_statement "*(undefined4 *)(puVar47 + iVar41) = uVar18;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = uVar18" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" (* "*") (cast_expression "(undefined4 *)(puVar47 + iVar41)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + iVar41)" (( "(") (binary_expression "puVar47 + iVar41" (identifier "puVar47") (+ "+") (identifier "iVar41")) () ")")))) (= "=") (identifier "uVar18")) (; ";"))) (expression_statement "local_64 = local_64 ^ (uVar39 | 1);" (assignment_expression "local_64 = local_64 ^ (uVar39 | 1)" (identifier "local_64") (= "=") (binary_expression "local_64 ^ (uVar39 | 1)" (identifier "local_64") (^ "^") (parenthesized_expression "(uVar39 | 1)" (( "(") (binary_expression "uVar39 | 1" (identifier "uVar39") (| "|") (number_literal "1")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    iVar9 = param_5 * 4;\n    if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }\nLAB_0005d558:\n    *piVar21 = iVar11;\n    iVar11 = iVar40 - param_5;\n    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);\n    iVar10 = iVar11;\n    do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);\n    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);\n    iVar10 = param_5;\n    do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);\n    if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }\nLAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }\n    iVar10 = 0;\n    if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }\n    if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }\nLAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar9 = param_5 * 4;" (assignment_expression "iVar9 = param_5 * 4" (identifier "iVar9") (= "=") (binary_expression "param_5 * 4" (identifier "param_5") (* "*") (number_literal "4"))) (; ";")) (if_statement "if (param_5 == 0) {\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }\n    else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar10 = 0;\nLAB_0005d51c:\n      iVar11 = 0;\n      if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }\n    }" ({ "{") (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0005d51c:\n      iVar11 = 0;" (statement_identifier "LAB_0005d51c") (: ":") (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";"))) (if_statement "if (puVar36 != param_4) {\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }" (if "if") (parenthesized_expression "(puVar36 != param_4)" (( "(") (binary_expression "puVar36 != param_4" (identifier "puVar36") (!= "!=") (identifier "param_4")) () ")")) (compound_statement "{\n        if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }\n        iVar11 = 0;\n      }" ({ "{") (if_statement "if (iVar10 < iVar40) {\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }" (if "if") (parenthesized_expression "(iVar10 < iVar40)" (( "(") (binary_expression "iVar10 < iVar40" (identifier "iVar10") (< "<") (identifier "iVar40")) () ")")) (compound_statement "{\n          (*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n        }" ({ "{") (expression_statement "(*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);" (call_expression "(*(code *)PTR_memcpy_0009d544)\n                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" (( "(") (pointer_expression "*(code *)PTR_memcpy_0009d544" (* "*") (cast_expression "(code *)PTR_memcpy_0009d544" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_0009d544"))) () ")")) (argument_list "(puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4)" (( "(") (binary_expression "puVar36 + iVar10 * 4" (identifier "puVar36") (+ "+") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4"))) (, ",") (binary_expression "param_4 + iVar10 * 4" (identifier "param_4") (+ "+") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4"))) (, ",") (binary_expression "(iVar40 - iVar10) * 4" (parenthesized_expression "(iVar40 - iVar10)" (( "(") (binary_expression "iVar40 - iVar10" (identifier "iVar40") (- "-") (identifier "iVar10")) () ")")) (* "*") (number_literal "4")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }" (else "else") (compound_statement "{\n      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) goto LAB_0005d51c;\n      if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }\nLAB_0005dc80:\n      iVar11 = 1;\n    }" ({ "{") (expression_statement "iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5)" (identifier "iVar11") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" (( "(") (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" (* "*") (cast_expression "(code *)PTR___gmpn_add_n_0009d334" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_add_n_0009d334"))) () ")")) (argument_list "(puVar36,param_4,puVar20,param_5)" (( "(") (identifier "puVar36") (, ",") (identifier "param_4") (, ",") (identifier "puVar20") (, ",") (identifier "param_5") () ")")))) (; ";")) (expression_statement "iVar10 = param_5;" (assignment_expression "iVar10 = param_5" (identifier "iVar10") (= "=") (identifier "param_5")) (; ";")) (if_statement "if (iVar11 == 0) goto LAB_0005d51c;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005d51c;" (goto "goto") (statement_identifier "LAB_0005d51c") (; ";"))) (if_statement "if (param_5 < iVar40) {\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }" (if "if") (parenthesized_expression "(param_5 < iVar40)" (( "(") (binary_expression "param_5 < iVar40" (identifier "param_5") (< "<") (identifier "iVar40")) () ")")) (compound_statement "{\n        iVar10 = param_5 + 1;\n        piVar17 = (int *)(param_4 + iVar9);\n        iVar11 = *piVar17;\n        *(int *)(puVar36 + iVar9) = iVar11 + 1;\n        if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }\n        goto LAB_0005d51c;\n      }" ({ "{") (expression_statement "iVar10 = param_5 + 1;" (assignment_expression "iVar10 = param_5 + 1" (identifier "iVar10") (= "=") (binary_expression "param_5 + 1" (identifier "param_5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar17 = (int *)(param_4 + iVar9);" (assignment_expression "piVar17 = (int *)(param_4 + iVar9)" (identifier "piVar17") (= "=") (cast_expression "(int *)(param_4 + iVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + iVar9)" (( "(") (binary_expression "param_4 + iVar9" (identifier "param_4") (+ "+") (identifier "iVar9")) () ")")))) (; ";")) (expression_statement "iVar11 = *piVar17;" (assignment_expression "iVar11 = *piVar17" (identifier "iVar11") (= "=") (pointer_expression "*piVar17" (* "*") (identifier "piVar17"))) (; ";")) (expression_statement "*(int *)(puVar36 + iVar9) = iVar11 + 1;" (assignment_expression "*(int *)(puVar36 + iVar9) = iVar11 + 1" (pointer_expression "*(int *)(puVar36 + iVar9)" (* "*") (cast_expression "(int *)(puVar36 + iVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + iVar9)" (( "(") (binary_expression "puVar36 + iVar9" (identifier "puVar36") (+ "+") (identifier "iVar9")) () ")")))) (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar11 + 1 == 0) {\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }" (if "if") (parenthesized_expression "(iVar11 + 1 == 0)" (( "(") (binary_expression "iVar11 + 1 == 0" (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar11 = 1;\n          if (iVar40 <= iVar10) goto LAB_0005d558;\n          iVar11 = param_5 + 2;\n          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;\n          *(int *)(puVar36 + iVar10 * 4) = iVar35;\n          piVar22 = (int *)(puVar36 + iVar9);\n          while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }\n        }" ({ "{") (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" (identifier "iVar11") (= "=") (number_literal "1")) (; ";")) (if_statement "if (iVar40 <= iVar10) goto LAB_0005d558;" (if "if") (parenthesized_expression "(iVar40 <= iVar10)" (( "(") (binary_expression "iVar40 <= iVar10" (identifier "iVar40") (<= "<=") (identifier "iVar10")) () ")")) (goto_statement "goto LAB_0005d558;" (goto "goto") (statement_identifier "LAB_0005d558") (; ";"))) (expression_statement "iVar11 = param_5 + 2;" (assignment_expression "iVar11 = param_5 + 2" (identifier "iVar11") (= "=") (binary_expression "param_5 + 2" (identifier "param_5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;" (assignment_expression "iVar35 = *(int *)(param_4 + iVar10 * 4) + 1" (identifier "iVar35") (= "=") (binary_expression "*(int *)(param_4 + iVar10 * 4) + 1" (pointer_expression "*(int *)(param_4 + iVar10 * 4)" (* "*") (cast_expression "(int *)(param_4 + iVar10 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + iVar10 * 4)" (( "(") (binary_expression "param_4 + iVar10 * 4" (identifier "param_4") (+ "+") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4"))) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(puVar36 + iVar10 * 4) = iVar35;" (assignment_expression "*(int *)(puVar36 + iVar10 * 4) = iVar35" (pointer_expression "*(int *)(puVar36 + iVar10 * 4)" (* "*") (cast_expression "(int *)(puVar36 + iVar10 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + iVar10 * 4)" (( "(") (binary_expression "puVar36 + iVar10 * 4" (identifier "puVar36") (+ "+") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "iVar35")) (; ";")) (expression_statement "piVar22 = (int *)(puVar36 + iVar9);" (assignment_expression "piVar22 = (int *)(puVar36 + iVar9)" (identifier "piVar22") (= "=") (cast_expression "(int *)(puVar36 + iVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + iVar9)" (( "(") (binary_expression "puVar36 + iVar9" (identifier "puVar36") (+ "+") (identifier "iVar9")) () ")")))) (; ";")) (while_statement "while (iVar10 = iVar11, iVar35 == 0) {\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }" (while "while") (parenthesized_expression "(iVar10 = iVar11, iVar35 == 0)" (( "(") (comma_expression "iVar10 = iVar11, iVar35 == 0" (assignment_expression "iVar10 = iVar11" (identifier "iVar10") (= "=") (identifier "iVar11")) (, ",") (binary_expression "iVar35 == 0" (identifier "iVar35") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n            if (iVar11 == iVar40) goto LAB_0005dc80;\n            piVar1 = piVar17 + 2;\n            iVar11 = iVar11 + 1;\n            piVar17 = piVar17 + 1;\n            iVar35 = *piVar1 + 1;\n            piVar22[2] = iVar35;\n            piVar22 = piVar22 + 1;\n          }" ({ "{") (if_statement "if (iVar11 == iVar40) goto LAB_0005dc80;" (if "if") (parenthesized_expression "(iVar11 == iVar40)" (( "(") (binary_expression "iVar11 == iVar40" (identifier "iVar11") (== "==") (identifier "iVar40")) () ")")) (goto_statement "goto LAB_0005dc80;" (goto "goto") (statement_identifier "LAB_0005dc80") (; ";"))) (expression_statement "piVar1 = piVar17 + 2;" (assignment_expression "piVar1 = piVar17 + 2" (identifier "piVar1") (= "=") (binary_expression "piVar17 + 2" (identifier "piVar17") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" (identifier "piVar17") (= "=") (binary_expression "piVar17 + 1" (identifier "piVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar35 = *piVar1 + 1;" (assignment_expression "iVar35 = *piVar1 + 1" (identifier "iVar35") (= "=") (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar22[2] = iVar35;" (assignment_expression "piVar22[2] = iVar35" (subscript_expression "piVar22[2]" (identifier "piVar22") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar35")) (; ";")) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" (identifier "piVar22") (= "=") (binary_expression "piVar22 + 1" (identifier "piVar22") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_0005d51c;" (goto "goto") (statement_identifier "LAB_0005d51c") (; ";")) (} "}"))) (labeled_statement "LAB_0005dc80:\n      iVar11 = 1;" (statement_identifier "LAB_0005dc80") (: ":") (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" (identifier "iVar11") (= "=") (number_literal "1")) (; ";"))) (} "}")))) (labeled_statement "LAB_0005d558:\n    *piVar21 = iVar11;" (statement_identifier "LAB_0005d558") (: ":") (expression_statement "*piVar21 = iVar11;" (assignment_expression "*piVar21 = iVar11" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (identifier "iVar11")) (; ";"))) (expression_statement "iVar11 = iVar40 - param_5;" (assignment_expression "iVar11 = iVar40 - param_5" (identifier "iVar11") (= "=") (binary_expression "iVar40 - param_5" (identifier "iVar40") (- "-") (identifier "param_5"))) (; ";")) (expression_statement "piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);" (assignment_expression "piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4)" (identifier "piVar17") (= "=") (cast_expression "(int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (param_5 + 0x3fffffff + iVar11) * 4)" (( "(") (binary_expression "param_4 + (param_5 + 0x3fffffff + iVar11) * 4" (identifier "param_4") (+ "+") (binary_expression "(param_5 + 0x3fffffff + iVar11) * 4" (parenthesized_expression "(param_5 + 0x3fffffff + iVar11)" (( "(") (binary_expression "param_5 + 0x3fffffff + iVar11" (binary_expression "param_5 + 0x3fffffff" (identifier "param_5") (+ "+") (number_literal "0x3fffffff")) (+ "+") (identifier "iVar11")) () ")")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iVar10 = iVar11;" (assignment_expression "iVar10 = iVar11" (identifier "iVar10") (= "=") (identifier "iVar11")) (; ";")) (do_statement "do {\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    } while (iVar10 != 0);" (do "do") (compound_statement "{\n      iVar10 = iVar10 + -1;\n      if (*piVar17 != 0) goto LAB_0005d59c;\n      piVar17 = piVar17 + -1;\n    }" ({ "{") (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + -1" (identifier "iVar10") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (*piVar17 != 0) goto LAB_0005d59c;" (if "if") (parenthesized_expression "(*piVar17 != 0)" (( "(") (binary_expression "*piVar17 != 0" (pointer_expression "*piVar17" (* "*") (identifier "piVar17")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005d59c;" (goto "goto") (statement_identifier "LAB_0005d59c") (; ";"))) (expression_statement "piVar17 = piVar17 + -1;" (assignment_expression "piVar17 = piVar17 + -1" (identifier "piVar17") (= "=") (binary_expression "piVar17 + -1" (identifier "piVar17") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);" (assignment_expression "puVar28 = (uint *)(param_4 + (param_5 + -1) * 4)" (identifier "puVar28") (= "=") (cast_expression "(uint *)(param_4 + (param_5 + -1) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (param_5 + -1) * 4)" (( "(") (binary_expression "param_4 + (param_5 + -1) * 4" (identifier "param_4") (+ "+") (binary_expression "(param_5 + -1) * 4" (parenthesized_expression "(param_5 + -1)" (( "(") (binary_expression "param_5 + -1" (identifier "param_5") (+ "+") (number_literal "-1")) () ")")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iVar10 = param_5;" (assignment_expression "iVar10 = param_5" (identifier "iVar10") (= "=") (identifier "param_5")) (; ";")) (do_statement "do {\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    } while (uVar7 == puVar28[uVar39 + 2]);" (do "do") (compound_statement "{\n      iVar10 = iVar10 + -1;\n      if (iVar10 < 0) goto LAB_0005d59c;\n      uVar7 = *puVar28;\n      puVar28 = puVar28 + -1;\n    }" ({ "{") (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + -1" (identifier "iVar10") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar10 < 0) goto LAB_0005d59c;" (if "if") (parenthesized_expression "(iVar10 < 0)" (( "(") (binary_expression "iVar10 < 0" (identifier "iVar10") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005d59c;" (goto "goto") (statement_identifier "LAB_0005d59c") (; ";"))) (expression_statement "uVar7 = *puVar28;" (assignment_expression "uVar7 = *puVar28" (identifier "uVar7") (= "=") (pointer_expression "*puVar28" (* "*") (identifier "puVar28"))) (; ";")) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" (identifier "puVar28") (= "=") (binary_expression "puVar28 + -1" (identifier "puVar28") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar7 == puVar28[uVar39 + 2])" (( "(") (binary_expression "uVar7 == puVar28[uVar39 + 2]" (identifier "uVar7") (== "==") (subscript_expression "puVar28[uVar39 + 2]" (identifier "puVar28") ([ "[") (binary_expression "uVar39 + 2" (identifier "uVar39") (+ "+") (number_literal "2")) (] "]"))) () ")")) (; ";")) (if_statement "if (uVar7 <= puVar28[uVar39 + 2]) {\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }" (if "if") (parenthesized_expression "(uVar7 <= puVar28[uVar39 + 2])" (( "(") (binary_expression "uVar7 <= puVar28[uVar39 + 2]" (identifier "uVar7") (<= "<=") (subscript_expression "puVar28[uVar39 + 2]" (identifier "puVar28") ([ "[") (binary_expression "uVar39 + 2" (identifier "uVar39") (+ "+") (number_literal "2")) (] "]"))) () ")")) (compound_statement "{\n      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);\n      uVar39 = 2;\n      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);\n      goto LAB_0005d5e4;\n    }" ({ "{") (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" (( "(") (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" (* "*") (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_sub_n_0009d514"))) () ")")) (argument_list "(puVar37,puVar20,param_4,param_5)" (( "(") (identifier "puVar37") (, ",") (identifier "puVar20") (, ",") (identifier "param_4") (, ",") (identifier "param_5") () ")"))) (; ";")) (expression_statement "uVar39 = 2;" (assignment_expression "uVar39 = 2" (identifier "uVar39") (= "=") (number_literal "2")) (; ";")) (expression_statement "(*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);" (call_expression "(*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4)" (parenthesized_expression "(*(code *)PTR_memset_0009d2e8)" (( "(") (pointer_expression "*(code *)PTR_memset_0009d2e8" (* "*") (cast_expression "(code *)PTR_memset_0009d2e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_0009d2e8"))) () ")")) (argument_list "(puVar37 + iVar9,0,iVar11 * 4)" (( "(") (binary_expression "puVar37 + iVar9" (identifier "puVar37") (+ "+") (identifier "iVar9")) (, ",") (number_literal "0") (, ",") (binary_expression "iVar11 * 4" (identifier "iVar11") (* "*") (number_literal "4")) () ")"))) (; ";")) (goto_statement "goto LAB_0005d5e4;" (goto "goto") (statement_identifier "LAB_0005d5e4") (; ";")) (} "}"))) (labeled_statement "LAB_0005d59c:\n    if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }" (statement_identifier "LAB_0005d59c") (: ":") (if_statement "if (param_5 != 0) {\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }" (if "if") (parenthesized_expression "(param_5 != 0)" (( "(") (binary_expression "param_5 != 0" (identifier "param_5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);\n      iVar10 = param_5;\n      if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }\n      goto LAB_0005d980;\n    }" ({ "{") (expression_statement "iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5)" (identifier "iVar11") (= "=") (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" (( "(") (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" (* "*") (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_sub_n_0009d514"))) () ")")) (argument_list "(puVar37,param_4,puVar20,param_5)" (( "(") (identifier "puVar37") (, ",") (identifier "param_4") (, ",") (identifier "puVar20") (, ",") (identifier "param_5") () ")")))) (; ";")) (expression_statement "iVar10 = param_5;" (assignment_expression "iVar10 = param_5" (identifier "iVar10") (= "=") (identifier "param_5")) (; ";")) (if_statement "if (iVar11 == 0) {\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }\n      else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0005de34:\n        bVar2 = iVar10 < iVar40;\n        if (puVar37 != param_4) goto LAB_0005d5b4;\n        uVar39 = 0;\n      }" ({ "{") (labeled_statement "LAB_0005de34:\n        bVar2 = iVar10 < iVar40;" (statement_identifier "LAB_0005de34") (: ":") (expression_statement "bVar2 = iVar10 < iVar40;" (assignment_expression "bVar2 = iVar10 < iVar40" (identifier "bVar2") (= "=") (binary_expression "iVar10 < iVar40" (identifier "iVar10") (< "<") (identifier "iVar40"))) (; ";"))) (if_statement "if (puVar37 != param_4) goto LAB_0005d5b4;" (if "if") (parenthesized_expression "(puVar37 != param_4)" (( "(") (binary_expression "puVar37 != param_4" (identifier "puVar37") (!= "!=") (identifier "param_4")) () ")")) (goto_statement "goto LAB_0005d5b4;" (goto "goto") (statement_identifier "LAB_0005d5b4") (; ";"))) (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" (identifier "uVar39") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }" (else "else") (compound_statement "{\n        if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }\nLAB_0005d97c:\n        uVar39 = 0;\n      }" ({ "{") (if_statement "if (param_5 < iVar40) {\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }" (if "if") (parenthesized_expression "(param_5 < iVar40)" (( "(") (binary_expression "param_5 < iVar40" (identifier "param_5") (< "<") (identifier "iVar40")) () ")")) (compound_statement "{\n          iVar10 = param_5 + 1;\n          piVar17 = (int *)(param_4 + iVar9);\n          iVar11 = *piVar17;\n          *(int *)(puVar37 + iVar9) = iVar11 + -1;\n          if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }\n          goto LAB_0005de34;\n        }" ({ "{") (expression_statement "iVar10 = param_5 + 1;" (assignment_expression "iVar10 = param_5 + 1" (identifier "iVar10") (= "=") (binary_expression "param_5 + 1" (identifier "param_5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar17 = (int *)(param_4 + iVar9);" (assignment_expression "piVar17 = (int *)(param_4 + iVar9)" (identifier "piVar17") (= "=") (cast_expression "(int *)(param_4 + iVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + iVar9)" (( "(") (binary_expression "param_4 + iVar9" (identifier "param_4") (+ "+") (identifier "iVar9")) () ")")))) (; ";")) (expression_statement "iVar11 = *piVar17;" (assignment_expression "iVar11 = *piVar17" (identifier "iVar11") (= "=") (pointer_expression "*piVar17" (* "*") (identifier "piVar17"))) (; ";")) (expression_statement "*(int *)(puVar37 + iVar9) = iVar11 + -1;" (assignment_expression "*(int *)(puVar37 + iVar9) = iVar11 + -1" (pointer_expression "*(int *)(puVar37 + iVar9)" (* "*") (cast_expression "(int *)(puVar37 + iVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + iVar9)" (( "(") (binary_expression "puVar37 + iVar9" (identifier "puVar37") (+ "+") (identifier "iVar9")) () ")")))) (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar11 == 0) {\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if (iVar40 <= iVar10) goto LAB_0005d97c;\n            iVar11 = param_5 + 2;\n            iVar35 = *(int *)(param_4 + iVar10 * 4);\n            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;\n            piVar22 = (int *)(puVar37 + iVar9);\n            while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }\n          }" ({ "{") (if_statement "if (iVar40 <= iVar10) goto LAB_0005d97c;" (if "if") (parenthesized_expression "(iVar40 <= iVar10)" (( "(") (binary_expression "iVar40 <= iVar10" (identifier "iVar40") (<= "<=") (identifier "iVar10")) () ")")) (goto_statement "goto LAB_0005d97c;" (goto "goto") (statement_identifier "LAB_0005d97c") (; ";"))) (expression_statement "iVar11 = param_5 + 2;" (assignment_expression "iVar11 = param_5 + 2" (identifier "iVar11") (= "=") (binary_expression "param_5 + 2" (identifier "param_5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar35 = *(int *)(param_4 + iVar10 * 4);" (assignment_expression "iVar35 = *(int *)(param_4 + iVar10 * 4)" (identifier "iVar35") (= "=") (pointer_expression "*(int *)(param_4 + iVar10 * 4)" (* "*") (cast_expression "(int *)(param_4 + iVar10 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + iVar10 * 4)" (( "(") (binary_expression "param_4 + iVar10 * 4" (identifier "param_4") (+ "+") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;" (assignment_expression "*(int *)(puVar37 + iVar10 * 4) = iVar35 + -1" (pointer_expression "*(int *)(puVar37 + iVar10 * 4)" (* "*") (cast_expression "(int *)(puVar37 + iVar10 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + iVar10 * 4)" (( "(") (binary_expression "puVar37 + iVar10 * 4" (identifier "puVar37") (+ "+") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4"))) () ")")))) (= "=") (binary_expression "iVar35 + -1" (identifier "iVar35") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "piVar22 = (int *)(puVar37 + iVar9);" (assignment_expression "piVar22 = (int *)(puVar37 + iVar9)" (identifier "piVar22") (= "=") (cast_expression "(int *)(puVar37 + iVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + iVar9)" (( "(") (binary_expression "puVar37 + iVar9" (identifier "puVar37") (+ "+") (identifier "iVar9")) () ")")))) (; ";")) (while_statement "while (iVar10 = iVar11, iVar35 == 0) {\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }" (while "while") (parenthesized_expression "(iVar10 = iVar11, iVar35 == 0)" (( "(") (comma_expression "iVar10 = iVar11, iVar35 == 0" (assignment_expression "iVar10 = iVar11" (identifier "iVar10") (= "=") (identifier "iVar11")) (, ",") (binary_expression "iVar35 == 0" (identifier "iVar35") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n              if (iVar40 == iVar11) goto LAB_0005d97c;\n              iVar35 = piVar17[2];\n              iVar11 = iVar11 + 1;\n              piVar17 = piVar17 + 1;\n              piVar22[2] = iVar35 + -1;\n              piVar22 = piVar22 + 1;\n            }" ({ "{") (if_statement "if (iVar40 == iVar11) goto LAB_0005d97c;" (if "if") (parenthesized_expression "(iVar40 == iVar11)" (( "(") (binary_expression "iVar40 == iVar11" (identifier "iVar40") (== "==") (identifier "iVar11")) () ")")) (goto_statement "goto LAB_0005d97c;" (goto "goto") (statement_identifier "LAB_0005d97c") (; ";"))) (expression_statement "iVar35 = piVar17[2];" (assignment_expression "iVar35 = piVar17[2]" (identifier "iVar35") (= "=") (subscript_expression "piVar17[2]" (identifier "piVar17") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" (identifier "piVar17") (= "=") (binary_expression "piVar17 + 1" (identifier "piVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar22[2] = iVar35 + -1;" (assignment_expression "piVar22[2] = iVar35 + -1" (subscript_expression "piVar22[2]" (identifier "piVar22") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "iVar35 + -1" (identifier "iVar35") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" (identifier "piVar22") (= "=") (binary_expression "piVar22 + 1" (identifier "piVar22") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_0005de34;" (goto "goto") (statement_identifier "LAB_0005de34") (; ";")) (} "}"))) (labeled_statement "LAB_0005d97c:\n        uVar39 = 0;" (statement_identifier "LAB_0005d97c") (: ":") (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" (identifier "uVar39") (= "=") (number_literal "0")) (; ";"))) (} "}")))) (goto_statement "goto LAB_0005d980;" (goto "goto") (statement_identifier "LAB_0005d980") (; ";")) (} "}")))) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar37 != param_4) {\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }" (if "if") (parenthesized_expression "(puVar37 != param_4)" (( "(") (binary_expression "puVar37 != param_4" (identifier "puVar37") (!= "!=") (identifier "param_4")) () ")")) (compound_statement "{\n      bVar2 = 0 < iVar40;\nLAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }\n      uVar39 = 0;\n      goto LAB_0005d5e4;\n    }" ({ "{") (expression_statement "bVar2 = 0 < iVar40;" (assignment_expression "bVar2 = 0 < iVar40" (identifier "bVar2") (= "=") (binary_expression "0 < iVar40" (number_literal "0") (< "<") (identifier "iVar40"))) (; ";")) (labeled_statement "LAB_0005d5b4:\n      if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }" (statement_identifier "LAB_0005d5b4") (: ":") (if_statement "if (bVar2) {\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n        (*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);\n      }" ({ "{") (expression_statement "(*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);" (call_expression "(*(code *)PTR_memcpy_0009d544)\n                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" (( "(") (pointer_expression "*(code *)PTR_memcpy_0009d544" (* "*") (cast_expression "(code *)PTR_memcpy_0009d544" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_0009d544"))) () ")")) (argument_list "(puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4)" (( "(") (binary_expression "puVar37 + iVar10 * 4" (identifier "puVar37") (+ "+") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4"))) (, ",") (binary_expression "param_4 + iVar10 * 4" (identifier "param_4") (+ "+") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4"))) (, ",") (binary_expression "(iVar40 - iVar10) * 4" (parenthesized_expression "(iVar40 - iVar10)" (( "(") (binary_expression "iVar40 - iVar10" (identifier "iVar40") (- "-") (identifier "iVar10")) () ")")) (* "*") (number_literal "4")) () ")"))) (; ";")) (} "}")))) (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" (identifier "uVar39") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0005d5e4;" (goto "goto") (statement_identifier "LAB_0005d5e4") (; ";")) (} "}"))) (if_statement "if ((puVar36 != puVar46) && (0 < iVar43)) {\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }" (if "if") (parenthesized_expression "((puVar36 != puVar46) && (0 < iVar43))" (( "(") (binary_expression "(puVar36 != puVar46) && (0 < iVar43)" (parenthesized_expression "(puVar36 != puVar46)" (( "(") (binary_expression "puVar36 != puVar46" (identifier "puVar36") (!= "!=") (identifier "puVar46")) () ")")) (&& "&&") (parenthesized_expression "(0 < iVar43)" (( "(") (binary_expression "0 < iVar43" (number_literal "0") (< "<") (identifier "iVar43")) () ")"))) () ")")) (compound_statement "{\n      iVar9 = 0;\n      uVar39 = 0;\n      goto LAB_0005d600;\n    }" ({ "{") (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" (identifier "uVar39") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0005d600;" (goto "goto") (statement_identifier "LAB_0005d600") (; ";")) (} "}"))) (labeled_statement "LAB_0005da2c:\n    if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }" (statement_identifier "LAB_0005da2c") (: ":") (if_statement "if (param_5 < iVar40) {\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }\n    else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }" (if "if") (parenthesized_expression "(param_5 < iVar40)" (( "(") (binary_expression "param_5 < iVar40" (identifier "param_5") (< "<") (identifier "iVar40")) () ")")) (compound_statement "{\n      iVar4 = iVar40 - param_5;\n      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);\n      do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);\n      puVar27 = puVar37 + param_5 * 4;\n      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);\n      iVar4 = param_5;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }\n    }" ({ "{") (expression_statement "iVar4 = iVar40 - param_5;" (assignment_expression "iVar4 = iVar40 - param_5" (identifier "iVar4") (= "=") (binary_expression "iVar40 - param_5" (identifier "iVar40") (- "-") (identifier "param_5"))) (; ";")) (expression_statement "piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);" (assignment_expression "piVar17 = (int *)(puVar37 + iVar40 * 4 + -4)" (identifier "piVar17") (= "=") (cast_expression "(int *)(puVar37 + iVar40 * 4 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + iVar40 * 4 + -4)" (( "(") (binary_expression "puVar37 + iVar40 * 4 + -4" (binary_expression "puVar37 + iVar40 * 4" (identifier "puVar37") (+ "+") (binary_expression "iVar40 * 4" (identifier "iVar40") (* "*") (number_literal "4"))) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (do_statement "do {\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      } while (iVar4 != 0);" (do "do") (compound_statement "{\n        iVar4 = iVar4 + -1;\n        if (*piVar17 != 0) goto LAB_0005da5c;\n        piVar17 = piVar17 + -1;\n      }" ({ "{") (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (*piVar17 != 0) goto LAB_0005da5c;" (if "if") (parenthesized_expression "(*piVar17 != 0)" (( "(") (binary_expression "*piVar17 != 0" (pointer_expression "*piVar17" (* "*") (identifier "piVar17")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005da5c;" (goto "goto") (statement_identifier "LAB_0005da5c") (; ";"))) (expression_statement "piVar17 = piVar17 + -1;" (assignment_expression "piVar17 = piVar17 + -1" (identifier "piVar17") (= "=") (binary_expression "piVar17 + -1" (identifier "piVar17") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "puVar27 = puVar37 + param_5 * 4;" (assignment_expression "puVar27 = puVar37 + param_5 * 4" (identifier "puVar27") (= "=") (binary_expression "puVar37 + param_5 * 4" (identifier "puVar37") (+ "+") (binary_expression "param_5 * 4" (identifier "param_5") (* "*") (number_literal "4")))) (; ";")) (expression_statement "puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);" (assignment_expression "puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41)" (identifier "puVar28") (= "=") (cast_expression "(uint *)(param_4 + (param_5 + -1) * 4 + iVar41)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (param_5 + -1) * 4 + iVar41)" (( "(") (binary_expression "param_4 + (param_5 + -1) * 4 + iVar41" (binary_expression "param_4 + (param_5 + -1) * 4" (identifier "param_4") (+ "+") (binary_expression "(param_5 + -1) * 4" (parenthesized_expression "(param_5 + -1)" (( "(") (binary_expression "param_5 + -1" (identifier "param_5") (+ "+") (number_literal "-1")) () ")")) (* "*") (number_literal "4"))) (+ "+") (identifier "iVar41")) () ")")))) (; ";")) (expression_statement "iVar4 = param_5;" (assignment_expression "iVar4 = param_5" (identifier "iVar4") (= "=") (identifier "param_5")) (; ";")) (do_statement "do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);" (do "do") (compound_statement "{\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005da5c;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      }" ({ "{") (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar4 < 0) goto LAB_0005da5c;" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005da5c;" (goto "goto") (statement_identifier "LAB_0005da5c") (; ";"))) (expression_statement "puVar33 = (uint *)(puVar27 + -4);" (assignment_expression "puVar33 = (uint *)(puVar27 + -4)" (identifier "puVar33") (= "=") (cast_expression "(uint *)(puVar27 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + -4)" (( "(") (binary_expression "puVar27 + -4" (identifier "puVar27") (+ "+") (number_literal "-4")) () ")")))) (; ";")) (expression_statement "uVar39 = *puVar28;" (assignment_expression "uVar39 = *puVar28" (identifier "uVar39") (= "=") (pointer_expression "*puVar28" (* "*") (identifier "puVar28"))) (; ";")) (expression_statement "puVar27 = puVar27 + -4;" (assignment_expression "puVar27 = puVar27 + -4" (identifier "puVar27") (= "=") (binary_expression "puVar27 + -4" (identifier "puVar27") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" (identifier "puVar28") (= "=") (binary_expression "puVar28 + -1" (identifier "puVar28") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*puVar33 == uVar39)" (( "(") (binary_expression "*puVar33 == uVar39" (pointer_expression "*puVar33" (* "*") (identifier "puVar33")) (== "==") (identifier "uVar39")) () ")")) (; ";")) (if_statement "if (uVar39 < *puVar33) {\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }" (if "if") (parenthesized_expression "(uVar39 < *puVar33)" (( "(") (binary_expression "uVar39 < *puVar33" (identifier "uVar39") (< "<") (pointer_expression "*puVar33" (* "*") (identifier "puVar33"))) () ")")) (compound_statement "{\nLAB_0005da5c:\n        iVar4 = 0;\n        if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" ({ "{") (labeled_statement "LAB_0005da5c:\n        iVar4 = 0;" (statement_identifier "LAB_0005da5c") (: ":") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";"))) (if_statement "if (param_5 == 0) {\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }\n        else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0005da64:\n          bVar2 = iVar4 < iVar40;\n          if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }\n        }" ({ "{") (labeled_statement "LAB_0005da64:\n          bVar2 = iVar4 < iVar40;" (statement_identifier "LAB_0005da64") (: ":") (expression_statement "bVar2 = iVar4 < iVar40;" (assignment_expression "bVar2 = iVar4 < iVar40" (identifier "bVar2") (= "=") (binary_expression "iVar4 < iVar40" (identifier "iVar4") (< "<") (identifier "iVar40"))) (; ";"))) (if_statement "if ((puVar37 != puVar47) && (bVar2)) {\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }" (if "if") (parenthesized_expression "((puVar37 != puVar47) && (bVar2))" (( "(") (binary_expression "(puVar37 != puVar47) && (bVar2)" (parenthesized_expression "(puVar37 != puVar47)" (( "(") (binary_expression "puVar37 != puVar47" (identifier "puVar37") (!= "!=") (identifier "puVar47")) () ")")) (&& "&&") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")"))) () ")")) (compound_statement "{\nLAB_0005da78:\n            iVar9 = 4;\n            if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }\n            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);\n          }" ({ "{") (labeled_statement "LAB_0005da78:\n            iVar9 = 4;" (statement_identifier "LAB_0005da78") (: ":") (expression_statement "iVar9 = 4;" (assignment_expression "iVar9 = 4" (identifier "iVar9") (= "=") (number_literal "4")) (; ";"))) (if_statement "if (bVar2) {\n              iVar9 = (iVar40 - iVar4) * 4;\n            }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n              iVar9 = (iVar40 - iVar4) * 4;\n            }" ({ "{") (expression_statement "iVar9 = (iVar40 - iVar4) * 4;" (assignment_expression "iVar9 = (iVar40 - iVar4) * 4" (identifier "iVar9") (= "=") (binary_expression "(iVar40 - iVar4) * 4" (parenthesized_expression "(iVar40 - iVar4)" (( "(") (binary_expression "iVar40 - iVar4" (identifier "iVar40") (- "-") (identifier "iVar4")) () ")")) (* "*") (number_literal "4"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);" (call_expression "(*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9)" (parenthesized_expression "(*(code *)PTR_memcpy_0009d544)" (( "(") (pointer_expression "*(code *)PTR_memcpy_0009d544" (* "*") (cast_expression "(code *)PTR_memcpy_0009d544" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_0009d544"))) () ")")) (argument_list "(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9)" (( "(") (binary_expression "puVar47 + iVar4 * 4" (identifier "puVar47") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) (, ",") (binary_expression "puVar37 + iVar4 * 4" (identifier "puVar37") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) (, ",") (identifier "iVar9") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }" (else "else") (compound_statement "{\n          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);\n          iVar4 = param_5;\n          if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }\n          bVar2 = param_5 < iVar40;\n          if (puVar37 != puVar47) goto LAB_0005da78;\n        }" ({ "{") (expression_statement "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5)" (identifier "iVar9") (= "=") (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" (( "(") (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" (* "*") (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_sub_n_0009d514"))) () ")")) (argument_list "(puVar47,puVar37,puVar20,param_5)" (( "(") (identifier "puVar47") (, ",") (identifier "puVar37") (, ",") (identifier "puVar20") (, ",") (identifier "param_5") () ")")))) (; ";")) (expression_statement "iVar4 = param_5;" (assignment_expression "iVar4 = param_5" (identifier "iVar4") (= "=") (identifier "param_5")) (; ";")) (if_statement "if (iVar9 != 0) {\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            piVar22 = (int *)(puVar37 + param_5 * 4);\n            piVar17 = (int *)(puVar47 + param_5 * 4);\n            do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);\n            *(undefined4 *)(puVar47 + iVar41) = 0;\n            goto LAB_0005d68c;\n          }" ({ "{") (expression_statement "piVar22 = (int *)(puVar37 + param_5 * 4);" (assignment_expression "piVar22 = (int *)(puVar37 + param_5 * 4)" (identifier "piVar22") (= "=") (cast_expression "(int *)(puVar37 + param_5 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + param_5 * 4)" (( "(") (binary_expression "puVar37 + param_5 * 4" (identifier "puVar37") (+ "+") (binary_expression "param_5 * 4" (identifier "param_5") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "piVar17 = (int *)(puVar47 + param_5 * 4);" (assignment_expression "piVar17 = (int *)(puVar47 + param_5 * 4)" (identifier "piVar17") (= "=") (cast_expression "(int *)(puVar47 + param_5 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + param_5 * 4)" (( "(") (binary_expression "puVar47 + param_5 * 4" (identifier "puVar47") (+ "+") (binary_expression "param_5 * 4" (identifier "param_5") (* "*") (number_literal "4"))) () ")")))) (; ";")) (do_statement "do {\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            } while (iVar40 != iVar4);" (do "do") (compound_statement "{\n              iVar9 = *piVar22;\n              iVar4 = iVar4 + 1;\n              *piVar17 = iVar9 + -1;\n              if (iVar9 != 0) goto LAB_0005da64;\n              piVar22 = piVar22 + 1;\n              piVar17 = piVar17 + 1;\n            }" ({ "{") (expression_statement "iVar9 = *piVar22;" (assignment_expression "iVar9 = *piVar22" (identifier "iVar9") (= "=") (pointer_expression "*piVar22" (* "*") (identifier "piVar22"))) (; ";")) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*piVar17 = iVar9 + -1;" (assignment_expression "*piVar17 = iVar9 + -1" (pointer_expression "*piVar17" (* "*") (identifier "piVar17")) (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar9 != 0) goto LAB_0005da64;" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005da64;" (goto "goto") (statement_identifier "LAB_0005da64") (; ";"))) (expression_statement "piVar22 = piVar22 + 1;" (assignment_expression "piVar22 = piVar22 + 1" (identifier "piVar22") (= "=") (binary_expression "piVar22 + 1" (identifier "piVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" (identifier "piVar17") (= "=") (binary_expression "piVar17 + 1" (identifier "piVar17") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar40 != iVar4)" (( "(") (binary_expression "iVar40 != iVar4" (identifier "iVar40") (!= "!=") (identifier "iVar4")) () ")")) (; ";")) (expression_statement "*(undefined4 *)(puVar47 + iVar41) = 0;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = 0" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" (* "*") (cast_expression "(undefined4 *)(puVar47 + iVar41)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + iVar41)" (( "(") (binary_expression "puVar47 + iVar41" (identifier "puVar47") (+ "+") (identifier "iVar41")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0005d68c;" (goto "goto") (statement_identifier "LAB_0005d68c") (; ";")) (} "}"))) (expression_statement "bVar2 = param_5 < iVar40;" (assignment_expression "bVar2 = param_5 < iVar40" (identifier "bVar2") (= "=") (binary_expression "param_5 < iVar40" (identifier "param_5") (< "<") (identifier "iVar40"))) (; ";")) (if_statement "if (puVar37 != puVar47) goto LAB_0005da78;" (if "if") (parenthesized_expression "(puVar37 != puVar47)" (( "(") (binary_expression "puVar37 != puVar47" (identifier "puVar37") (!= "!=") (identifier "puVar47")) () ")")) (goto_statement "goto LAB_0005da78;" (goto "goto") (statement_identifier "LAB_0005da78") (; ";"))) (} "}")))) (expression_statement "*(undefined4 *)(puVar47 + iVar41) = 0;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = 0" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" (* "*") (cast_expression "(undefined4 *)(puVar47 + iVar41)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + iVar41)" (( "(") (binary_expression "puVar47 + iVar41" (identifier "puVar47") (+ "+") (identifier "iVar41")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }" (else "else") (compound_statement "{\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);\n        local_64 = local_64 ^ 1;\n        if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }\n      }" ({ "{") (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" (( "(") (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" (* "*") (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_sub_n_0009d514"))) () ")")) (argument_list "(puVar47,puVar20,puVar37,param_5)" (( "(") (identifier "puVar47") (, ",") (identifier "puVar20") (, ",") (identifier "puVar37") (, ",") (identifier "param_5") () ")"))) (; ";")) (expression_statement "local_64 = local_64 ^ 1;" (assignment_expression "local_64 = local_64 ^ 1" (identifier "local_64") (= "=") (binary_expression "local_64 ^ 1" (identifier "local_64") (^ "^") (number_literal "1"))) (; ";")) (if_statement "if (iVar43 != param_5) {\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }" (if "if") (parenthesized_expression "(iVar43 != param_5)" (( "(") (binary_expression "iVar43 != param_5" (identifier "iVar43") (!= "!=") (identifier "param_5")) () ")")) (compound_statement "{\n          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);\n        }" ({ "{") (expression_statement "(*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);" (call_expression "(*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4)" (parenthesized_expression "(*(code *)PTR_memset_0009d2e8)" (( "(") (pointer_expression "*(code *)PTR_memset_0009d2e8" (* "*") (cast_expression "(code *)PTR_memset_0009d2e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_0009d2e8"))) () ")")) (argument_list "(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4)" (( "(") (binary_expression "puVar47 + param_5 * 4" (identifier "puVar47") (+ "+") (binary_expression "param_5 * 4" (identifier "param_5") (* "*") (number_literal "4"))) (, ",") (number_literal "0") (, ",") (binary_expression "(iVar43 - param_5) * 4" (parenthesized_expression "(iVar43 - param_5)" (( "(") (binary_expression "iVar43 - param_5" (identifier "iVar43") (- "-") (identifier "param_5")) () ")")) (* "*") (number_literal "4")) () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }" (else "else") (compound_statement "{\n      puVar27 = puVar37 + iVar4 + -4;\n      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);\n      iVar4 = iVar40;\n      do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);\n      if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n    }" ({ "{") (expression_statement "puVar27 = puVar37 + iVar4 + -4;" (assignment_expression "puVar27 = puVar37 + iVar4 + -4" (identifier "puVar27") (= "=") (binary_expression "puVar37 + iVar4 + -4" (binary_expression "puVar37 + iVar4" (identifier "puVar37") (+ "+") (identifier "iVar4")) (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);" (assignment_expression "puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41)" (identifier "puVar28") (= "=") (cast_expression "(uint *)(param_4 + iVar4 + -8 + iVar41)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + iVar4 + -8 + iVar41)" (( "(") (binary_expression "param_4 + iVar4 + -8 + iVar41" (binary_expression "param_4 + iVar4 + -8" (binary_expression "param_4 + iVar4" (identifier "param_4") (+ "+") (identifier "iVar4")) (+ "+") (number_literal "-8")) (+ "+") (identifier "iVar41")) () ")")))) (; ";")) (expression_statement "iVar4 = iVar40;" (assignment_expression "iVar4 = iVar40" (identifier "iVar4") (= "=") (identifier "iVar40")) (; ";")) (do_statement "do {\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      } while (*puVar33 == uVar39);" (do "do") (compound_statement "{\n        iVar4 = iVar4 + -1;\n        if (iVar4 < 0) goto LAB_0005dccc;\n        puVar33 = (uint *)(puVar27 + -4);\n        uVar39 = *puVar28;\n        puVar27 = puVar27 + -4;\n        puVar28 = puVar28 + -1;\n      }" ({ "{") (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar4 < 0) goto LAB_0005dccc;" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005dccc;" (goto "goto") (statement_identifier "LAB_0005dccc") (; ";"))) (expression_statement "puVar33 = (uint *)(puVar27 + -4);" (assignment_expression "puVar33 = (uint *)(puVar27 + -4)" (identifier "puVar33") (= "=") (cast_expression "(uint *)(puVar27 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + -4)" (( "(") (binary_expression "puVar27 + -4" (identifier "puVar27") (+ "+") (number_literal "-4")) () ")")))) (; ";")) (expression_statement "uVar39 = *puVar28;" (assignment_expression "uVar39 = *puVar28" (identifier "uVar39") (= "=") (pointer_expression "*puVar28" (* "*") (identifier "puVar28"))) (; ";")) (expression_statement "puVar27 = puVar27 + -4;" (assignment_expression "puVar27 = puVar27 + -4" (identifier "puVar27") (= "=") (binary_expression "puVar27 + -4" (identifier "puVar27") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" (identifier "puVar28") (= "=") (binary_expression "puVar28 + -1" (identifier "puVar28") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*puVar33 == uVar39)" (( "(") (binary_expression "*puVar33 == uVar39" (pointer_expression "*puVar33" (* "*") (identifier "puVar33")) (== "==") (identifier "uVar39")) () ")")) (; ";")) (if_statement "if (uVar39 < *puVar33) {\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }\n      else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" (if "if") (parenthesized_expression "(uVar39 < *puVar33)" (( "(") (binary_expression "uVar39 < *puVar33" (identifier "uVar39") (< "<") (pointer_expression "*puVar33" (* "*") (identifier "puVar33"))) () ")")) (compound_statement "{\nLAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" ({ "{") (labeled_statement "LAB_0005dccc:\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);" (statement_identifier "LAB_0005dccc") (: ":") (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" (( "(") (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" (* "*") (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_sub_n_0009d514"))) () ")")) (argument_list "(puVar47,puVar37,puVar20,iVar40)" (( "(") (identifier "puVar47") (, ",") (identifier "puVar37") (, ",") (identifier "puVar20") (, ",") (identifier "iVar40") () ")"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar47 + iVar41) = 0;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = 0" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" (* "*") (cast_expression "(undefined4 *)(puVar47 + iVar41)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + iVar41)" (( "(") (binary_expression "puVar47 + iVar41" (identifier "puVar47") (+ "+") (identifier "iVar41")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" (else "else") (compound_statement "{\n        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);\n        local_64 = local_64 ^ 1;\n        *(undefined4 *)(puVar47 + iVar41) = 0;\n      }" ({ "{") (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" (( "(") (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" (* "*") (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_sub_n_0009d514"))) () ")")) (argument_list "(puVar47,puVar20,puVar37,iVar40)" (( "(") (identifier "puVar47") (, ",") (identifier "puVar20") (, ",") (identifier "puVar37") (, ",") (identifier "iVar40") () ")"))) (; ";")) (expression_statement "local_64 = local_64 ^ 1;" (assignment_expression "local_64 = local_64 ^ 1" (identifier "local_64") (= "=") (binary_expression "local_64 ^ 1" (identifier "local_64") (^ "^") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar47 + iVar41) = 0;" (assignment_expression "*(undefined4 *)(puVar47 + iVar41) = 0" (pointer_expression "*(undefined4 *)(puVar47 + iVar41)" (* "*") (cast_expression "(undefined4 *)(puVar47 + iVar41)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar47 + iVar41)" (( "(") (binary_expression "puVar47 + iVar41" (identifier "puVar47") (+ "+") (identifier "iVar41")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}"))))) (} "}")))) (labeled_statement "LAB_0005d68c:\n  iVar9 = *piVar21;" (statement_identifier "LAB_0005d68c") (: ":") (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" (identifier "iVar9") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";"))) (expression_statement "iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40);" (assignment_expression "iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" (( "(") (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" (* "*") (cast_expression "(code *)PTR___gmpn_add_n_0009d334" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_add_n_0009d334"))) () ")")) (argument_list "(puVar6,puVar36,param_4,iVar40)" (( "(") (identifier "puVar6") (, ",") (identifier "puVar36") (, ",") (identifier "param_4") (, ",") (identifier "iVar40") () ")")))) (; ";")) (expression_statement "*(int *)(puVar6 + iVar41) = iVar9 + iVar4;" (assignment_expression "*(int *)(puVar6 + iVar41) = iVar9 + iVar4" (pointer_expression "*(int *)(puVar6 + iVar41)" (* "*") (cast_expression "(int *)(puVar6 + iVar41)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + iVar41)" (( "(") (binary_expression "puVar6 + iVar41" (identifier "puVar6") (+ "+") (identifier "iVar41")) () ")")))) (= "=") (binary_expression "iVar9 + iVar4" (identifier "iVar9") (+ "+") (identifier "iVar4"))) (; ";")) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" (( "(") (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" (* "*") (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_mul_n_0009d364"))) () ")")) (argument_list "(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43)" (( "(") (identifier "param_6") (, ",") (binary_expression "&stack0xffffff68 + uVar5 * -3" (pointer_expression "&stack0xffffff68" (& "&") (identifier "stack0xffffff68")) (+ "+") (binary_expression "uVar5 * -3" (identifier "uVar5") (* "*") (number_literal "-3"))) (, ",") (identifier "puVar46") (, ",") (identifier "iVar43") () ")"))) (; ";")) (expression_statement "iVar9 = param_6 + iVar38 + 4;" (assignment_expression "iVar9 = param_6 + iVar38 + 4" (identifier "iVar9") (= "=") (binary_expression "param_6 + iVar38 + 4" (binary_expression "param_6 + iVar38" (identifier "param_6") (+ "+") (identifier "iVar38")) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" (( "(") (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" (* "*") (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_mul_n_0009d364"))) () ")")) (argument_list "(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43)" (( "(") (identifier "iVar9") (, ",") (binary_expression "&stack0xffffff68 + uVar5 * -4" (pointer_expression "&stack0xffffff68" (& "&") (identifier "stack0xffffff68")) (+ "+") (binary_expression "uVar5 * -4" (identifier "uVar5") (* "*") (number_literal "-4"))) (, ",") (identifier "puVar47") (, ",") (identifier "iVar43") () ")"))) (; ";")) (expression_statement "iVar10 = param_6 + iVar40 * 0x10 + 8;" (assignment_expression "iVar10 = param_6 + iVar40 * 0x10 + 8" (identifier "iVar10") (= "=") (binary_expression "param_6 + iVar40 * 0x10 + 8" (binary_expression "param_6 + iVar40 * 0x10" (identifier "param_6") (+ "+") (binary_expression "iVar40 * 0x10" (identifier "iVar40") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "8"))) (; ";")) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" (( "(") (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" (* "*") (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_mul_n_0009d364"))) () ")")) (argument_list "(iVar10,puVar42,puVar6,iVar43)" (( "(") (identifier "iVar10") (, ",") (identifier "puVar42") (, ",") (identifier "puVar6") (, ",") (identifier "iVar43") () ")"))) (; ";")) (expression_statement "iVar4 = param_6 + iVar40 * 0x18 + 0xc;" (assignment_expression "iVar4 = param_6 + iVar40 * 0x18 + 0xc" (identifier "iVar4") (= "=") (binary_expression "param_6 + iVar40 * 0x18 + 0xc" (binary_expression "param_6 + iVar40 * 0x18" (identifier "param_6") (+ "+") (binary_expression "iVar40 * 0x18" (identifier "iVar40") (* "*") (number_literal "0x18"))) (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40);" (call_expression "(*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_n_0009d364)" (( "(") (pointer_expression "*(code *)PTR___gmpn_mul_n_0009d364" (* "*") (cast_expression "(code *)PTR___gmpn_mul_n_0009d364" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_mul_n_0009d364"))) () ")")) (argument_list "(iVar4,puVar29,puVar37,iVar40)" (( "(") (identifier "iVar4") (, ",") (identifier "puVar29") (, ",") (identifier "puVar37") (, ",") (identifier "iVar40") () ")"))) (; ";")) (if_statement "if (*(int *)(puVar29 + iVar41) == 1) {\n    iVar11 = param_6 + iVar40 * 0x1c + 0xc;\n    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);\n  }\n  else if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar29 + iVar41) == 1)" (( "(") (binary_expression "*(int *)(puVar29 + iVar41) == 1" (pointer_expression "*(int *)(puVar29 + iVar41)" (* "*") (cast_expression "(int *)(puVar29 + iVar41)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar29 + iVar41)" (( "(") (binary_expression "puVar29 + iVar41" (identifier "puVar29") (+ "+") (identifier "iVar41")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    iVar11 = param_6 + iVar40 * 0x1c + 0xc;\n    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);\n  }" ({ "{") (expression_statement "iVar11 = param_6 + iVar40 * 0x1c + 0xc;" (assignment_expression "iVar11 = param_6 + iVar40 * 0x1c + 0xc" (identifier "iVar11") (= "=") (binary_expression "param_6 + iVar40 * 0x1c + 0xc" (binary_expression "param_6 + iVar40 * 0x1c" (identifier "param_6") (+ "+") (binary_expression "iVar40 * 0x1c" (identifier "iVar40") (* "*") (number_literal "0x1c"))) (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);" (assignment_expression "uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40)" (identifier "uVar18") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" (( "(") (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" (* "*") (cast_expression "(code *)PTR___gmpn_add_n_0009d334" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_add_n_0009d334"))) () ")")) (argument_list "(iVar11,iVar11,puVar37,iVar40)" (( "(") (identifier "iVar11") (, ",") (identifier "iVar11") (, ",") (identifier "puVar37") (, ",") (identifier "iVar40") () ")")))) (; ";")) (} "}")) (else_clause "else if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }" (else "else") (if_statement "if (*(int *)(puVar29 + iVar41) == 2) {\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }\n  else {\n    uVar18 = 0;\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar29 + iVar41) == 2)" (( "(") (binary_expression "*(int *)(puVar29 + iVar41) == 2" (pointer_expression "*(int *)(puVar29 + iVar41)" (* "*") (cast_expression "(int *)(puVar29 + iVar41)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar29 + iVar41)" (( "(") (binary_expression "puVar29 + iVar41" (identifier "puVar29") (+ "+") (identifier "iVar41")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;\n  }" ({ "{") (expression_statement "uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)\n    ;" (assignment_expression "uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)" (identifier "uVar18") (= "=") (call_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)" (parenthesized_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)" (( "(") (pointer_expression "*(code *)PTR___gmpn_addmul_1_0009d0d0" (* "*") (cast_expression "(code *)PTR___gmpn_addmul_1_0009d0d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_addmul_1_0009d0d0"))) () ")")) (argument_list "(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)" (( "(") (binary_expression "param_6 + iVar40 * 0x1c + 0xc" (binary_expression "param_6 + iVar40 * 0x1c" (identifier "param_6") (+ "+") (binary_expression "iVar40 * 0x1c" (identifier "iVar40") (* "*") (number_literal "0x1c"))) (+ "+") (number_literal "0xc")) (, ",") (identifier "puVar37") (, ",") (identifier "iVar40") (, ",") (number_literal "2") () ")")))) (; ";")) (} "}")) (else_clause "else {\n    uVar18 = 0;\n  }" (else "else") (compound_statement "{\n    uVar18 = 0;\n  }" ({ "{") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (} "}")))))) (expression_statement "puVar50 = PTR___gmpn_mul_n_0009d364;" (assignment_expression "puVar50 = PTR___gmpn_mul_n_0009d364" (identifier "puVar50") (= "=") (identifier "PTR___gmpn_mul_n_0009d364")) (; ";")) (expression_statement "*(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18;" (assignment_expression "*(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18" (pointer_expression "*(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + iVar40 * 0x20 + 0xc)" (( "(") (binary_expression "param_6 + iVar40 * 0x20 + 0xc" (binary_expression "param_6 + iVar40 * 0x20" (identifier "param_6") (+ "+") (binary_expression "iVar40 * 0x20" (identifier "iVar40") (* "*") (number_literal "0x20"))) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "(*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40);" (call_expression "(*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40)" (parenthesized_expression "(*(code *)puVar50)" (( "(") (pointer_expression "*(code *)puVar50" (* "*") (cast_expression "(code *)puVar50" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar50"))) () ")")) (argument_list "(param_1 + iVar38,puVar26,puVar36,iVar40)" (( "(") (binary_expression "param_1 + iVar38" (identifier "param_1") (+ "+") (identifier "iVar38")) (, ",") (identifier "puVar26") (, ",") (identifier "puVar36") (, ",") (identifier "iVar40") () ")"))) (; ";")) (expression_statement "iVar11 = *(int *)(puVar26 + iVar41);" (assignment_expression "iVar11 = *(int *)(puVar26 + iVar41)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(puVar26 + iVar41)" (* "*") (cast_expression "(int *)(puVar26 + iVar41)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + iVar41)" (( "(") (binary_expression "puVar26 + iVar41" (identifier "puVar26") (+ "+") (identifier "iVar41")) () ")"))))) (; ";")) (if_statement "if (iVar11 == 1) {\n    iVar11 = *piVar21;\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);\n    iVar11 = iVar11 + iVar35;\n    iVar35 = *piVar21;\n  }\n  else {\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar11 == 1)" (( "(") (binary_expression "iVar11 == 1" (identifier "iVar11") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    iVar11 = *piVar21;\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);\n    iVar11 = iVar11 + iVar35;\n    iVar35 = *piVar21;\n  }" ({ "{") (expression_statement "iVar11 = *piVar21;" (assignment_expression "iVar11 = *piVar21" (identifier "iVar11") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (expression_statement "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);" (assignment_expression "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40)" (identifier "iVar35") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" (( "(") (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" (* "*") (cast_expression "(code *)PTR___gmpn_add_n_0009d334" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_add_n_0009d334"))) () ")")) (argument_list "(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40)" (( "(") (binary_expression "param_1 + iVar13" (identifier "param_1") (+ "+") (identifier "iVar13")) (, ",") (binary_expression "param_1 + iVar13" (identifier "param_1") (+ "+") (identifier "iVar13")) (, ",") (identifier "puVar36") (, ",") (identifier "iVar40") () ")")))) (; ";")) (expression_statement "iVar11 = iVar11 + iVar35;" (assignment_expression "iVar11 = iVar11 + iVar35" (identifier "iVar11") (= "=") (binary_expression "iVar11 + iVar35" (identifier "iVar11") (+ "+") (identifier "iVar35"))) (; ";")) (expression_statement "iVar35 = *piVar21;" (assignment_expression "iVar35 = *piVar21" (identifier "iVar35") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (} "}")) (else_clause "else {\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    iVar35 = *piVar21;\n    if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar35 = *piVar21;" (assignment_expression "iVar35 = *piVar21" (identifier "iVar35") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (if_statement "if (iVar11 == 2) {\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }\n    else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }" (if "if") (parenthesized_expression "(iVar11 == 2)" (( "(") (binary_expression "iVar11 == 2" (identifier "iVar11") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);\n      iVar11 = iVar35 * 2;\n      iVar35 = *piVar21;\n      iVar11 = iVar11 + iVar12;\n    }" ({ "{") (expression_statement "iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);" (assignment_expression "iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2)" (identifier "iVar12") (= "=") (call_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2)" (parenthesized_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)" (( "(") (pointer_expression "*(code *)PTR___gmpn_addmul_1_0009d0d0" (* "*") (cast_expression "(code *)PTR___gmpn_addmul_1_0009d0d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_addmul_1_0009d0d0"))) () ")")) (argument_list "(param_1 + iVar13,puVar36,iVar40,2)" (( "(") (binary_expression "param_1 + iVar13" (identifier "param_1") (+ "+") (identifier "iVar13")) (, ",") (identifier "puVar36") (, ",") (identifier "iVar40") (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "iVar11 = iVar35 * 2;" (assignment_expression "iVar11 = iVar35 * 2" (identifier "iVar11") (= "=") (binary_expression "iVar35 * 2" (identifier "iVar35") (* "*") (number_literal "2"))) (; ";")) (expression_statement "iVar35 = *piVar21;" (assignment_expression "iVar35 = *piVar21" (identifier "iVar35") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (expression_statement "iVar11 = iVar11 + iVar12;" (assignment_expression "iVar11 = iVar11 + iVar12" (identifier "iVar11") (= "=") (binary_expression "iVar11 + iVar12" (identifier "iVar11") (+ "+") (identifier "iVar12"))) (; ";")) (} "}")) (else_clause "else {\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }" (else "else") (compound_statement "{\n      iVar12 = iVar11 * iVar35;\n      if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }\n    }" ({ "{") (expression_statement "iVar12 = iVar11 * iVar35;" (assignment_expression "iVar12 = iVar11 * iVar35" (identifier "iVar12") (= "=") (binary_expression "iVar11 * iVar35" (identifier "iVar11") (* "*") (identifier "iVar35"))) (; ";")) (if_statement "if (iVar11 != 0) {\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);\n        iVar35 = *piVar21;\n        iVar11 = iVar12 + iVar11;\n      }" ({ "{") (expression_statement "iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11)" (identifier "iVar11") (= "=") (call_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11)" (parenthesized_expression "(*(code *)PTR___gmpn_addmul_1_0009d0d0)" (( "(") (pointer_expression "*(code *)PTR___gmpn_addmul_1_0009d0d0" (* "*") (cast_expression "(code *)PTR___gmpn_addmul_1_0009d0d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_addmul_1_0009d0d0"))) () ")")) (argument_list "(param_1 + iVar13,puVar36,iVar40,iVar11)" (( "(") (binary_expression "param_1 + iVar13" (identifier "param_1") (+ "+") (identifier "iVar13")) (, ",") (identifier "puVar36") (, ",") (identifier "iVar40") (, ",") (identifier "iVar11") () ")")))) (; ";")) (expression_statement "iVar35 = *piVar21;" (assignment_expression "iVar35 = *piVar21" (identifier "iVar35") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (expression_statement "iVar11 = iVar12 + iVar11;" (assignment_expression "iVar11 = iVar12 + iVar11" (identifier "iVar11") (= "=") (binary_expression "iVar12 + iVar11" (identifier "iVar12") (+ "+") (identifier "iVar11"))) (; ";")) (} "}"))) (} "}")))) (} "}")))) (if_statement "if (iVar35 != 0) {\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);\n    iVar11 = iVar11 + iVar35;\n  }" (if "if") (parenthesized_expression "(iVar35 != 0)" (( "(") (binary_expression "iVar35 != 0" (identifier "iVar35") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);\n    iVar11 = iVar11 + iVar35;\n  }" ({ "{") (expression_statement "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);" (assignment_expression "iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40)" (identifier "iVar35") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" (( "(") (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" (* "*") (cast_expression "(code *)PTR___gmpn_add_n_0009d334" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_add_n_0009d334"))) () ")")) (argument_list "(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40)" (( "(") (binary_expression "param_1 + iVar13" (identifier "param_1") (+ "+") (identifier "iVar13")) (, ",") (binary_expression "param_1 + iVar13" (identifier "param_1") (+ "+") (identifier "iVar13")) (, ",") (identifier "puVar26") (, ",") (identifier "iVar40") () ")")))) (; ";")) (expression_statement "iVar11 = iVar11 + iVar35;" (assignment_expression "iVar11 = iVar11 + iVar35" (identifier "iVar11") (= "=") (binary_expression "iVar11 + iVar35" (identifier "iVar11") (+ "+") (identifier "iVar35"))) (; ";")) (} "}"))) (expression_statement "puVar50 = PTR___gmpn_mul_n_0009d364;" (assignment_expression "puVar50 = PTR___gmpn_mul_n_0009d364" (identifier "puVar50") (= "=") (identifier "PTR___gmpn_mul_n_0009d364")) (; ";")) (expression_statement "piVar21 = (int *)(param_1 + iVar38 + iVar38);" (assignment_expression "piVar21 = (int *)(param_1 + iVar38 + iVar38)" (identifier "piVar21") (= "=") (cast_expression "(int *)(param_1 + iVar38 + iVar38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + iVar38 + iVar38)" (( "(") (binary_expression "param_1 + iVar38 + iVar38" (binary_expression "param_1 + iVar38" (identifier "param_1") (+ "+") (identifier "iVar38")) (+ "+") (identifier "iVar38")) () ")")))) (; ";")) (expression_statement "*piVar21 = iVar11;" (assignment_expression "*piVar21 = iVar11" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "(*(code *)puVar50)(param_1,param_2,param_4,iVar40);" (call_expression "(*(code *)puVar50)(param_1,param_2,param_4,iVar40)" (parenthesized_expression "(*(code *)puVar50)" (( "(") (pointer_expression "*(code *)puVar50" (* "*") (cast_expression "(code *)puVar50" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar50"))) () ")")) (argument_list "(param_1,param_2,param_4,iVar40)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_4") (, ",") (identifier "iVar40") () ")"))) (; ";")) (if_statement "if (param_5 < param_3) {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);\n  }\n  else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }" (if "if") (parenthesized_expression "(param_5 < param_3)" (( "(") (binary_expression "param_5 < param_3" (identifier "param_5") (< "<") (identifier "param_3")) () ")")) (compound_statement "{\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);\n  }" ({ "{") (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "param_5")) (; ";")) (expression_statement "(*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);" (call_expression "(*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_0009d2b4)" (( "(") (pointer_expression "*(code *)PTR___gmpn_mul_0009d2b4" (* "*") (cast_expression "(code *)PTR___gmpn_mul_0009d2b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_mul_0009d2b4"))) () ")")) (argument_list "(piVar21 + iVar40 * 2,iVar44,param_3,puVar20)" (( "(") (binary_expression "piVar21 + iVar40 * 2" (identifier "piVar21") (+ "+") (binary_expression "iVar40 * 2" (identifier "iVar40") (* "*") (number_literal "2"))) (, ",") (identifier "iVar44") (, ",") (identifier "param_3") (, ",") (identifier "puVar20") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }" (else "else") (compound_statement "{\n    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;\n    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);\n  }" ({ "{") (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (expression_statement "(*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);" (call_expression "(*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_0009d2b4)" (( "(") (pointer_expression "*(code *)PTR___gmpn_mul_0009d2b4" (* "*") (cast_expression "(code *)PTR___gmpn_mul_0009d2b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_mul_0009d2b4"))) () ")")) (argument_list "(piVar21 + iVar40 * 2,puVar20,param_5,iVar44)" (( "(") (binary_expression "piVar21 + iVar40 * 2" (identifier "piVar21") (+ "+") (binary_expression "iVar40 * 2" (identifier "iVar40") (* "*") (number_literal "2"))) (, ",") (identifier "puVar20") (, ",") (identifier "param_5") (, ",") (identifier "iVar44") () ")"))) (; ";")) (} "}")))) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "iVar13 = param_6 + iVar40 * 0x20 + 0x10;" (assignment_expression "iVar13 = param_6 + iVar40 * 0x20 + 0x10" (identifier "iVar13") (= "=") (binary_expression "param_6 + iVar40 * 0x20 + 0x10" (binary_expression "param_6 + iVar40 * 0x20" (identifier "param_6") (+ "+") (binary_expression "iVar40 * 0x20" (identifier "iVar40") (* "*") (number_literal "0x20"))) (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "param_6")) (; ";")) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "param_3 + param_5" (identifier "param_3") (+ "+") (identifier "param_5"))) (; ";")) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "iVar35 = iVar40;" (assignment_expression "iVar35 = iVar40" (identifier "iVar35") (= "=") (identifier "iVar40")) (; ";")) (expression_statement "iVar12 = iVar9;" (assignment_expression "iVar12 = iVar9" (identifier "iVar12") (= "=") (identifier "iVar9")) (; ";")) (expression_statement "(*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();" (call_expression "(*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)()" (parenthesized_expression "(*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)" (( "(") (pointer_expression "*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8" (* "*") (cast_expression "(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_toom_interpolate_7pts_0009d3c8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iVar19 == *(int *)puVar48) {\n    return;\n  }" (if "if") (parenthesized_expression "(iVar19 == *(int *)puVar48)" (( "(") (binary_expression "iVar19 == *(int *)puVar48" (identifier "iVar19") (== "==") (pointer_expression "*(int *)puVar48" (* "*") (cast_expression "(int *)puVar48" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar48")))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar18 = 0x5e16c;" (assignment_expression "uVar18 = 0x5e16c" (identifier "uVar18") (= "=") (number_literal "0x5e16c")) (; ";")) (expression_statement "puVar48 = PTR___stack_chk_fail_0009d4d0;" (assignment_expression "puVar48 = PTR___stack_chk_fail_0009d4d0" (identifier "puVar48") (= "=") (identifier "PTR___stack_chk_fail_0009d4d0")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_0009d4d0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0009d4d0" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0009d4d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0009d4d0"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar50 = puVar48 + 0x46ed0;" (assignment_expression "puVar50 = puVar48 + 0x46ed0" (identifier "puVar50") (= "=") (binary_expression "puVar48 + 0x46ed0" (identifier "puVar48") (+ "+") (number_literal "0x46ed0"))) (; ";")) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x20)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x20" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "iVar40")) (; ";")) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x14)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x14" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64;" (assignment_expression "*(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64" (pointer_expression "*(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "local_64")) (; ";")) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x34")) () ")")))) (= "=") (binary_expression "local_64 + 2" (identifier "local_64") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -8)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -8" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x1c" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (binary_expression "param_3 + param_5" (identifier "param_3") (+ "+") (identifier "param_5"))) (; ";")) (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21;" (assignment_expression "*(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21" (pointer_expression "*(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10)" (* "*") (cast_expression "(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x10)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x10" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar21")) (; ";")) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50;" (assignment_expression "*(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50" (pointer_expression "*(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "puVar50")) (; ";")) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0xc)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0xc" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18;" (assignment_expression "*(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18" (pointer_expression "*(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&uStack_c4 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)&uStack_c4 + iVar3 + uVar5 * -9" (binary_expression "(int)&uStack_c4 + iVar3" (cast_expression "(int)&uStack_c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&uStack_c4" (& "&") (identifier "uStack_c4"))) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "*(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0;" (assignment_expression "*(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0" (pointer_expression "*(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "auStack_c0")) (; ";")) (expression_statement "uVar39 = (local_64 + 2) / 3;" (assignment_expression "uVar39 = (local_64 + 2) / 3" (identifier "uVar39") (= "=") (binary_expression "(local_64 + 2) / 3" (parenthesized_expression "(local_64 + 2)" (( "(") (binary_expression "local_64 + 2" (identifier "local_64") (+ "+") (number_literal "2")) () ")")) (/ "/") (number_literal "3"))) (; ";")) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -4)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -4" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x18)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x18" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "iVar10 = uVar39 + 1;" (assignment_expression "iVar10 = uVar39 + 1" (identifier "iVar10") (= "=") (binary_expression "uVar39 + 1" (identifier "uVar39") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35;" (assignment_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "iVar35")) (; ";")) (expression_statement "uVar7 = iVar19 + uVar39 * -2;" (assignment_expression "uVar7 = iVar19 + uVar39 * -2" (identifier "uVar7") (= "=") (binary_expression "iVar19 + uVar39 * -2" (identifier "iVar19") (+ "+") (binary_expression "uVar39 * -2" (identifier "uVar39") (* "*") (number_literal "-2")))) (; ";")) (expression_statement "iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc);" (assignment_expression "iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar19 = iVar10 * 8;" (assignment_expression "iVar19 = iVar10 * 8" (identifier "iVar19") (= "=") (binary_expression "iVar10 * 8" (identifier "iVar10") (* "*") (number_literal "8"))) (; ";")) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x2c" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x38")) () ")")))) (= "=") (binary_expression "iVar10 * 0x10" (identifier "iVar10") (* "*") (number_literal "0x10"))) (; ";")) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "iVar4 + uVar39 * -2" (identifier "iVar4") (+ "+") (binary_expression "uVar39 * -2" (identifier "uVar39") (* "*") (number_literal "-2")))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "iVar9 + iVar10 * 0xc" (identifier "iVar9") (+ "+") (binary_expression "iVar10 * 0xc" (identifier "iVar10") (* "*") (number_literal "0xc")))) (; ";")) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x34" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (binary_expression "iVar19 + -8" (identifier "iVar19") (+ "+") (number_literal "-8"))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x24")) () ")")))) (= "=") (binary_expression "iVar9 + iVar10 * 0x10" (identifier "iVar9") (+ "+") (binary_expression "iVar10 * 0x10" (identifier "iVar10") (* "*") (number_literal "0x10")))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "param_1 + iVar19" (identifier "param_1") (+ "+") (identifier "iVar19"))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4"))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "iVar9 + iVar19" (identifier "iVar9") (+ "+") (identifier "iVar19"))) (; ";")) (expression_statement "iVar4 = param_1 + iVar10 * 4;" (assignment_expression "iVar4 = param_1 + iVar10 * 4" (identifier "iVar4") (= "=") (binary_expression "param_1 + iVar10 * 4" (identifier "param_1") (+ "+") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4")))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "iVar35 + iVar19 + -8" (binary_expression "iVar35 + iVar19" (identifier "iVar35") (+ "+") (identifier "iVar19")) (+ "+") (number_literal "-8"))) (; ";")) (if_statement "if (uVar7 == 0) {\n    uVar8 = 0;\nLAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\nLAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);\n    piVar21 = (int *)(iVar11 + iVar35);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar11 = iVar9 + iVar35;\n    *piVar21 = iVar19;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);\n    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n    *puVar45 = 0;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n  }\n  else {\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar8 = 0;\nLAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\nLAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);\n    piVar21 = (int *)(iVar11 + iVar35);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar11 = iVar9 + iVar35;\n    *piVar21 = iVar19;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);\n    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n    *puVar45 = 0;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n  }" ({ "{") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0005e258:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (statement_identifier "LAB_0005e258") (: ":") (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")"))))) (; ";"))) (labeled_statement "LAB_0005e25c:\n    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }" (statement_identifier "LAB_0005e25c") (: ":") (if_statement "if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }\n    else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }" (if "if") (parenthesized_expression "((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8))" (( "(") (binary_expression "(iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)" (parenthesized_expression "(iVar9 == iVar19)" (( "(") (binary_expression "iVar9 == iVar19" (identifier "iVar9") (== "==") (identifier "iVar19")) () ")")) (|| "||") (parenthesized_expression "((int)uVar39 <= (int)uVar8)" (( "(") (binary_expression "(int)uVar39 <= (int)uVar8" (cast_expression "(int)uVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar39")) (<= "<=") (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8"))) () ")"))) () ")")) (compound_statement "{\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    }" ({ "{") (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" (identifier "iVar35") (= "=") (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "-4"))) (; ";")) (} "}")) (else_clause "else {\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }" (else "else") (compound_statement "{\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));\n    }" ({ "{") (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")"))))) (; ";")) (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" (identifier "iVar35") (= "=") (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);" (assignment_expression "puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4)" (identifier "puVar23") (= "=") (cast_expression "(undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4)" (( "(") (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (+ "+") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);" (assignment_expression "puVar45 = (undefined4 *)(iVar9 + uVar8 * 4)" (identifier "puVar45") (= "=") (cast_expression "(undefined4 *)(iVar9 + uVar8 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + uVar8 * 4)" (( "(") (binary_expression "iVar9 + uVar8 * 4" (identifier "iVar9") (+ "+") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) () ")")))) (; ";")) (do_statement "do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));" (do "do") (compound_statement "{\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      }" ({ "{") (expression_statement "uVar18 = *puVar23;" (assignment_expression "uVar18 = *puVar23" (identifier "uVar18") (= "=") (pointer_expression "*puVar23" (* "*") (identifier "puVar23"))) (; ";")) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" (identifier "puVar23") (= "=") (binary_expression "puVar23 + 1" (identifier "puVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar45 = uVar18;" (assignment_expression "*puVar45 = uVar18" (pointer_expression "*puVar45" (* "*") (identifier "puVar45")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "puVar45 = puVar45 + 1;" (assignment_expression "puVar45 = puVar45 + 1" (identifier "puVar45") (= "=") (binary_expression "puVar45 + 1" (identifier "puVar45") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar23 != (undefined4 *)(iVar19 + iVar35))" (( "(") (binary_expression "puVar23 != (undefined4 *)(iVar19 + iVar35)" (identifier "puVar23") (!= "!=") (cast_expression "(undefined4 *)(iVar19 + iVar35)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + iVar35)" (( "(") (binary_expression "iVar19 + iVar35" (identifier "iVar19") (+ "+") (identifier "iVar35")) () ")")))) () ")")) (; ";")) (} "}"))))) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;" (assignment_expression "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35" (identifier "iVar13") (= "=") (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (+ "+") (identifier "iVar35"))) (; ";")) (expression_statement "iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);" (assignment_expression "iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39)" (parenthesized_expression "(**(code **)(puVar50 + -0x7d0c))" (( "(") (pointer_expression "**(code **)(puVar50 + -0x7d0c)" (* "*") (pointer_expression "*(code **)(puVar50 + -0x7d0c)" (* "*") (cast_expression "(code **)(puVar50 + -0x7d0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar50 + -0x7d0c)" (( "(") (binary_expression "puVar50 + -0x7d0c" (identifier "puVar50") (+ "+") (number_literal "-0x7d0c")) () ")"))))) () ")")) (argument_list "(iVar11,iVar9,iVar13,uVar39)" (( "(") (identifier "iVar11") (, ",") (identifier "iVar9") (, ",") (identifier "iVar13") (, ",") (identifier "uVar39") () ")")))) (; ";")) (expression_statement "piVar21 = (int *)(iVar11 + iVar35);" (assignment_expression "piVar21 = (int *)(iVar11 + iVar35)" (identifier "piVar21") (= "=") (cast_expression "(int *)(iVar11 + iVar35)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + iVar35)" (( "(") (binary_expression "iVar11 + iVar35" (identifier "iVar11") (+ "+") (identifier "iVar35")) () ")")))) (; ";")) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "iVar11 = iVar9 + iVar35;" (assignment_expression "iVar11 = iVar9 + iVar35" (identifier "iVar11") (= "=") (binary_expression "iVar9 + iVar35" (identifier "iVar9") (+ "+") (identifier "iVar35"))) (; ";")) (expression_statement "*piVar21 = iVar19;" (assignment_expression "*piVar21 = iVar19" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);" (assignment_expression "puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35)" (identifier "puVar28") (= "=") (cast_expression "(uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35)" (( "(") (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35" (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (+ "+") (binary_expression "(uVar39 - 1) * 4" (parenthesized_expression "(uVar39 - 1)" (( "(") (binary_expression "uVar39 - 1" (identifier "uVar39") (- "-") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) (+ "+") (identifier "iVar35")) () ")")))) (; ";")) (expression_statement "uVar8 = uVar39;" (assignment_expression "uVar8 = uVar39" (identifier "uVar8") (= "=") (identifier "uVar39")) (; ";")) (do_statement "do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);" (do "do") (compound_statement "{\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }\n      uVar24 = *(uint *)(iVar11 + -4);\n      uVar30 = *puVar28;\n      iVar11 = iVar11 + -4;\n      puVar28 = puVar28 + -1;\n    }" ({ "{") (expression_statement "uVar8 = uVar8 - 1;" (assignment_expression "uVar8 = uVar8 - 1" (identifier "uVar8") (= "=") (binary_expression "uVar8 - 1" (identifier "uVar8") (- "-") (number_literal "1"))) (; ";")) (if_statement "if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }" (if "if") (parenthesized_expression "(uVar8 == 0xffffffff)" (( "(") (binary_expression "uVar8 == 0xffffffff" (identifier "uVar8") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;\n        goto LAB_0005e31c;\n      }" ({ "{") (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (* "*") (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (binary_expression "iVar19 + iVar35" (identifier "iVar19") (+ "+") (identifier "iVar35"))) (; ";")) (goto_statement "goto LAB_0005e31c;" (goto "goto") (statement_identifier "LAB_0005e31c") (; ";")) (} "}"))) (expression_statement "uVar24 = *(uint *)(iVar11 + -4);" (assignment_expression "uVar24 = *(uint *)(iVar11 + -4)" (identifier "uVar24") (= "=") (pointer_expression "*(uint *)(iVar11 + -4)" (* "*") (cast_expression "(uint *)(iVar11 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + -4)" (( "(") (binary_expression "iVar11 + -4" (identifier "iVar11") (+ "+") (number_literal "-4")) () ")"))))) (; ";")) (expression_statement "uVar30 = *puVar28;" (assignment_expression "uVar30 = *puVar28" (identifier "uVar30") (= "=") (pointer_expression "*puVar28" (* "*") (identifier "puVar28"))) (; ";")) (expression_statement "iVar11 = iVar11 + -4;" (assignment_expression "iVar11 = iVar11 + -4" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -4" (identifier "iVar11") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" (identifier "puVar28") (= "=") (binary_expression "puVar28 + -1" (identifier "puVar28") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar24 == uVar30)" (( "(") (binary_expression "uVar24 == uVar30" (identifier "uVar24") (== "==") (identifier "uVar30")) () ")")) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (identifier "iVar35"))) (; ";")) (if_statement "if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }" (if "if") (parenthesized_expression "(uVar30 < uVar24)" (( "(") (binary_expression "uVar30 < uVar24" (identifier "uVar30") (< "<") (identifier "uVar24")) () ")")) (compound_statement "{\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n      goto LAB_0005e31c;\n    }" ({ "{") (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (* "*") (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0005e31c;" (goto "goto") (statement_identifier "LAB_0005e31c") (; ";")) (} "}"))) (expression_statement "(**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);" (call_expression "(**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39)" (parenthesized_expression "(**(code **)(iVar12 + -0x7b2c))" (( "(") (pointer_expression "**(code **)(iVar12 + -0x7b2c)" (* "*") (pointer_expression "*(code **)(iVar12 + -0x7b2c)" (* "*") (cast_expression "(code **)(iVar12 + -0x7b2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar12 + -0x7b2c)" (( "(") (binary_expression "iVar12 + -0x7b2c" (identifier "iVar12") (+ "+") (number_literal "-0x7b2c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39)" (( "(") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x2c")) () ")")))) (, ",") (identifier "iVar13") (, ",") (identifier "iVar9") (, ",") (identifier "uVar39") () ")"))) (; ";")) (expression_statement "puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (identifier "puVar45") (= "=") (pointer_expression "*(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (* "*") (cast_expression "(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (* "*") (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar45 = 0;" (assignment_expression "*puVar45 = 0" (pointer_expression "*puVar45" (* "*") (identifier "puVar45")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (* "*") (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }" (else "else") (compound_statement "{\n    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);\n    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar8 = uVar7;\n    if (iVar19 == 0) goto LAB_0005e258;\n    if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }\nLAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;\n    piVar21 = (int *)(iVar19 + iVar35);\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;\n    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *piVar21 = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;\nLAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;\n    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;\n  }" ({ "{") (expression_statement "iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);" (assignment_expression "iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar48 + 0x3f1c4))(iVar9)" (parenthesized_expression "(**(code **)(puVar48 + 0x3f1c4))" (( "(") (pointer_expression "**(code **)(puVar48 + 0x3f1c4)" (* "*") (pointer_expression "*(code **)(puVar48 + 0x3f1c4)" (* "*") (cast_expression "(code **)(puVar48 + 0x3f1c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar48 + 0x3f1c4)" (( "(") (binary_expression "puVar48 + 0x3f1c4" (identifier "puVar48") (+ "+") (number_literal "0x3f1c4")) () ")"))))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")")))) (; ";")) (expression_statement "puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "puVar50") (= "=") (pointer_expression "*(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar8 = uVar7;" (assignment_expression "uVar8 = uVar7" (identifier "uVar8") (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (iVar19 == 0) goto LAB_0005e258;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005e258;" (goto "goto") (statement_identifier "LAB_0005e258") (; ";"))) (if_statement "if ((int)uVar7 < (int)uVar39) {\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }" (if "if") (parenthesized_expression "((int)uVar7 < (int)uVar39)" (( "(") (binary_expression "(int)uVar7 < (int)uVar39" (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7")) (< "<") (cast_expression "(int)uVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar39"))) () ")")) (compound_statement "{\n      uVar24 = uVar7 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);\n      piVar21 = (int *)(iVar9 + uVar7 * 4);\n      iVar19 = *piVar17;\n      *piVar21 = iVar19 + 1;\n      uVar8 = uVar24;\n      if (iVar19 + 1 != 0) goto LAB_0005e258;\n      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;\n      uVar8 = uVar7 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;\n      *(int *)(iVar9 + uVar24 * 4) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n      goto LAB_0005e25c;\n    }" ({ "{") (expression_statement "uVar24 = uVar7 + 1;" (assignment_expression "uVar24 = uVar7 + 1" (identifier "uVar24") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);" (assignment_expression "piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4)" (identifier "piVar17") (= "=") (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4)" (( "(") (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (+ "+") (binary_expression "uVar7 * 4" (identifier "uVar7") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "piVar21 = (int *)(iVar9 + uVar7 * 4);" (assignment_expression "piVar21 = (int *)(iVar9 + uVar7 * 4)" (identifier "piVar21") (= "=") (cast_expression "(int *)(iVar9 + uVar7 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + uVar7 * 4)" (( "(") (binary_expression "iVar9 + uVar7 * 4" (identifier "iVar9") (+ "+") (binary_expression "uVar7 * 4" (identifier "uVar7") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iVar19 = *piVar17;" (assignment_expression "iVar19 = *piVar17" (identifier "iVar19") (= "=") (pointer_expression "*piVar17" (* "*") (identifier "piVar17"))) (; ";")) (expression_statement "*piVar21 = iVar19 + 1;" (assignment_expression "*piVar21 = iVar19 + 1" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar8 = uVar24;" (assignment_expression "uVar8 = uVar24" (identifier "uVar8") (= "=") (identifier "uVar24")) (; ";")) (if_statement "if (iVar19 + 1 != 0) goto LAB_0005e258;" (if "if") (parenthesized_expression "(iVar19 + 1 != 0)" (( "(") (binary_expression "iVar19 + 1 != 0" (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005e258;" (goto "goto") (statement_identifier "LAB_0005e258") (; ";"))) (if_statement "if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;" (if "if") (parenthesized_expression "((int)uVar39 <= (int)uVar24)" (( "(") (binary_expression "(int)uVar39 <= (int)uVar24" (cast_expression "(int)uVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar39")) (<= "<=") (cast_expression "(int)uVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar24"))) () ")")) (goto_statement "goto LAB_0005eac8;" (goto "goto") (statement_identifier "LAB_0005eac8") (; ";"))) (expression_statement "uVar8 = uVar7 + 2;" (assignment_expression "uVar8 = uVar7 + 2" (identifier "uVar8") (= "=") (binary_expression "uVar7 + 2" (identifier "uVar7") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;" (assignment_expression "iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1" (identifier "iVar19") (= "=") (binary_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1" (pointer_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4)" (* "*") (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4)" (( "(") (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (+ "+") (binary_expression "uVar24 * 4" (identifier "uVar24") (* "*") (number_literal "4"))) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(iVar9 + uVar24 * 4) = iVar19;" (assignment_expression "*(int *)(iVar9 + uVar24 * 4) = iVar19" (pointer_expression "*(int *)(iVar9 + uVar24 * 4)" (* "*") (cast_expression "(int *)(iVar9 + uVar24 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + uVar24 * 4)" (( "(") (binary_expression "iVar9 + uVar24 * 4" (identifier "iVar9") (+ "+") (binary_expression "uVar24 * 4" (identifier "uVar24") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e258;\n      }" ({ "{") (do_statement "do {\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);" (do "do") (compound_statement "{\n          if (uVar39 == uVar8) goto LAB_0005eac8;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        }" ({ "{") (if_statement "if (uVar39 == uVar8) goto LAB_0005eac8;" (if "if") (parenthesized_expression "(uVar39 == uVar8)" (( "(") (binary_expression "uVar39 == uVar8" (identifier "uVar39") (== "==") (identifier "uVar8")) () ")")) (goto_statement "goto LAB_0005eac8;" (goto "goto") (statement_identifier "LAB_0005eac8") (; ";"))) (expression_statement "iVar19 = piVar17[2];" (assignment_expression "iVar19 = piVar17[2]" (identifier "iVar19") (= "=") (subscript_expression "piVar17[2]" (identifier "piVar17") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" (identifier "uVar8") (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" (identifier "piVar17") (= "=") (binary_expression "piVar17 + 1" (identifier "piVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar21[2] = iVar19 + 1;" (assignment_expression "piVar21[2] = iVar19 + 1" (subscript_expression "piVar21[2]" (identifier "piVar21") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar21 = piVar21 + 1;" (assignment_expression "piVar21 = piVar21 + 1" (identifier "piVar21") (= "=") (binary_expression "piVar21 + 1" (identifier "piVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar19 + 1 == 0)" (( "(") (binary_expression "iVar19 + 1 == 0" (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1")) (== "==") (number_literal "0")) () ")")) (; ";")) (goto_statement "goto LAB_0005e258;" (goto "goto") (statement_identifier "LAB_0005e258") (; ";")) (} "}"))) (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")"))))) (; ";")) (goto_statement "goto LAB_0005e25c;" (goto "goto") (statement_identifier "LAB_0005e25c") (; ";")) (} "}"))) (labeled_statement "LAB_0005eac8:\n    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (statement_identifier "LAB_0005eac8") (: ":") (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x24")) () ")"))))) (; ";"))) (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" (identifier "iVar35") (= "=") (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "piVar21 = (int *)(iVar19 + iVar35);" (assignment_expression "piVar21 = (int *)(iVar19 + iVar35)" (identifier "piVar21") (= "=") (cast_expression "(int *)(iVar19 + iVar35)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + iVar35)" (( "(") (binary_expression "iVar19 + iVar35" (identifier "iVar19") (+ "+") (identifier "iVar35")) () ")")))) (; ";")) (expression_statement "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;" (assignment_expression "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35" (identifier "iVar13") (= "=") (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (+ "+") (identifier "iVar35"))) (; ";")) (expression_statement "iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);" (assignment_expression "iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39)" (parenthesized_expression "(**(code **)(puVar50 + -0x7d0c))" (( "(") (pointer_expression "**(code **)(puVar50 + -0x7d0c)" (* "*") (pointer_expression "*(code **)(puVar50 + -0x7d0c)" (* "*") (cast_expression "(code **)(puVar50 + -0x7d0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar50 + -0x7d0c)" (( "(") (binary_expression "puVar50 + -0x7d0c" (identifier "puVar50") (+ "+") (number_literal "-0x7d0c")) () ")"))))) () ")")) (argument_list "(iVar19,iVar9,iVar13,uVar39)" (( "(") (identifier "iVar19") (, ",") (identifier "iVar9") (, ",") (identifier "iVar13") (, ",") (identifier "uVar39") () ")")))) (; ";")) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*piVar21 = iVar19 + 1;" (assignment_expression "*piVar21 = iVar19 + 1" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (* "*") (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (binary_expression "iVar11 + iVar35" (identifier "iVar11") (+ "+") (identifier "iVar35"))) (; ";")) (labeled_statement "LAB_0005e31c:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);" (statement_identifier "LAB_0005e31c") (: ":") (expression_statement "iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39);" (assignment_expression "iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39)" (parenthesized_expression "(**(code **)(iVar12 + -0x7b2c))" (( "(") (pointer_expression "**(code **)(iVar12 + -0x7b2c)" (* "*") (pointer_expression "*(code **)(iVar12 + -0x7b2c)" (* "*") (cast_expression "(code **)(iVar12 + -0x7b2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar12 + -0x7b2c)" (( "(") (binary_expression "iVar12 + -0x7b2c" (identifier "iVar12") (+ "+") (number_literal "-0x7b2c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,\n                        uVar39)" (( "(") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x2c")) () ")")))) (, ",") (identifier "iVar9") (, ",") (identifier "iVar13") (, ",") (identifier "uVar39") () ")")))) (; ";"))) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (* "*") (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);" (assignment_expression "iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x30")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (* "*") (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "**(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;" (assignment_expression "**(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19" (pointer_expression "**(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (* "*") (pointer_expression "*(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (* "*") (cast_expression "(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x3c")) () ")"))))) (= "=") (binary_expression "iVar11 - iVar19" (identifier "iVar11") (- "-") (identifier "iVar19"))) (; ";")) (} "}")))) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "uVar8 = (**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7);" (assignment_expression "uVar8 = (**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7)" (identifier "uVar8") (= "=") (call_expression "(**(code **)(iVar12 + -0x7d0c))\n                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7)" (parenthesized_expression "(**(code **)(iVar12 + -0x7d0c))" (( "(") (pointer_expression "**(code **)(iVar12 + -0x7d0c)" (* "*") (pointer_expression "*(code **)(iVar12 + -0x7d0c)" (* "*") (cast_expression "(code **)(iVar12 + -0x7d0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar12 + -0x7d0c)" (( "(") (binary_expression "iVar12 + -0x7d0c" (identifier "iVar12") (+ "+") (number_literal "-0x7d0c")) () ")"))))) () ")")) (argument_list "(iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,\n                     uVar7)" (( "(") (identifier "iVar4") (, ",") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x38")) () ")")))) (, ",") (identifier "iVar11") (, ",") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (uVar39 != uVar7) {\n    iVar12 = uVar39 - uVar7;\n    puVar33 = (uint *)(iVar11 + uVar7 * 4);\n    puVar28 = (uint *)(iVar4 + uVar7 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(uVar39 != uVar7)" (( "(") (binary_expression "uVar39 != uVar7" (identifier "uVar39") (!= "!=") (identifier "uVar7")) () ")")) (compound_statement "{\n    iVar12 = uVar39 - uVar7;\n    puVar33 = (uint *)(iVar11 + uVar7 * 4);\n    puVar28 = (uint *)(iVar4 + uVar7 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar12 = uVar39 - uVar7;" (assignment_expression "iVar12 = uVar39 - uVar7" (identifier "iVar12") (= "=") (binary_expression "uVar39 - uVar7" (identifier "uVar39") (- "-") (identifier "uVar7"))) (; ";")) (expression_statement "puVar33 = (uint *)(iVar11 + uVar7 * 4);" (assignment_expression "puVar33 = (uint *)(iVar11 + uVar7 * 4)" (identifier "puVar33") (= "=") (cast_expression "(uint *)(iVar11 + uVar7 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + uVar7 * 4)" (( "(") (binary_expression "iVar11 + uVar7 * 4" (identifier "iVar11") (+ "+") (binary_expression "uVar7 * 4" (identifier "uVar7") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "puVar28 = (uint *)(iVar4 + uVar7 * 4);" (assignment_expression "puVar28 = (uint *)(iVar4 + uVar7 * 4)" (identifier "puVar28") (= "=") (cast_expression "(uint *)(iVar4 + uVar7 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + uVar7 * 4)" (( "(") (binary_expression "iVar4 + uVar7 * 4" (identifier "iVar4") (+ "+") (binary_expression "uVar7 * 4" (identifier "uVar7") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "uVar24 = *puVar33;" (assignment_expression "uVar24 = *puVar33" (identifier "uVar24") (= "=") (pointer_expression "*puVar33" (* "*") (identifier "puVar33"))) (; ";")) (expression_statement "*puVar28 = uVar8 + uVar24;" (assignment_expression "*puVar28 = uVar8 + uVar24" (pointer_expression "*puVar28" (* "*") (identifier "puVar28")) (= "=") (binary_expression "uVar8 + uVar24" (identifier "uVar8") (+ "+") (identifier "uVar24"))) (; ";")) (if_statement "if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }" (if "if") (parenthesized_expression "(uVar8 + uVar24 < uVar8)" (( "(") (binary_expression "uVar8 + uVar24 < uVar8" (binary_expression "uVar8 + uVar24" (identifier "uVar8") (+ "+") (identifier "uVar24")) (< "<") (identifier "uVar8")) () ")")) (compound_statement "{\n      uVar8 = 1;\n      if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }\n    }" ({ "{") (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";")) (if_statement "if (1 < iVar12) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }" (if "if") (parenthesized_expression "(1 < iVar12)" (( "(") (binary_expression "1 < iVar12" (number_literal "1") (< "<") (identifier "iVar12")) () ")")) (compound_statement "{\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }\n      }" ({ "{") (expression_statement "uVar8 = puVar33[1];" (assignment_expression "uVar8 = puVar33[1]" (identifier "uVar8") (= "=") (subscript_expression "puVar33[1]" (identifier "puVar33") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar28[1] = uVar8 + 1;" (assignment_expression "puVar28[1] = uVar8 + 1" (subscript_expression "puVar28[1]" (identifier "puVar28") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }\n        else {\n          iVar11 = 2;\n        }" (if "if") (parenthesized_expression "(uVar8 + 1 == 0)" (( "(") (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar8 = 1;\n          if (iVar12 == 2) goto LAB_0005e408;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }\n        }" ({ "{") (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";")) (if_statement "if (iVar12 == 2) goto LAB_0005e408;" (if "if") (parenthesized_expression "(iVar12 == 2)" (( "(") (binary_expression "iVar12 == 2" (identifier "iVar12") (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_0005e408;" (goto "goto") (statement_identifier "LAB_0005e408") (; ";"))) (expression_statement "uVar8 = puVar33[2];" (assignment_expression "uVar8 = puVar33[2]" (identifier "uVar8") (= "=") (subscript_expression "puVar33[2]" (identifier "puVar33") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "puVar28[2] = uVar8 + 1;" (assignment_expression "puVar28[2] = uVar8 + 1" (subscript_expression "puVar28[2]" (identifier "puVar28") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar11 = 3;\n          }" (if "if") (parenthesized_expression "(uVar8 + 1 == 0)" (( "(") (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puVar31 = puVar33 + 3;\n            iVar11 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }" ({ "{") (expression_statement "puVar31 = puVar33 + 3;" (assignment_expression "puVar31 = puVar33 + 3" (identifier "puVar31") (= "=") (binary_expression "puVar33 + 3" (identifier "puVar33") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "iVar11 = 3;" (assignment_expression "iVar11 = 3" (identifier "iVar11") (= "=") (number_literal "3")) (; ";")) (expression_statement "puVar25 = puVar28 + 3;" (assignment_expression "puVar25 = puVar28 + 3" (identifier "puVar25") (= "=") (binary_expression "puVar28 + 3" (identifier "puVar28") (+ "+") (number_literal "3"))) (; ";")) (do_statement "do {\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);" (do "do") (compound_statement "{\n              if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }\n              uVar8 = *puVar31;\n              iVar11 = iVar11 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            }" ({ "{") (if_statement "if (iVar12 == iVar11) {\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }" (if "if") (parenthesized_expression "(iVar12 == iVar11)" (( "(") (binary_expression "iVar12 == iVar11" (identifier "iVar12") (== "==") (identifier "iVar11")) () ")")) (compound_statement "{\n                uVar8 = 1;\n                goto LAB_0005e408;\n              }" ({ "{") (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0005e408;" (goto "goto") (statement_identifier "LAB_0005e408") (; ";")) (} "}"))) (expression_statement "uVar8 = *puVar31;" (assignment_expression "uVar8 = *puVar31" (identifier "uVar8") (= "=") (pointer_expression "*puVar31" (* "*") (identifier "puVar31"))) (; ";")) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar31 = puVar31 + 1;" (assignment_expression "puVar31 = puVar31 + 1" (identifier "puVar31") (= "=") (binary_expression "puVar31 + 1" (identifier "puVar31") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar25 = uVar8 + 1;" (assignment_expression "*puVar25 = uVar8 + 1" (pointer_expression "*puVar25" (* "*") (identifier "puVar25")) (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" (identifier "puVar25") (= "=") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar8 + 1 == 0)" (( "(") (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1")) (== "==") (number_literal "0")) () ")")) (; ";")) (} "}")) (else_clause "else {\n            iVar11 = 3;\n          }" (else "else") (compound_statement "{\n            iVar11 = 3;\n          }" ({ "{") (expression_statement "iVar11 = 3;" (assignment_expression "iVar11 = 3" (identifier "iVar11") (= "=") (number_literal "3")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          iVar11 = 2;\n        }" (else "else") (compound_statement "{\n          iVar11 = 2;\n        }" ({ "{") (expression_statement "iVar11 = 2;" (assignment_expression "iVar11 = 2" (identifier "iVar11") (= "=") (number_literal "2")) (; ";")) (} "}")))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar28 != puVar33) {\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }" (if "if") (parenthesized_expression "(puVar28 != puVar33)" (( "(") (binary_expression "puVar28 != puVar33" (identifier "puVar28") (!= "!=") (identifier "puVar33")) () ")")) (compound_statement "{\n          if (iVar12 <= iVar11) goto LAB_0005ea24;\n          puVar25 = puVar33 + iVar11;\n          puVar28 = puVar28 + iVar11;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);\n          uVar8 = 0;\n        }" ({ "{") (if_statement "if (iVar12 <= iVar11) goto LAB_0005ea24;" (if "if") (parenthesized_expression "(iVar12 <= iVar11)" (( "(") (binary_expression "iVar12 <= iVar11" (identifier "iVar12") (<= "<=") (identifier "iVar11")) () ")")) (goto_statement "goto LAB_0005ea24;" (goto "goto") (statement_identifier "LAB_0005ea24") (; ";"))) (expression_statement "puVar25 = puVar33 + iVar11;" (assignment_expression "puVar25 = puVar33 + iVar11" (identifier "puVar25") (= "=") (binary_expression "puVar33 + iVar11" (identifier "puVar33") (+ "+") (identifier "iVar11"))) (; ";")) (expression_statement "puVar28 = puVar28 + iVar11;" (assignment_expression "puVar28 = puVar28 + iVar11" (identifier "puVar28") (= "=") (binary_expression "puVar28 + iVar11" (identifier "puVar28") (+ "+") (identifier "iVar11"))) (; ";")) (do_statement "do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar25 != puVar33 + iVar12);" (do "do") (compound_statement "{\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          }" ({ "{") (expression_statement "uVar8 = *puVar25;" (assignment_expression "uVar8 = *puVar25" (identifier "uVar8") (= "=") (pointer_expression "*puVar25" (* "*") (identifier "puVar25"))) (; ";")) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" (identifier "puVar25") (= "=") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar28 = uVar8;" (assignment_expression "*puVar28 = uVar8" (pointer_expression "*puVar28" (* "*") (identifier "puVar28")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar28 = puVar28 + 1;" (assignment_expression "puVar28 = puVar28 + 1" (identifier "puVar28") (= "=") (binary_expression "puVar28 + 1" (identifier "puVar28") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar25 != puVar33 + iVar12)" (( "(") (binary_expression "puVar25 != puVar33 + iVar12" (identifier "puVar25") (!= "!=") (binary_expression "puVar33 + iVar12" (identifier "puVar33") (+ "+") (identifier "iVar12"))) () ")")) (; ";")) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }" (else "else") (compound_statement "{\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }\n    }" ({ "{") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar28 != puVar33) {\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }" (if "if") (parenthesized_expression "(puVar28 != puVar33)" (( "(") (binary_expression "puVar28 != puVar33" (identifier "puVar28") (!= "!=") (identifier "puVar33")) () ")")) (compound_statement "{\n        if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }\nLAB_0005ea24:\n        uVar8 = 0;\n      }" ({ "{") (if_statement "if (1 < iVar12) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }" (if "if") (parenthesized_expression "(1 < iVar12)" (( "(") (binary_expression "1 < iVar12" (number_literal "1") (< "<") (identifier "iVar12")) () ")")) (compound_statement "{\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);\n        }" ({ "{") (expression_statement "puVar25 = puVar33 + 1;" (assignment_expression "puVar25 = puVar33 + 1" (identifier "puVar25") (= "=") (binary_expression "puVar33 + 1" (identifier "puVar33") (+ "+") (number_literal "1"))) (; ";")) (do_statement "do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar25 != puVar33 + iVar12);" (do "do") (compound_statement "{\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          }" ({ "{") (expression_statement "puVar28 = puVar28 + 1;" (assignment_expression "puVar28 = puVar28 + 1" (identifier "puVar28") (= "=") (binary_expression "puVar28 + 1" (identifier "puVar28") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar8 = *puVar25;" (assignment_expression "uVar8 = *puVar25" (identifier "uVar8") (= "=") (pointer_expression "*puVar25" (* "*") (identifier "puVar25"))) (; ";")) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" (identifier "puVar25") (= "=") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar28 = uVar8;" (assignment_expression "*puVar28 = uVar8" (pointer_expression "*puVar28" (* "*") (identifier "puVar28")) (= "=") (identifier "uVar8")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar25 != puVar33 + iVar12)" (( "(") (binary_expression "puVar25 != puVar33 + iVar12" (identifier "puVar25") (!= "!=") (binary_expression "puVar33 + iVar12" (identifier "puVar33") (+ "+") (identifier "iVar12"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0005ea24:\n        uVar8 = 0;" (statement_identifier "LAB_0005ea24") (: ":") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";"))) (} "}"))) (} "}")))) (} "}"))) (labeled_statement "LAB_0005e408:\n  iVar34 = *piVar21;" (statement_identifier "LAB_0005e408") (: ":") (expression_statement "iVar34 = *piVar21;" (assignment_expression "iVar34 = *piVar21" (identifier "iVar34") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";"))) (expression_statement "iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1);" (assignment_expression "iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1)" (parenthesized_expression "(**(code **)(iVar19 + -0x7ad4))" (( "(") (pointer_expression "**(code **)(iVar19 + -0x7ad4)" (* "*") (pointer_expression "*(code **)(iVar19 + -0x7ad4)" (* "*") (cast_expression "(code **)(iVar19 + -0x7ad4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar19 + -0x7ad4)" (( "(") (binary_expression "iVar19 + -0x7ad4" (identifier "iVar19") (+ "+") (number_literal "-0x7ad4")) () ")"))))) () ")")) (argument_list "(iVar4,iVar4,uVar39,1)" (( "(") (identifier "iVar4") (, ",") (identifier "iVar4") (, ",") (identifier "uVar39") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39);" (assignment_expression "iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39)" (identifier "iVar11") (= "=") (call_expression "(**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))\n                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39)" (parenthesized_expression "(**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))" (( "(") (pointer_expression "**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c)" (* "*") (pointer_expression "*(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c)" (* "*") (cast_expression "(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c)" (( "(") (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "-0x7b2c")) () ")"))))) () ")")) (argument_list "(iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39)" (( "(") (identifier "iVar4") (, ",") (identifier "iVar4") (, ",") (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (, ",") (identifier "uVar39") () ")")))) (; ";")) (expression_statement "iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);" (assignment_expression "iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x34" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x34")) () ")"))))) (; ";")) (expression_statement "iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2;" (assignment_expression "*(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2" (pointer_expression "*(uint *)(iVar4 + iVar35)" (* "*") (cast_expression "(uint *)(iVar4 + iVar35)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + iVar35)" (( "(") (binary_expression "iVar4 + iVar35" (identifier "iVar4") (+ "+") (identifier "iVar35")) () ")")))) (= "=") (binary_expression "(iVar19 - iVar11) + (uVar8 + iVar34) * 2" (parenthesized_expression "(iVar19 - iVar11)" (( "(") (binary_expression "iVar19 - iVar11" (identifier "iVar19") (- "-") (identifier "iVar11")) () ")")) (+ "+") (binary_expression "(uVar8 + iVar34) * 2" (parenthesized_expression "(uVar8 + iVar34)" (( "(") (binary_expression "uVar8 + iVar34" (identifier "uVar8") (+ "+") (identifier "iVar34")) () ")")) (* "*") (number_literal "2")))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (binary_expression "iVar12 + iVar13" (identifier "iVar12") (+ "+") (identifier "iVar13"))) (; ";")) (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (iVar19 == 0) {\n    uVar8 = 0;\nLAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\nLAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar19 = iVar9 + iVar35;\n    *(undefined4 *)(param_1 + iVar35) = uVar18;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);\n    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;\n  }\n  else {\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar8 = 0;\nLAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\nLAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    iVar19 = iVar9 + iVar35;\n    *(undefined4 *)(param_1 + iVar35) = uVar18;\n    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);\n    uVar8 = uVar39;\n    do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;\n    if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }\n    (**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);\n    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;\n  }" ({ "{") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0005e480:\n    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (statement_identifier "LAB_0005e480") (: ":") (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (labeled_statement "LAB_0005e484:\n    if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }" (statement_identifier "LAB_0005e484") (: ":") (if_statement "if ((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }" (if "if") (parenthesized_expression "((iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39))" (( "(") (binary_expression "(iVar9 != iVar19) &&\n       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)" (parenthesized_expression "(iVar9 != iVar19)" (( "(") (binary_expression "iVar9 != iVar19" (identifier "iVar9") (!= "!=") (identifier "iVar19")) () ")")) (&& "&&") (parenthesized_expression "(iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)" (( "(") (comma_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")"))))) (, ",") (binary_expression "(int)uVar8 < (int)uVar39" (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8")) (< "<") (cast_expression "(int)uVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar39")))) () ")"))) () ")")) (compound_statement "{\n      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);\n      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);\n      do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);\n    }" ({ "{") (expression_statement "puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);" (assignment_expression "puVar23 = (undefined4 *)(iVar19 + uVar8 * 4)" (identifier "puVar23") (= "=") (cast_expression "(undefined4 *)(iVar19 + uVar8 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + uVar8 * 4)" (( "(") (binary_expression "iVar19 + uVar8 * 4" (identifier "iVar19") (+ "+") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);" (assignment_expression "puVar45 = (undefined4 *)(iVar9 + uVar8 * 4)" (identifier "puVar45") (= "=") (cast_expression "(undefined4 *)(iVar9 + uVar8 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + uVar8 * 4)" (( "(") (binary_expression "iVar9 + uVar8 * 4" (identifier "iVar9") (+ "+") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) () ")")))) (; ";")) (do_statement "do {\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);" (do "do") (compound_statement "{\n        uVar18 = *puVar23;\n        puVar23 = puVar23 + 1;\n        *puVar45 = uVar18;\n        puVar45 = puVar45 + 1;\n      }" ({ "{") (expression_statement "uVar18 = *puVar23;" (assignment_expression "uVar18 = *puVar23" (identifier "uVar18") (= "=") (pointer_expression "*puVar23" (* "*") (identifier "puVar23"))) (; ";")) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" (identifier "puVar23") (= "=") (binary_expression "puVar23 + 1" (identifier "puVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar45 = uVar18;" (assignment_expression "*puVar45 = uVar18" (pointer_expression "*puVar45" (* "*") (identifier "puVar45")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "puVar45 = puVar45 + 1;" (assignment_expression "puVar45 = puVar45 + 1" (identifier "puVar45") (= "=") (binary_expression "puVar45 + 1" (identifier "puVar45") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined4 *)(iVar19 + iVar35) != puVar23)" (( "(") (binary_expression "(undefined4 *)(iVar19 + iVar35) != puVar23" (cast_expression "(undefined4 *)(iVar19 + iVar35)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + iVar35)" (( "(") (binary_expression "iVar19 + iVar35" (identifier "iVar19") (+ "+") (identifier "iVar35")) () ")"))) (!= "!=") (identifier "puVar23")) () ")")) (; ";")) (} "}")))) (expression_statement "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;" (assignment_expression "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35" (identifier "iVar13") (= "=") (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (identifier "iVar35"))) (; ";")) (expression_statement "uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);" (assignment_expression "uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39)" (identifier "uVar18") (= "=") (call_expression "(**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39)" (parenthesized_expression "(**(code **)(iVar14 + -0x7d0c))" (( "(") (pointer_expression "**(code **)(iVar14 + -0x7d0c)" (* "*") (pointer_expression "*(code **)(iVar14 + -0x7d0c)" (* "*") (cast_expression "(code **)(iVar14 + -0x7d0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + -0x7d0c)" (( "(") (binary_expression "iVar14 + -0x7d0c" (identifier "iVar14") (+ "+") (number_literal "-0x7d0c")) () ")"))))) () ")")) (argument_list "(param_1,iVar9,iVar13,uVar39)" (( "(") (identifier "param_1") (, ",") (identifier "iVar9") (, ",") (identifier "iVar13") (, ",") (identifier "uVar39") () ")")))) (; ";")) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "iVar19 = iVar9 + iVar35;" (assignment_expression "iVar19 = iVar9 + iVar35" (identifier "iVar19") (= "=") (binary_expression "iVar9 + iVar35" (identifier "iVar9") (+ "+") (identifier "iVar35"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + iVar35) = uVar18;" (assignment_expression "*(undefined4 *)(param_1 + iVar35) = uVar18" (pointer_expression "*(undefined4 *)(param_1 + iVar35)" (* "*") (cast_expression "(undefined4 *)(param_1 + iVar35)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + iVar35)" (( "(") (binary_expression "param_1 + iVar35" (identifier "param_1") (+ "+") (identifier "iVar35")) () ")")))) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35);" (assignment_expression "puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35)" (identifier "puVar28") (= "=") (cast_expression "(uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35)" (( "(") (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4 + iVar35" (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +\n                      (uVar39 - 1) * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (binary_expression "(uVar39 - 1) * 4" (parenthesized_expression "(uVar39 - 1)" (( "(") (binary_expression "uVar39 - 1" (identifier "uVar39") (- "-") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) (+ "+") (identifier "iVar35")) () ")")))) (; ";")) (expression_statement "uVar8 = uVar39;" (assignment_expression "uVar8 = uVar39" (identifier "uVar8") (= "=") (identifier "uVar39")) (; ";")) (do_statement "do {\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    } while (uVar24 == uVar30);" (do "do") (compound_statement "{\n      uVar8 = uVar8 - 1;\n      if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }\n      uVar24 = *(uint *)(iVar19 + -4);\n      uVar30 = *puVar28;\n      iVar19 = iVar19 + -4;\n      puVar28 = puVar28 + -1;\n    }" ({ "{") (expression_statement "uVar8 = uVar8 - 1;" (assignment_expression "uVar8 = uVar8 - 1" (identifier "uVar8") (= "=") (binary_expression "uVar8 - 1" (identifier "uVar8") (- "-") (number_literal "1"))) (; ";")) (if_statement "if (uVar8 == 0xffffffff) {\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }" (if "if") (parenthesized_expression "(uVar8 == 0xffffffff)" (( "(") (binary_expression "uVar8 == 0xffffffff" (identifier "uVar8") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;\n        goto LAB_0005e534;\n      }" ({ "{") (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (* "*") (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (binary_expression "iVar19 + iVar35" (identifier "iVar19") (+ "+") (identifier "iVar35"))) (; ";")) (goto_statement "goto LAB_0005e534;" (goto "goto") (statement_identifier "LAB_0005e534") (; ";")) (} "}"))) (expression_statement "uVar24 = *(uint *)(iVar19 + -4);" (assignment_expression "uVar24 = *(uint *)(iVar19 + -4)" (identifier "uVar24") (= "=") (pointer_expression "*(uint *)(iVar19 + -4)" (* "*") (cast_expression "(uint *)(iVar19 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + -4)" (( "(") (binary_expression "iVar19 + -4" (identifier "iVar19") (+ "+") (number_literal "-4")) () ")"))))) (; ";")) (expression_statement "uVar30 = *puVar28;" (assignment_expression "uVar30 = *puVar28" (identifier "uVar30") (= "=") (pointer_expression "*puVar28" (* "*") (identifier "puVar28"))) (; ";")) (expression_statement "iVar19 = iVar19 + -4;" (assignment_expression "iVar19 = iVar19 + -4" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -4" (identifier "iVar19") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "puVar28 = puVar28 + -1;" (assignment_expression "puVar28 = puVar28 + -1" (identifier "puVar28") (= "=") (binary_expression "puVar28 + -1" (identifier "puVar28") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar24 == uVar30)" (( "(") (binary_expression "uVar24 == uVar30" (identifier "uVar24") (== "==") (identifier "uVar30")) () ")")) (; ";")) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x30")) () ")")))) (+ "+") (identifier "iVar35"))) (; ";")) (if_statement "if (uVar30 < uVar24) {\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }" (if "if") (parenthesized_expression "(uVar30 < uVar24)" (( "(") (binary_expression "uVar30 < uVar24" (identifier "uVar30") (< "<") (identifier "uVar24")) () ")")) (compound_statement "{\n      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;\n      goto LAB_0005e534;\n    }" ({ "{") (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (* "*") (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0005e534;" (goto "goto") (statement_identifier "LAB_0005e534") (; ";")) (} "}"))) (expression_statement "(**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);" (call_expression "(**(code **)(iVar12 + -0x7b2c))\n              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39)" (parenthesized_expression "(**(code **)(iVar12 + -0x7b2c))" (( "(") (pointer_expression "**(code **)(iVar12 + -0x7b2c)" (* "*") (pointer_expression "*(code **)(iVar12 + -0x7b2c)" (* "*") (cast_expression "(code **)(iVar12 + -0x7b2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar12 + -0x7b2c)" (( "(") (binary_expression "iVar12 + -0x7b2c" (identifier "iVar12") (+ "+") (number_literal "-0x7b2c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39)" (( "(") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x30")) () ")")))) (, ",") (identifier "iVar13") (, ",") (identifier "iVar9") (, ",") (identifier "uVar39") () ")"))) (; ";")) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =\n         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (* "*") (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (* "*") (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x24")) () ")"))))) (; ";")) (expression_statement "**(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;" (assignment_expression "**(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0" (pointer_expression "**(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (* "*") (pointer_expression "*(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (* "*") (cast_expression "(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x28")) () ")"))))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }" (else "else") (compound_statement "{\n    iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);\n    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }\n    if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }\nLAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;\n    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *(int *)(param_1 + iVar35) = iVar19 + 1;\n    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;\n    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;\nLAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;\n  }" ({ "{") (expression_statement "iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);" (assignment_expression "iVar11 = (**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19)" (identifier "iVar11") (= "=") (call_expression "(**(code **)(iVar14 + -0x7d0c))\n                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19)" (parenthesized_expression "(**(code **)(iVar14 + -0x7d0c))" (( "(") (pointer_expression "**(code **)(iVar14 + -0x7d0c)" (* "*") (pointer_expression "*(code **)(iVar14 + -0x7d0c)" (* "*") (cast_expression "(code **)(iVar14 + -0x7d0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + -0x7d0c)" (( "(") (binary_expression "iVar14 + -0x7d0c" (identifier "iVar14") (+ "+") (number_literal "-0x7d0c")) () ")"))))) () ")")) (argument_list "(iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),\n                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19)" (( "(") (identifier "iVar9") (, ",") (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x3c")) () ")")))) (, ",") (identifier "iVar19") () ")")))) (; ";")) (expression_statement "iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (iVar11 == 0) {\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n      goto LAB_0005e480;\n    }" ({ "{") (expression_statement "uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (goto_statement "goto LAB_0005e480;" (goto "goto") (statement_identifier "LAB_0005e480") (; ";")) (} "}"))) (if_statement "if (iVar19 < (int)uVar39) {\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }" (if "if") (parenthesized_expression "(iVar19 < (int)uVar39)" (( "(") (binary_expression "iVar19 < (int)uVar39" (identifier "iVar19") (< "<") (cast_expression "(int)uVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar39"))) () ")")) (compound_statement "{\n      uVar8 = iVar19 + 1;\n      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);\n      piVar21 = (int *)(iVar9 + iVar19 * 4);\n      iVar11 = *piVar17;\n      *piVar21 = iVar11 + 1;\n      if (iVar11 + 1 != 0) goto LAB_0005e480;\n      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;\n      iVar11 = uVar8 * 4;\n      uVar8 = iVar19 + 2;\n      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;\n      *(int *)(iVar9 + iVar11) = iVar19;\n      if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }\n      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n      goto LAB_0005e484;\n    }" ({ "{") (expression_statement "uVar8 = iVar19 + 1;" (assignment_expression "uVar8 = iVar19 + 1" (identifier "uVar8") (= "=") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);" (assignment_expression "piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4)" (identifier "piVar17") (= "=") (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4)" (( "(") (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (binary_expression "iVar19 * 4" (identifier "iVar19") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "piVar21 = (int *)(iVar9 + iVar19 * 4);" (assignment_expression "piVar21 = (int *)(iVar9 + iVar19 * 4)" (identifier "piVar21") (= "=") (cast_expression "(int *)(iVar9 + iVar19 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + iVar19 * 4)" (( "(") (binary_expression "iVar9 + iVar19 * 4" (identifier "iVar9") (+ "+") (binary_expression "iVar19 * 4" (identifier "iVar19") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iVar11 = *piVar17;" (assignment_expression "iVar11 = *piVar17" (identifier "iVar11") (= "=") (pointer_expression "*piVar17" (* "*") (identifier "piVar17"))) (; ";")) (expression_statement "*piVar21 = iVar11 + 1;" (assignment_expression "*piVar21 = iVar11 + 1" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar11 + 1 != 0) goto LAB_0005e480;" (if "if") (parenthesized_expression "(iVar11 + 1 != 0)" (( "(") (binary_expression "iVar11 + 1 != 0" (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005e480;" (goto "goto") (statement_identifier "LAB_0005e480") (; ";"))) (if_statement "if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;" (if "if") (parenthesized_expression "((int)uVar39 <= (int)uVar8)" (( "(") (binary_expression "(int)uVar39 <= (int)uVar8" (cast_expression "(int)uVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar39")) (<= "<=") (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8"))) () ")")) (goto_statement "goto LAB_0005ec00;" (goto "goto") (statement_identifier "LAB_0005ec00") (; ";"))) (expression_statement "iVar11 = uVar8 * 4;" (assignment_expression "iVar11 = uVar8 * 4" (identifier "iVar11") (= "=") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) (; ";")) (expression_statement "uVar8 = iVar19 + 2;" (assignment_expression "uVar8 = iVar19 + 2" (identifier "uVar8") (= "=") (binary_expression "iVar19 + 2" (identifier "iVar19") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;" (assignment_expression "iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1" (identifier "iVar19") (= "=") (binary_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1" (pointer_expression "*(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11)" (* "*") (cast_expression "(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11)" (( "(") (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (identifier "iVar11")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(iVar9 + iVar11) = iVar19;" (assignment_expression "*(int *)(iVar9 + iVar11) = iVar19" (pointer_expression "*(int *)(iVar9 + iVar11)" (* "*") (cast_expression "(int *)(iVar9 + iVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + iVar11)" (( "(") (binary_expression "iVar9 + iVar11" (identifier "iVar9") (+ "+") (identifier "iVar11")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (iVar19 == 0) {\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);\n        goto LAB_0005e480;\n      }" ({ "{") (do_statement "do {\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        } while (iVar19 + 1 == 0);" (do "do") (compound_statement "{\n          if (uVar39 == uVar8) goto LAB_0005ec00;\n          iVar19 = piVar17[2];\n          uVar8 = uVar8 + 1;\n          piVar17 = piVar17 + 1;\n          piVar21[2] = iVar19 + 1;\n          piVar21 = piVar21 + 1;\n        }" ({ "{") (if_statement "if (uVar39 == uVar8) goto LAB_0005ec00;" (if "if") (parenthesized_expression "(uVar39 == uVar8)" (( "(") (binary_expression "uVar39 == uVar8" (identifier "uVar39") (== "==") (identifier "uVar8")) () ")")) (goto_statement "goto LAB_0005ec00;" (goto "goto") (statement_identifier "LAB_0005ec00") (; ";"))) (expression_statement "iVar19 = piVar17[2];" (assignment_expression "iVar19 = piVar17[2]" (identifier "iVar19") (= "=") (subscript_expression "piVar17[2]" (identifier "piVar17") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" (identifier "uVar8") (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar17 = piVar17 + 1;" (assignment_expression "piVar17 = piVar17 + 1" (identifier "piVar17") (= "=") (binary_expression "piVar17 + 1" (identifier "piVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar21[2] = iVar19 + 1;" (assignment_expression "piVar21[2] = iVar19 + 1" (subscript_expression "piVar21[2]" (identifier "piVar21") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar21 = piVar21 + 1;" (assignment_expression "piVar21 = piVar21 + 1" (identifier "piVar21") (= "=") (binary_expression "piVar21 + 1" (identifier "piVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar19 + 1 == 0)" (( "(") (binary_expression "iVar19 + 1 == 0" (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1")) (== "==") (number_literal "0")) () ")")) (; ";")) (goto_statement "goto LAB_0005e480;" (goto "goto") (statement_identifier "LAB_0005e480") (; ";")) (} "}"))) (expression_statement "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (goto_statement "goto LAB_0005e484;" (goto "goto") (statement_identifier "LAB_0005e484") (; ";")) (} "}"))) (labeled_statement "LAB_0005ec00:\n    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;" (statement_identifier "LAB_0005ec00") (: ":") (expression_statement "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;" (assignment_expression "iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35" (identifier "iVar13") (= "=") (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (identifier "iVar35"))) (; ";"))) (expression_statement "iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);" (assignment_expression "iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39)" (parenthesized_expression "(**(code **)(iVar14 + -0x7d0c))" (( "(") (pointer_expression "**(code **)(iVar14 + -0x7d0c)" (* "*") (pointer_expression "*(code **)(iVar14 + -0x7d0c)" (* "*") (cast_expression "(code **)(iVar14 + -0x7d0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + -0x7d0c)" (( "(") (binary_expression "iVar14 + -0x7d0c" (identifier "iVar14") (+ "+") (number_literal "-0x7d0c")) () ")"))))) () ")")) (argument_list "(param_1,iVar9,iVar13,uVar39)" (( "(") (identifier "param_1") (, ",") (identifier "iVar9") (, ",") (identifier "iVar13") (, ",") (identifier "uVar39") () ")")))) (; ";")) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(int *)(param_1 + iVar35) = iVar19 + 1;" (assignment_expression "*(int *)(param_1 + iVar35) = iVar19 + 1" (pointer_expression "*(int *)(param_1 + iVar35)" (* "*") (cast_expression "(int *)(param_1 + iVar35)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + iVar35)" (( "(") (binary_expression "param_1 + iVar35" (identifier "param_1") (+ "+") (identifier "iVar35")) () ")")))) (= "=") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;" (assignment_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1" (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (* "*") (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;" (assignment_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (binary_expression "iVar11 + iVar35" (identifier "iVar11") (+ "+") (identifier "iVar35"))) (; ";")) (labeled_statement "LAB_0005e534:\n    iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);" (statement_identifier "LAB_0005e534") (: ":") (expression_statement "iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39);" (assignment_expression "iVar19 = (**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(iVar12 + -0x7b2c))\n                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39)" (parenthesized_expression "(**(code **)(iVar12 + -0x7b2c))" (( "(") (pointer_expression "**(code **)(iVar12 + -0x7b2c)" (* "*") (pointer_expression "*(code **)(iVar12 + -0x7b2c)" (* "*") (cast_expression "(code **)(iVar12 + -0x7b2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar12 + -0x7b2c)" (( "(") (binary_expression "iVar12 + -0x7b2c" (identifier "iVar12") (+ "+") (number_literal "-0x7b2c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,\n                        uVar39)" (( "(") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x30")) () ")")))) (, ",") (identifier "iVar9") (, ",") (identifier "iVar13") (, ",") (identifier "uVar39") () ")")))) (; ";"))) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "**(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;" (assignment_expression "**(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =\n         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19" (pointer_expression "**(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (* "*") (pointer_expression "*(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (* "*") (cast_expression "(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x28)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x28" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x28")) () ")"))))) (= "=") (binary_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19" (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x24)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x24" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x24")) () ")")))) (- "-") (identifier "iVar19"))) (; ";")) (} "}")))) (expression_statement "uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (identifier "uVar24") (= "=") (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar8 = (**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24);" (assignment_expression "uVar8 = (**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24)" (identifier "uVar8") (= "=") (call_expression "(**(code **)(iVar11 + -0x7d0c))\n                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24)" (parenthesized_expression "(**(code **)(iVar11 + -0x7d0c))" (( "(") (pointer_expression "**(code **)(iVar11 + -0x7d0c)" (* "*") (pointer_expression "*(code **)(iVar11 + -0x7d0c)" (* "*") (cast_expression "(code **)(iVar11 + -0x7d0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + -0x7d0c)" (( "(") (binary_expression "iVar11 + -0x7d0c" (identifier "iVar11") (+ "+") (number_literal "-0x7d0c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,\n                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24)" (( "(") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")")))) (, ",") (identifier "param_1") (, ",") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x3c")) () ")")))) (, ",") (identifier "uVar24") () ")")))) (; ";")) (expression_statement "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (uVar39 != uVar24) {\n    iVar11 = uVar39 - uVar24;\n    puVar33 = (uint *)(param_1 + uVar24 * 4);\n    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(uVar39 != uVar24)" (( "(") (binary_expression "uVar39 != uVar24" (identifier "uVar39") (!= "!=") (identifier "uVar24")) () ")")) (compound_statement "{\n    iVar11 = uVar39 - uVar24;\n    puVar33 = (uint *)(param_1 + uVar24 * 4);\n    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);\n    uVar24 = *puVar33;\n    *puVar28 = uVar8 + uVar24;\n    if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar11 = uVar39 - uVar24;" (assignment_expression "iVar11 = uVar39 - uVar24" (identifier "iVar11") (= "=") (binary_expression "uVar39 - uVar24" (identifier "uVar39") (- "-") (identifier "uVar24"))) (; ";")) (expression_statement "puVar33 = (uint *)(param_1 + uVar24 * 4);" (assignment_expression "puVar33 = (uint *)(param_1 + uVar24 * 4)" (identifier "puVar33") (= "=") (cast_expression "(uint *)(param_1 + uVar24 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + uVar24 * 4)" (( "(") (binary_expression "param_1 + uVar24 * 4" (identifier "param_1") (+ "+") (binary_expression "uVar24 * 4" (identifier "uVar24") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);" (assignment_expression "puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4)" (identifier "puVar28") (= "=") (cast_expression "(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4)" (( "(") (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (binary_expression "uVar24 * 4" (identifier "uVar24") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "uVar24 = *puVar33;" (assignment_expression "uVar24 = *puVar33" (identifier "uVar24") (= "=") (pointer_expression "*puVar33" (* "*") (identifier "puVar33"))) (; ";")) (expression_statement "*puVar28 = uVar8 + uVar24;" (assignment_expression "*puVar28 = uVar8 + uVar24" (pointer_expression "*puVar28" (* "*") (identifier "puVar28")) (= "=") (binary_expression "uVar8 + uVar24" (identifier "uVar8") (+ "+") (identifier "uVar24"))) (; ";")) (if_statement "if (uVar8 + uVar24 < uVar8) {\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }\n    else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }" (if "if") (parenthesized_expression "(uVar8 + uVar24 < uVar8)" (( "(") (binary_expression "uVar8 + uVar24 < uVar8" (binary_expression "uVar8 + uVar24" (identifier "uVar8") (+ "+") (identifier "uVar24")) (< "<") (identifier "uVar8")) () ")")) (compound_statement "{\n      uVar8 = 1;\n      if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }\n    }" ({ "{") (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";")) (if_statement "if (1 < iVar11) {\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }" (if "if") (parenthesized_expression "(1 < iVar11)" (( "(") (binary_expression "1 < iVar11" (number_literal "1") (< "<") (identifier "iVar11")) () ")")) (compound_statement "{\n        uVar8 = puVar33[1];\n        puVar28[1] = uVar8 + 1;\n        if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }\n        uVar8 = 0;\n        if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }\n      }" ({ "{") (expression_statement "uVar8 = puVar33[1];" (assignment_expression "uVar8 = puVar33[1]" (identifier "uVar8") (= "=") (subscript_expression "puVar33[1]" (identifier "puVar33") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar28[1] = uVar8 + 1;" (assignment_expression "puVar28[1] = uVar8 + 1" (subscript_expression "puVar28[1]" (identifier "puVar28") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar8 + 1 == 0) {\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }\n        else {\n          iVar12 = 2;\n        }" (if "if") (parenthesized_expression "(uVar8 + 1 == 0)" (( "(") (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar8 = 1;\n          if (iVar11 == 2) goto LAB_0005e618;\n          uVar8 = puVar33[2];\n          puVar28[2] = uVar8 + 1;\n          if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }\n        }" ({ "{") (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";")) (if_statement "if (iVar11 == 2) goto LAB_0005e618;" (if "if") (parenthesized_expression "(iVar11 == 2)" (( "(") (binary_expression "iVar11 == 2" (identifier "iVar11") (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_0005e618;" (goto "goto") (statement_identifier "LAB_0005e618") (; ";"))) (expression_statement "uVar8 = puVar33[2];" (assignment_expression "uVar8 = puVar33[2]" (identifier "uVar8") (= "=") (subscript_expression "puVar33[2]" (identifier "puVar33") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "puVar28[2] = uVar8 + 1;" (assignment_expression "puVar28[2] = uVar8 + 1" (subscript_expression "puVar28[2]" (identifier "puVar28") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar8 + 1 == 0) {\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }\n          else {\n            iVar12 = 3;\n          }" (if "if") (parenthesized_expression "(uVar8 + 1 == 0)" (( "(") (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puVar31 = puVar33 + 3;\n            iVar12 = 3;\n            puVar25 = puVar28 + 3;\n            do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);\n          }" ({ "{") (expression_statement "puVar31 = puVar33 + 3;" (assignment_expression "puVar31 = puVar33 + 3" (identifier "puVar31") (= "=") (binary_expression "puVar33 + 3" (identifier "puVar33") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "iVar12 = 3;" (assignment_expression "iVar12 = 3" (identifier "iVar12") (= "=") (number_literal "3")) (; ";")) (expression_statement "puVar25 = puVar28 + 3;" (assignment_expression "puVar25 = puVar28 + 3" (identifier "puVar25") (= "=") (binary_expression "puVar28 + 3" (identifier "puVar28") (+ "+") (number_literal "3"))) (; ";")) (do_statement "do {\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            } while (uVar8 + 1 == 0);" (do "do") (compound_statement "{\n              if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }\n              uVar8 = *puVar31;\n              iVar12 = iVar12 + 1;\n              puVar31 = puVar31 + 1;\n              *puVar25 = uVar8 + 1;\n              puVar25 = puVar25 + 1;\n            }" ({ "{") (if_statement "if (iVar11 == iVar12) {\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }" (if "if") (parenthesized_expression "(iVar11 == iVar12)" (( "(") (binary_expression "iVar11 == iVar12" (identifier "iVar11") (== "==") (identifier "iVar12")) () ")")) (compound_statement "{\n                uVar8 = 1;\n                goto LAB_0005e618;\n              }" ({ "{") (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0005e618;" (goto "goto") (statement_identifier "LAB_0005e618") (; ";")) (} "}"))) (expression_statement "uVar8 = *puVar31;" (assignment_expression "uVar8 = *puVar31" (identifier "uVar8") (= "=") (pointer_expression "*puVar31" (* "*") (identifier "puVar31"))) (; ";")) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar31 = puVar31 + 1;" (assignment_expression "puVar31 = puVar31 + 1" (identifier "puVar31") (= "=") (binary_expression "puVar31 + 1" (identifier "puVar31") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar25 = uVar8 + 1;" (assignment_expression "*puVar25 = uVar8 + 1" (pointer_expression "*puVar25" (* "*") (identifier "puVar25")) (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" (identifier "puVar25") (= "=") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar8 + 1 == 0)" (( "(") (binary_expression "uVar8 + 1 == 0" (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1")) (== "==") (number_literal "0")) () ")")) (; ";")) (} "}")) (else_clause "else {\n            iVar12 = 3;\n          }" (else "else") (compound_statement "{\n            iVar12 = 3;\n          }" ({ "{") (expression_statement "iVar12 = 3;" (assignment_expression "iVar12 = 3" (identifier "iVar12") (= "=") (number_literal "3")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          iVar12 = 2;\n        }" (else "else") (compound_statement "{\n          iVar12 = 2;\n        }" ({ "{") (expression_statement "iVar12 = 2;" (assignment_expression "iVar12 = 2" (identifier "iVar12") (= "=") (number_literal "2")) (; ";")) (} "}")))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar28 != puVar33) {\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }" (if "if") (parenthesized_expression "(puVar28 != puVar33)" (( "(") (binary_expression "puVar28 != puVar33" (identifier "puVar28") (!= "!=") (identifier "puVar33")) () ")")) (compound_statement "{\n          if (iVar11 <= iVar12) goto LAB_0005e9e8;\n          puVar25 = puVar33 + iVar12;\n          puVar28 = puVar28 + iVar12;\n          do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);\n          uVar8 = 0;\n        }" ({ "{") (if_statement "if (iVar11 <= iVar12) goto LAB_0005e9e8;" (if "if") (parenthesized_expression "(iVar11 <= iVar12)" (( "(") (binary_expression "iVar11 <= iVar12" (identifier "iVar11") (<= "<=") (identifier "iVar12")) () ")")) (goto_statement "goto LAB_0005e9e8;" (goto "goto") (statement_identifier "LAB_0005e9e8") (; ";"))) (expression_statement "puVar25 = puVar33 + iVar12;" (assignment_expression "puVar25 = puVar33 + iVar12" (identifier "puVar25") (= "=") (binary_expression "puVar33 + iVar12" (identifier "puVar33") (+ "+") (identifier "iVar12"))) (; ";")) (expression_statement "puVar28 = puVar28 + iVar12;" (assignment_expression "puVar28 = puVar28 + iVar12" (identifier "puVar28") (= "=") (binary_expression "puVar28 + iVar12" (identifier "puVar28") (+ "+") (identifier "iVar12"))) (; ";")) (do_statement "do {\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          } while (puVar33 + iVar11 != puVar25);" (do "do") (compound_statement "{\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n            puVar28 = puVar28 + 1;\n          }" ({ "{") (expression_statement "uVar8 = *puVar25;" (assignment_expression "uVar8 = *puVar25" (identifier "uVar8") (= "=") (pointer_expression "*puVar25" (* "*") (identifier "puVar25"))) (; ";")) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" (identifier "puVar25") (= "=") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar28 = uVar8;" (assignment_expression "*puVar28 = uVar8" (pointer_expression "*puVar28" (* "*") (identifier "puVar28")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar28 = puVar28 + 1;" (assignment_expression "puVar28 = puVar28 + 1" (identifier "puVar28") (= "=") (binary_expression "puVar28 + 1" (identifier "puVar28") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar33 + iVar11 != puVar25)" (( "(") (binary_expression "puVar33 + iVar11 != puVar25" (binary_expression "puVar33 + iVar11" (identifier "puVar33") (+ "+") (identifier "iVar11")) (!= "!=") (identifier "puVar25")) () ")")) (; ";")) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }" (else "else") (compound_statement "{\n      uVar8 = 0;\n      if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }\n    }" ({ "{") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar28 != puVar33) {\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }" (if "if") (parenthesized_expression "(puVar28 != puVar33)" (( "(") (binary_expression "puVar28 != puVar33" (identifier "puVar28") (!= "!=") (identifier "puVar33")) () ")")) (compound_statement "{\n        if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }\nLAB_0005e9e8:\n        uVar8 = 0;\n      }" ({ "{") (if_statement "if (1 < iVar11) {\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }" (if "if") (parenthesized_expression "(1 < iVar11)" (( "(") (binary_expression "1 < iVar11" (number_literal "1") (< "<") (identifier "iVar11")) () ")")) (compound_statement "{\n          puVar25 = puVar33 + 1;\n          do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);\n        }" ({ "{") (expression_statement "puVar25 = puVar33 + 1;" (assignment_expression "puVar25 = puVar33 + 1" (identifier "puVar25") (= "=") (binary_expression "puVar33 + 1" (identifier "puVar33") (+ "+") (number_literal "1"))) (; ";")) (do_statement "do {\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          } while (puVar33 + iVar11 != puVar25);" (do "do") (compound_statement "{\n            puVar28 = puVar28 + 1;\n            uVar8 = *puVar25;\n            puVar25 = puVar25 + 1;\n            *puVar28 = uVar8;\n          }" ({ "{") (expression_statement "puVar28 = puVar28 + 1;" (assignment_expression "puVar28 = puVar28 + 1" (identifier "puVar28") (= "=") (binary_expression "puVar28 + 1" (identifier "puVar28") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar8 = *puVar25;" (assignment_expression "uVar8 = *puVar25" (identifier "uVar8") (= "=") (pointer_expression "*puVar25" (* "*") (identifier "puVar25"))) (; ";")) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" (identifier "puVar25") (= "=") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar28 = uVar8;" (assignment_expression "*puVar28 = uVar8" (pointer_expression "*puVar28" (* "*") (identifier "puVar28")) (= "=") (identifier "uVar8")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar33 + iVar11 != puVar25)" (( "(") (binary_expression "puVar33 + iVar11 != puVar25" (binary_expression "puVar33 + iVar11" (identifier "puVar33") (+ "+") (identifier "iVar11")) (!= "!=") (identifier "puVar25")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0005e9e8:\n        uVar8 = 0;" (statement_identifier "LAB_0005e9e8") (: ":") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";"))) (} "}"))) (} "}")))) (} "}"))) (labeled_statement "LAB_0005e618:\n  iVar13 = *(int *)(param_1 + iVar35);" (statement_identifier "LAB_0005e618") (: ":") (expression_statement "iVar13 = *(int *)(param_1 + iVar35);" (assignment_expression "iVar13 = *(int *)(param_1 + iVar35)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(param_1 + iVar35)" (* "*") (cast_expression "(int *)(param_1 + iVar35)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + iVar35)" (( "(") (binary_expression "param_1 + iVar35" (identifier "param_1") (+ "+") (identifier "iVar35")) () ")"))))) (; ";"))) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (identifier "uVar51") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1);" (assignment_expression "iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1)" (parenthesized_expression "(**(code **)(iVar19 + -0x7ad4))" (( "(") (pointer_expression "**(code **)(iVar19 + -0x7ad4)" (* "*") (pointer_expression "*(code **)(iVar19 + -0x7ad4)" (* "*") (cast_expression "(code **)(iVar19 + -0x7ad4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar19 + -0x7ad4)" (( "(") (binary_expression "iVar19 + -0x7ad4" (identifier "iVar19") (+ "+") (number_literal "-0x7ad4")) () ")"))))) () ")")) (argument_list "(uVar51,uVar51,uVar39,1)" (( "(") (identifier "uVar51") (, ",") (identifier "uVar51") (, ",") (identifier "uVar39") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar51")) (; ";")) (expression_statement "iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39);" (assignment_expression "iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39)" (identifier "iVar11") (= "=") (call_expression "(**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39)" (parenthesized_expression "(**(code **)(iVar11 + -0x7b2c))" (( "(") (pointer_expression "**(code **)(iVar11 + -0x7b2c)" (* "*") (pointer_expression "*(code **)(iVar11 + -0x7b2c)" (* "*") (cast_expression "(code **)(iVar11 + -0x7b2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + -0x7b2c)" (( "(") (binary_expression "iVar11 + -0x7b2c" (identifier "iVar11") (+ "+") (number_literal "-0x7b2c")) () ")"))))) () ")")) (argument_list "(uVar51,uVar51,uVar18,uVar39)" (( "(") (identifier "uVar51") (, ",") (identifier "uVar51") (, ",") (identifier "uVar18") (, ",") (identifier "uVar39") () ")")))) (; ";")) (expression_statement "iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c);" (assignment_expression "iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x2c" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x2c")) () ")"))))) (; ";")) (expression_statement "iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar34") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);" (assignment_expression "uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (identifier "uVar24") (= "=") (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =\n       (iVar19 - iVar11) + (uVar8 + iVar13) * 2;" (assignment_expression "*(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =\n       (iVar19 - iVar11) + (uVar8 + iVar13) * 2" (pointer_expression "*(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35)" (* "*") (cast_expression "(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35)" (( "(") (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (identifier "iVar35")) () ")")))) (= "=") (binary_expression "(iVar19 - iVar11) + (uVar8 + iVar13) * 2" (parenthesized_expression "(iVar19 - iVar11)" (( "(") (binary_expression "iVar19 - iVar11" (identifier "iVar19") (- "-") (identifier "iVar11")) () ")")) (+ "+") (binary_expression "(uVar8 + iVar13) * 2" (parenthesized_expression "(uVar8 + iVar13)" (( "(") (binary_expression "uVar8 + iVar13" (identifier "uVar8") (+ "+") (identifier "iVar13")) () ")")) (* "*") (number_literal "2")))) (; ";")) (expression_statement "bVar2 = uVar24 < 0x39;" (assignment_expression "bVar2 = uVar24 < 0x39" (identifier "bVar2") (= "=") (binary_expression "uVar24 < 0x39" (identifier "uVar24") (< "<") (number_literal "0x39"))) (; ";")) (expression_statement "iVar19 = iVar9 + iVar12 + -4;" (assignment_expression "iVar19 = iVar9 + iVar12 + -4" (identifier "iVar19") (= "=") (binary_expression "iVar9 + iVar12 + -4" (binary_expression "iVar9 + iVar12" (identifier "iVar9") (+ "+") (identifier "iVar12")) (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (bVar2) {\n    pcVar49 = *(code **)(iVar34 + -0x7bd0);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\nLAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    iVar35 = iVar9 + (iVar35 + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar49 = *(code **)(iVar4 + -0x7f84);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }\n  else {\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n    pcVar49 = *(code **)(iVar34 + -0x7bd0);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\nLAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;\nLAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);\n    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (bVar2) goto LAB_0005e968;\nLAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    iVar35 = iVar9 + (iVar35 + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }\n    pcVar49 = *(code **)(iVar4 + -0x7f84);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }" ({ "{") (expression_statement "pcVar49 = *(code **)(iVar34 + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(iVar34 + -0x7bd0)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(iVar34 + -0x7bd0)" (* "*") (cast_expression "(code **)(iVar34 + -0x7bd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar34 + -0x7bd0)" (( "(") (binary_expression "iVar34 + -0x7bd0" (identifier "iVar34") (+ "+") (number_literal "-0x7bd0")) () ")"))))) (; ";")) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (identifier "uVar51") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "(*pcVar49)(iVar9,uVar18,iVar10,uVar51);" (call_expression "(*pcVar49)(iVar9,uVar18,iVar10,uVar51)" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "(iVar9,uVar18,iVar10,uVar51)" (( "(") (identifier "iVar9") (, ",") (identifier "uVar18") (, ",") (identifier "iVar10") (, ",") (identifier "uVar51") () ")"))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0)" (* "*") (cast_expression "(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0)" (( "(") (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "-0x7bd0")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "(*pcVar49)(iVar19,iVar4,iVar10,uVar18);" (call_expression "(*pcVar49)(iVar19,iVar4,iVar10,uVar18)" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "(iVar19,iVar4,iVar10,uVar18)" (( "(") (identifier "iVar19") (, ",") (identifier "iVar4") (, ",") (identifier "iVar10") (, ",") (identifier "uVar18") () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (labeled_statement "LAB_0005e6f8:\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);" (statement_identifier "LAB_0005e6f8") (: ":") (expression_statement "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);" (assignment_expression "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" (identifier "puVar45") (= "=") (cast_expression "(undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" (( "(") (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10" (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (identifier "param_1") (+ "+") (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x38")) () ")"))))) (+ "+") (number_literal "-0x10")) () ")")))) (; ";"))) (if_statement "if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;" (if "if") (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc))" (( "(") (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")")))) (<= "<=") (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (goto_statement "goto LAB_0005e714;" (goto "goto") (statement_identifier "LAB_0005e714") (; ";"))) (labeled_statement "LAB_0005e924:\n    pcVar49 = *(code **)(iVar4 + -0x7d8c);" (statement_identifier "LAB_0005e924") (: ":") (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7d8c);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7d8c)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(iVar4 + -0x7d8c)" (* "*") (cast_expression "(code **)(iVar4 + -0x7d8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + -0x7d8c)" (( "(") (binary_expression "iVar4 + -0x7d8c" (identifier "iVar4") (+ "+") (number_literal "-0x7d8c")) () ")"))))) (; ";"))) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (identifier "uVar51") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =\n         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "(*pcVar49)(puVar45,uVar18,uVar7,uVar51);" (call_expression "(*pcVar49)(puVar45,uVar18,uVar7,uVar51)" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "(puVar45,uVar18,uVar7,uVar51)" (( "(") (identifier "puVar45") (, ",") (identifier "uVar18") (, ",") (identifier "uVar7") (, ",") (identifier "uVar51") () ")"))) (; ";")) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar51 = *puVar45;" (assignment_expression "uVar51 = *puVar45" (identifier "uVar51") (= "=") (pointer_expression "*puVar45" (* "*") (identifier "puVar45"))) (; ";")) (expression_statement "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);" (assignment_expression "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" (identifier "puVar45") (= "=") (cast_expression "(undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" (( "(") (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc" (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (identifier "param_1") (+ "+") (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x38")) () ")"))))) (+ "+") (number_literal "-0xc")) () ")")))) (; ";")) (expression_statement "iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);" (assignment_expression "iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (identifier "iVar4") (= "=") (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (identifier "param_1") (+ "+") (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x34" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x34")) () ")")))))) (; ";")) (expression_statement "uVar18 = *puVar45;" (assignment_expression "uVar18 = *puVar45" (identifier "uVar18") (= "=") (pointer_expression "*puVar45" (* "*") (identifier "puVar45"))) (; ";")) (if_statement "if (bVar2) goto LAB_0005e968;" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (goto_statement "goto LAB_0005e968;" (goto "goto") (statement_identifier "LAB_0005e968") (; ";"))) (labeled_statement "LAB_0005e778:\n    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);" (statement_identifier "LAB_0005e778") (: ":") (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (identifier "iVar35") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x28")) () ")"))))) (; ";"))) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "iVar35 = iVar9 + (iVar35 + iVar10) * 4;" (assignment_expression "iVar35 = iVar9 + (iVar35 + iVar10) * 4" (identifier "iVar35") (= "=") (binary_expression "iVar9 + (iVar35 + iVar10) * 4" (identifier "iVar9") (+ "+") (binary_expression "(iVar35 + iVar10) * 4" (parenthesized_expression "(iVar35 + iVar10)" (( "(") (binary_expression "iVar35 + iVar10" (identifier "iVar35") (+ "+") (identifier "iVar10")) () ")")) (* "*") (number_literal "4")))) (; ";")) (if_statement "if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }\n    else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }" (if "if") (parenthesized_expression "(*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93)" (( "(") (binary_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x34")) () ")")))) (< "<") (number_literal "0x93")) () ")")) (compound_statement "{\n      pcVar49 = *(code **)(iVar11 + -0x7f84);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar4,uVar18,iVar10,param_1);\n      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar8 < 0x3c) goto LAB_0005e990;\n    }" ({ "{") (expression_statement "pcVar49 = *(code **)(iVar11 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar11 + -0x7f84)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(iVar11 + -0x7f84)" (* "*") (cast_expression "(code **)(iVar11 + -0x7f84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + -0x7f84)" (( "(") (binary_expression "iVar11 + -0x7f84" (identifier "iVar11") (+ "+") (number_literal "-0x7f84")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar35")) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "(*pcVar49)(iVar4,uVar18,iVar10,param_1);" (call_expression "(*pcVar49)(iVar4,uVar18,iVar10,param_1)" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "(iVar4,uVar18,iVar10,param_1)" (( "(") (identifier "iVar4") (, ",") (identifier "uVar18") (, ",") (identifier "iVar10") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);" (assignment_expression "uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (pointer_expression "*puVar45" (* "*") (identifier "puVar45")) (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (uVar8 < 0x3c) goto LAB_0005e990;" (if "if") (parenthesized_expression "(uVar8 < 0x3c)" (( "(") (binary_expression "uVar8 < 0x3c" (identifier "uVar8") (< "<") (number_literal "0x3c")) () ")")) (goto_statement "goto LAB_0005e990;" (goto "goto") (statement_identifier "LAB_0005e990") (; ";"))) (} "}")) (else_clause "else {\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }" (else "else") (compound_statement "{\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }\n    }" ({ "{") (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar35")) (; ";")) (expression_statement "__gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);" (call_expression "__gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1)" (identifier "__gmpn_toom33_mul") (argument_list "(iVar4,uVar18,iVar10,param_1)" (( "(") (identifier "iVar4") (, ",") (identifier "uVar18") (, ",") (identifier "iVar10") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (pointer_expression "*puVar45" (* "*") (identifier "puVar45")) (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (uVar39 != 0x31) {\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }" (if "if") (parenthesized_expression "(uVar39 != 0x31)" (( "(") (binary_expression "uVar39 != 0x31" (identifier "uVar39") (!= "!=") (number_literal "0x31")) () ")")) (compound_statement "{\n        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);\n        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n        goto LAB_0005e7f0;\n      }" ({ "{") (expression_statement "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (identifier "uVar32") (= "=") (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")"))))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar35")) (; ";")) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "uVar39")) (; ";")) (expression_statement "__gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);" (call_expression "__gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32)" (identifier "__gmpn_toom33_mul") (argument_list "(param_1,uVar18,uVar39,uVar32)" (( "(") (identifier "param_1") (, ",") (identifier "uVar18") (, ",") (identifier "uVar39") (, ",") (identifier "uVar32") () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (goto_statement "goto LAB_0005e7f0;" (goto "goto") (statement_identifier "LAB_0005e7f0") (; ";")) (} "}"))) (} "}")))) (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7f84)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(iVar4 + -0x7f84)" (* "*") (cast_expression "(code **)(iVar4 + -0x7f84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + -0x7f84)" (( "(") (binary_expression "iVar4 + -0x7f84" (identifier "iVar4") (+ "+") (number_literal "-0x7f84")) () ")"))))) (; ";")) (expression_statement "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (identifier "uVar32") (= "=") (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")"))))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar35")) (; ";")) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "uVar39")) (; ";")) (expression_statement "(*pcVar49)(param_1,uVar18,uVar39,uVar32);" (call_expression "(*pcVar49)(param_1,uVar18,uVar39,uVar32)" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "(param_1,uVar18,uVar39,uVar32)" (( "(") (identifier "param_1") (, ",") (identifier "uVar18") (, ",") (identifier "uVar39") (, ",") (identifier "uVar32") () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }" (else "else") (compound_statement "{\n    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }\n    iVar35 = *(int *)(iVar34 + -0x7fc0);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;\n    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);\n    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);\n    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;\nLAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }\n    uVar51 = *puVar45;\n    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);\n    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);\n    uVar18 = *puVar45;\n    if (!bVar2) goto LAB_0005e778;\nLAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);\n    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;\n    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n    (*pcVar49)(iVar4,uVar32,iVar10,param_1);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\nLAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);\n    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);\n    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);\n    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;\n    (*pcVar49)(param_1,uVar18,uVar39,uVar32);\n    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n  }" ({ "{") (expression_statement "iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;" (assignment_expression "iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" (identifier "iVar11") (= "=") (binary_expression "iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" (identifier "iVar9") (+ "+") (binary_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10)" (( "(") (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (identifier "iVar10")) () ")")) (* "*") (number_literal "4")))) (; ";")) (if_statement "if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }" (if "if") (parenthesized_expression "(*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93)" (( "(") (binary_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x34" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x34")) () ")")))) (< "<") (number_literal "0x93")) () ")")) (compound_statement "{\n      pcVar49 = *(code **)(iVar34 + -0x7f84);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);\n      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n      pcVar49 = *(code **)(iVar35 + -0x7f84);\n      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;\n      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);\n      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      goto LAB_0005e6f8;\n    }" ({ "{") (expression_statement "pcVar49 = *(code **)(iVar34 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar34 + -0x7f84)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(iVar34 + -0x7f84)" (* "*") (cast_expression "(code **)(iVar34 + -0x7f84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar34 + -0x7f84)" (( "(") (binary_expression "iVar34 + -0x7f84" (identifier "iVar34") (+ "+") (number_literal "-0x7f84")) () ")"))))) (; ";")) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (identifier "uVar51") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "(*pcVar49)(iVar9,uVar18,iVar10,uVar51);" (call_expression "(*pcVar49)(iVar9,uVar18,iVar10,uVar51)" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "(iVar9,uVar18,iVar10,uVar51)" (( "(") (identifier "iVar9") (, ",") (identifier "uVar18") (, ",") (identifier "iVar10") (, ",") (identifier "uVar51") () ")"))) (; ";")) (expression_statement "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar35") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "pcVar49 = *(code **)(iVar35 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar35 + -0x7f84)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(iVar35 + -0x7f84)" (* "*") (cast_expression "(code **)(iVar35 + -0x7f84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar35 + -0x7f84)" (( "(") (binary_expression "iVar35 + -0x7f84" (identifier "iVar35") (+ "+") (number_literal "-0x7f84")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "(*pcVar49)(iVar19,iVar4,iVar10,uVar18);" (call_expression "(*pcVar49)(iVar19,iVar4,iVar10,uVar18)" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "(iVar19,iVar4,iVar10,uVar18)" (( "(") (identifier "iVar19") (, ",") (identifier "iVar4") (, ",") (identifier "iVar10") (, ",") (identifier "uVar18") () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (goto_statement "goto LAB_0005e6f8;" (goto "goto") (statement_identifier "LAB_0005e6f8") (; ";")) (} "}"))) (expression_statement "iVar35 = *(int *)(iVar34 + -0x7fc0);" (assignment_expression "iVar35 = *(int *)(iVar34 + -0x7fc0)" (identifier "iVar35") (= "=") (pointer_expression "*(int *)(iVar34 + -0x7fc0)" (* "*") (cast_expression "(int *)(iVar34 + -0x7fc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + -0x7fc0)" (( "(") (binary_expression "iVar34 + -0x7fc0" (identifier "iVar34") (+ "+") (number_literal "-0x7fc0")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (identifier "uVar51") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x30" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "iVar35 + -0x1e90" (identifier "iVar35") (+ "+") (number_literal "-0x1e90"))) (; ";")) (expression_statement "__gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);" (call_expression "__gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51)" (identifier "__gmpn_toom33_mul") (argument_list "(iVar9,uVar18,iVar10,uVar51)" (( "(") (identifier "iVar9") (, ",") (identifier "uVar18") (, ",") (identifier "iVar10") (, ",") (identifier "uVar51") () ")"))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);" (assignment_expression "pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (* "*") (cast_expression "(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "(*pcVar49)(iVar19,iVar4,iVar10,uVar18);" (call_expression "(*pcVar49)(iVar19,iVar4,iVar10,uVar18)" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "(iVar19,iVar4,iVar10,uVar18)" (( "(") (identifier "iVar19") (, ",") (identifier "iVar4") (, ",") (identifier "iVar10") (, ",") (identifier "uVar18") () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);" (assignment_expression "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" (identifier "puVar45") (= "=") (cast_expression "(undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10)" (( "(") (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10" (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (identifier "param_1") (+ "+") (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x38")) () ")"))))) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (if_statement "if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;" (if "if") (parenthesized_expression "(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4))" (( "(") (binary_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <\n        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0xc")) () ")")))) (< "<") (pointer_expression "*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (goto_statement "goto LAB_0005e924;" (goto "goto") (statement_identifier "LAB_0005e924") (; ";"))) (labeled_statement "LAB_0005e714:\n    if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }" (statement_identifier "LAB_0005e714") (: ":") (if_statement "if ((int)uVar7 < 0x14) {\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }\n    else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }" (if "if") (parenthesized_expression "((int)uVar7 < 0x14)" (( "(") (binary_expression "(int)uVar7 < 0x14" (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7")) (< "<") (number_literal "0x14")) () ")")) (compound_statement "{\n      pcVar49 = *(code **)(iVar4 + -0x7bd0);\n      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n    }" ({ "{") (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7bd0)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(iVar4 + -0x7bd0)" (* "*") (cast_expression "(code **)(iVar4 + -0x7bd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + -0x7bd0)" (( "(") (binary_expression "iVar4 + -0x7bd0" (identifier "iVar4") (+ "+") (number_literal "-0x7bd0")) () ")"))))) (; ";")) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (identifier "uVar51") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "(*pcVar49)(puVar45,uVar18,uVar7,uVar51);" (call_expression "(*pcVar49)(puVar45,uVar18,uVar7,uVar51)" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "(puVar45,uVar18,uVar7,uVar51)" (( "(") (identifier "puVar45") (, ",") (identifier "uVar18") (, ",") (identifier "uVar7") (, ",") (identifier "uVar51") () ")"))) (; ";")) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }" (else "else") (compound_statement "{\n      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;\n      if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n    }" ({ "{") (expression_statement "iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;" (assignment_expression "iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" (identifier "iVar11") (= "=") (binary_expression "iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" (identifier "iVar9") (+ "+") (binary_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4" (parenthesized_expression "(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10)" (( "(") (binary_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x28" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (identifier "iVar10")) () ")")) (* "*") (number_literal "4")))) (; ";")) (if_statement "if ((int)uVar7 < 0x32) {\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }\n      else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }" (if "if") (parenthesized_expression "((int)uVar7 < 0x32)" (( "(") (binary_expression "(int)uVar7 < 0x32" (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7")) (< "<") (number_literal "0x32")) () ")")) (compound_statement "{\n        pcVar49 = *(code **)(iVar4 + -0x7f84);\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }" ({ "{") (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7f84);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7f84)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(iVar4 + -0x7f84)" (* "*") (cast_expression "(code **)(iVar4 + -0x7f84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + -0x7f84)" (( "(") (binary_expression "iVar4 + -0x7f84" (identifier "iVar4") (+ "+") (number_literal "-0x7f84")) () ")"))))) (; ";")) (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (identifier "uVar51") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "(*pcVar49)(puVar45,uVar18,uVar7,uVar51);" (call_expression "(*pcVar49)(puVar45,uVar18,uVar7,uVar51)" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "(puVar45,uVar18,uVar7,uVar51)" (( "(") (identifier "puVar45") (, ",") (identifier "uVar18") (, ",") (identifier "uVar7") (, ",") (identifier "uVar51") () ")"))) (; ";")) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }" (else "else") (compound_statement "{\n        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);\n        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);\n        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;\n        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;\n        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);\n        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);\n      }" ({ "{") (expression_statement "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);" (assignment_expression "uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (identifier "uVar51") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x38" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "__gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);" (call_expression "__gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51)" (identifier "__gmpn_toom33_mul") (argument_list "(puVar45,uVar18,uVar7,uVar51)" (( "(") (identifier "puVar45") (, ",") (identifier "uVar18") (, ",") (identifier "uVar7") (, ",") (identifier "uVar51") () ")"))) (; ";")) (expression_statement "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")))) (} "}"))))) (expression_statement "uVar51 = *puVar45;" (assignment_expression "uVar51 = *puVar45" (identifier "uVar51") (= "=") (pointer_expression "*puVar45" (* "*") (identifier "puVar45"))) (; ";")) (expression_statement "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);" (assignment_expression "puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" (identifier "puVar45") (= "=") (cast_expression "(undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc)" (( "(") (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc" (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (identifier "param_1") (+ "+") (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x38)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x38" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x38")) () ")"))))) (+ "+") (number_literal "-0xc")) () ")")))) (; ";")) (expression_statement "iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);" (assignment_expression "iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (identifier "iVar4") (= "=") (binary_expression "param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (identifier "param_1") (+ "+") (pointer_expression "*(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (* "*") (cast_expression "(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x34)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x34" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x34")) () ")")))))) (; ";")) (expression_statement "uVar18 = *puVar45;" (assignment_expression "uVar18 = *puVar45" (identifier "uVar18") (= "=") (pointer_expression "*puVar45" (* "*") (identifier "puVar45"))) (; ";")) (if_statement "if (!bVar2) goto LAB_0005e778;" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (goto_statement "goto LAB_0005e778;" (goto "goto") (statement_identifier "LAB_0005e778") (; ";"))) (labeled_statement "LAB_0005e968:\n    pcVar49 = *(code **)(iVar11 + -0x7bd0);" (statement_identifier "LAB_0005e968") (: ":") (expression_statement "pcVar49 = *(code **)(iVar11 + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(iVar11 + -0x7bd0)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(iVar11 + -0x7bd0)" (* "*") (cast_expression "(code **)(iVar11 + -0x7bd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + -0x7bd0)" (( "(") (binary_expression "iVar11 + -0x7bd0" (identifier "iVar11") (+ "+") (number_literal "-0x7bd0")) () ")"))))) (; ";"))) (expression_statement "uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);" (assignment_expression "uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (identifier "uVar32") (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x24" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;" (assignment_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10" (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "(*pcVar49)(iVar4,uVar32,iVar10,param_1);" (call_expression "(*pcVar49)(iVar4,uVar32,iVar10,param_1)" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "(iVar4,uVar32,iVar10,param_1)" (( "(") (identifier "iVar4") (, ",") (identifier "uVar32") (, ",") (identifier "iVar10") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);" (assignment_expression "*puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (pointer_expression "*puVar45" (* "*") (identifier "puVar45")) (= "=") (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (labeled_statement "LAB_0005e990:\n    pcVar49 = *(code **)(iVar4 + -0x7bd0);" (statement_identifier "LAB_0005e990") (: ":") (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7bd0);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7bd0)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(iVar4 + -0x7bd0)" (* "*") (cast_expression "(code **)(iVar4 + -0x7bd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + -0x7bd0)" (( "(") (binary_expression "iVar4 + -0x7bd0" (identifier "iVar4") (+ "+") (number_literal "-0x7bd0")) () ")"))))) (; ";"))) (expression_statement "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);" (assignment_expression "uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (identifier "uVar32") (= "=") (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);" (assignment_expression "uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_bc + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)aiStack_bc + iVar3 + uVar5 * -9" (binary_expression "(int)aiStack_bc + iVar3" (cast_expression "(int)aiStack_bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_bc")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")"))))) (; ";")) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (identifier "uVar39")) (; ";")) (expression_statement "(*pcVar49)(param_1,uVar18,uVar39,uVar32);" (call_expression "(*pcVar49)(param_1,uVar18,uVar39,uVar32)" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "(param_1,uVar18,uVar39,uVar32)" (( "(") (identifier "param_1") (, ",") (identifier "uVar18") (, ",") (identifier "uVar39") (, ",") (identifier "uVar32") () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);" (assignment_expression "iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x10" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")))) (labeled_statement "LAB_0005e7f0:\n  iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (statement_identifier "LAB_0005e7f0") (: ":") (expression_statement "iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);" (assignment_expression "iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (* "*") (cast_expression "(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 0x20" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "0x20")) () ")"))))) (; ";"))) (expression_statement "uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);" (assignment_expression "uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (* "*") (cast_expression "(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_c8 + iVar3 + uVar5 * -9 + -0x30)" (( "(") (binary_expression "auStack_c8 + iVar3 + uVar5 * -9 + -0x30" (binary_expression "auStack_c8 + iVar3 + uVar5 * -9" (binary_expression "auStack_c8 + iVar3" (identifier "auStack_c8") (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "-0x30")) () ")"))))) (; ";")) (expression_statement "pcVar49 = *(code **)(iVar4 + -0x7cf8);" (assignment_expression "pcVar49 = *(code **)(iVar4 + -0x7cf8)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(iVar4 + -0x7cf8)" (* "*") (cast_expression "(code **)(iVar4 + -0x7cf8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + -0x7cf8)" (( "(") (binary_expression "iVar4 + -0x7cf8" (identifier "iVar4") (+ "+") (number_literal "-0x7cf8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 8)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 8" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar51")) (; ";")) (expression_statement "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18;" (assignment_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18" (pointer_expression "*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (* "*") (cast_expression "(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9 + 4)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9 + 4" (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10;" (assignment_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10" (pointer_expression "*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" (* "*") (cast_expression "(uint *)((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)auStack_140 + iVar3 + uVar5 * -9)" (( "(") (binary_expression "(int)auStack_140 + iVar3 + uVar5 * -9" (binary_expression "(int)auStack_140 + iVar3" (cast_expression "(int)auStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_140")) (+ "+") (identifier "iVar3")) (+ "+") (binary_expression "uVar5 * -9" (identifier "uVar5") (* "*") (number_literal "-9"))) () ")")))) (= "=") (binary_expression "uVar7 + iVar10" (identifier "uVar7") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "(*pcVar49)(param_1,iVar19,iVar9,uVar39);" (call_expression "(*pcVar49)(param_1,iVar19,iVar9,uVar39)" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "(param_1,iVar19,iVar9,uVar39)" (( "(") (identifier "param_1") (, ",") (identifier "iVar19") (, ",") (identifier "iVar9") (, ",") (identifier "uVar39") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (identifier)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)))) right: (number_literal)))) right: (number_literal)))) right: (number_literal)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (identifier))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) 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: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement 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: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))))))))) (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: (number_literal))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) 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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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: (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: (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: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) 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 (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (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: (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: (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) (labeled_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: (identifier))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) 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 (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (identifier))))) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (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: (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: (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement 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: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement 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: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (identifier))))) right: (binary_expression left: (identifier) right: (number_literal)))) (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: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) 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: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (identifier)) 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 (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) (do_statement 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: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement 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: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (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: (pointer_expression argument: (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (identifier)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (identifier))))) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (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: (identifier))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (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: (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 (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (number_literal) (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement 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: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (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: (pointer_expression argument: (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (identifier))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) 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: (identifier))))) right: (number_literal))))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (binary_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 (identifier) (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (identifier))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))))) alternative: (else_clause (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: (identifier))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) (identifier) (identifier) (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) 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 (binary_expression left: (identifier) right: (identifier)) (identifier) (identifier) (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: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (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 (binary_expression left: (identifier) right: (identifier)) (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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 (binary_expression left: (identifier) right: (identifier)) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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 (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_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)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (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 (identifier) (identifier) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) 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 (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (identifier) (identifier) (identifier))))) alternative: (else_clause (compound_statement (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) 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 (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) (identifier) (identifier) (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) right: (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: (number_literal))) (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)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) 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: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement 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: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) 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: (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)))) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (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: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) 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: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) consequence: (compound_statement (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) (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: (pointer_expression argument: (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) (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (number_literal))) (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)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (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))))))) 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: (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: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement 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: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) 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: (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)))) (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_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))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (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: (identifier))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) 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: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (goto_statement label: (statement_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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (identifier))))) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) consequence: (compound_statement (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) 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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) right: (number_literal))))) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))))) (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)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (return_statement))))

void MASKED(int param_1,int param_2,int param_3,undefined1 *param_4,int param_5,
                      int param_6)

{
  int *piVar1;
  bool bVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  undefined1 *puVar6;
  uint uVar7;
  uint uVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  int iVar15;
  int iVar16;
  int *piVar17;
  undefined4 uVar18;
  int iVar19;
  undefined1 *puVar20;
  int *piVar21;
  int *piVar22;
  undefined4 *puVar23;
  uint uVar24;
  uint *puVar25;
  undefined1 *puVar26;
  undefined1 *puVar27;
  uint *puVar28;
  undefined1 *puVar29;
  uint uVar30;
  uint *puVar31;
  undefined4 uVar32;
  uint *puVar33;
  int iVar34;
  int iVar35;
  undefined1 *puVar36;
  undefined1 *puVar37;
  int iVar38;
  uint uVar39;
  int iVar40;
  int iVar41;
  undefined1 *puVar42;
  int iVar43;
  int iVar44;
  undefined4 *puVar45;
  undefined1 *puVar46;
  undefined1 *puVar47;
  undefined *puVar48;
  code *pcVar49;
  undefined *puVar50;
  undefined4 uVar51;
  uint auStack_140 [30];
  undefined1 auStack_c8 [4];
  undefined4 uStack_c4;
  undefined1 auStack_c0 [4];
  int aiStack_bc [8];
  int iStack_9c;
  uint local_64;
  
  puVar48 = PTR___stack_chk_guard_0009d540;
  iVar19 = *(int *)PTR___stack_chk_guard_0009d540;
  if (param_3 < param_5 * 3) {
    uVar39 = param_5 + -1 >> 1;
  }
  else {
    uVar39 = (param_3 - 1U) / 6;
  }
  iVar40 = uVar39 + 1;
  iVar43 = uVar39 + 2;
  iVar41 = iVar40 * 4;
  iVar4 = iVar43 * 4;
  param_3 = param_3 + iVar40 * -5;
  uVar5 = iVar4 + 7U & 0xfffffff8;
  puVar26 = &stack0xffffff68 + -uVar5;
  puVar29 = &stack0xffffff68 + uVar5 * -2;
  param_5 = param_5 - iVar40;
  puVar42 = &stack0xffffff68 + uVar5 * -5;
  puVar36 = &stack0xffffff68 + uVar5 * -6;
  iVar3 = -(iVar41 + 7U & 0xfffffff8);
  puVar37 = &stack0xffffff68 + iVar3 + uVar5 * -6;
  iVar35 = param_2 + iVar41 + iVar41;
  puVar46 = &stack0xffffff68 + iVar3 + uVar5 * -7;
  iVar38 = iVar40 * 8;
  puVar47 = &stack0xffffff68 + iVar3 + uVar5 * -8;
  iVar34 = iVar35 + iVar41;
  puVar6 = &stack0xffffff68 + iVar3 + uVar5 * -9;
  iVar44 = iVar34 + iVar41;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;
  uVar7 = (*(code *)PTR___gmpn_toom_eval_pm1_0009d1e0)(puVar26,puVar29,5,param_2);
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_3;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = param_1;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar40;
  uVar8 = (*(code *)PTR___gmpn_toom_eval_pm2_0009d47c)
                    (&stack0xffffff68 + uVar5 * -3,&stack0xffffff68 + uVar5 * -4,5,param_2);
  local_64 = uVar8 & 1 | uVar7 & 2;
  iVar9 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,param_2,iVar40,1);
  iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,param_2 + iVar41,iVar40);
  iVar11 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);
  iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar35,iVar40);
  iVar12 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);
  iVar13 = iVar40 * 0xc;
  iVar34 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar34,iVar40);
  iVar14 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);
  iVar15 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,iVar40);
  iVar16 = (*(code *)PTR___gmpn_lshift_0009d56c)(puVar42,puVar42,iVar40,1);
  iVar44 = iVar44 + iVar41;
  iVar16 = (iVar14 + iVar15 + (iVar12 + iVar34 + (iVar11 + iVar35 + (iVar9 + iVar10) * 2) * 2) * 2)
           * 2 + iVar16;
  if ((param_3 != 0) &&
     (iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar42,puVar42,iVar44,param_3), iVar9 != 0)) {
    if (param_3 < iVar40) {
      piVar21 = (int *)(puVar42 + param_3 * 4);
      iVar9 = *piVar21;
      *piVar21 = iVar9 + 1;
      if (iVar9 + 1 == 0) {
        if (iVar40 <= param_3 + 1) goto LAB_0005dbd4;
        iVar9 = param_3 + 2;
        iVar10 = *(int *)(puVar42 + (param_3 + 1) * 4) + 1;
        *(int *)(puVar42 + (param_3 + 1) * 4) = iVar10;
        while (iVar10 == 0) {
          if (iVar9 == iVar40) goto LAB_0005dbd4;
          iVar9 = iVar9 + 1;
          iVar10 = piVar21[2] + 1;
          piVar21[2] = iVar10;
          piVar21 = piVar21 + 1;
        }
      }
    }
    else {
LAB_0005dbd4:
      iVar16 = iVar16 + 1;
    }
  }
  puVar20 = param_4 + iVar41;
  *(int *)(puVar42 + iVar41) = iVar16;
  piVar21 = (int *)(puVar36 + iVar41);
  if (iVar40 == param_5) {
    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,iVar40);
    *piVar21 = iVar9;
    puVar28 = (uint *)(param_4 + uVar39 * 4);
    iVar9 = iVar40;
    do {
      iVar9 = iVar9 + -1;
      if (iVar9 < 0) goto LAB_0005ddc8;
      uVar7 = *puVar28;
      puVar28 = puVar28 + -1;
    } while (uVar7 == puVar28[uVar39 + 2]);
    if (puVar28[uVar39 + 2] < uVar7) {
LAB_0005ddc8:
      uVar39 = 0;
      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);
    }
    else {
      uVar39 = 2;
      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);
    }
LAB_0005d5e4:
    iVar9 = 0;
    if (param_5 == 0) {
LAB_0005d5f0:
      if ((puVar36 != puVar46) && (iVar9 < iVar43)) {
LAB_0005d600:
        (*(code *)PTR_memcpy_0009d544)(puVar46 + iVar9 * 4,puVar36 + iVar9 * 4,(iVar43 - iVar9) * 4)
        ;
      }
      if (uVar39 != 0) {
        if (param_5 != 0) goto LAB_0005df00;
        iVar4 = 0;
        goto LAB_0005d63c;
      }
      goto LAB_0005da2c;
    }
LAB_0005d980:
    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar46,puVar36,puVar20,param_5);
    iVar9 = param_5;
    if (iVar10 == 0) goto LAB_0005d5f0;
    if (param_5 < iVar43) {
      piVar17 = (int *)(puVar36 + param_5 * 4);
      iVar10 = *piVar17;
      *(int *)(puVar46 + param_5 * 4) = iVar10 + 1;
      iVar9 = param_5 + 1;
      if (iVar10 + 1 == 0) {
        iVar10 = (param_5 + 1) * 4;
        if (iVar40 <= param_5) goto LAB_0005da20;
        iVar9 = param_5 + 2;
        iVar11 = *(int *)(puVar36 + iVar10) + 1;
        *(int *)(puVar46 + iVar10) = iVar11;
        piVar22 = (int *)(puVar46 + param_5 * 4);
        while (iVar11 == 0) {
          if (iVar9 == iVar43) goto LAB_0005da20;
          piVar1 = piVar17 + 2;
          iVar9 = iVar9 + 1;
          piVar17 = piVar17 + 1;
          iVar11 = *piVar1 + 1;
          piVar22[2] = iVar11;
          piVar22 = piVar22 + 1;
        }
      }
      goto LAB_0005d5f0;
    }
LAB_0005da20:
    if (uVar39 == 0) goto LAB_0005da2c;
LAB_0005df00:
    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar47,puVar37,puVar20,param_5);
    iVar4 = param_5;
    if (iVar9 == 0) {
LAB_0005d63c:
      uVar18 = 0;
      if (puVar37 != puVar47) {
        if (iVar4 < iVar40) {
          (*(code *)PTR_memcpy_0009d544)
                    (puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,(iVar40 - iVar4) * 4);
          uVar18 = 0;
        }
        else {
          uVar18 = 0;
        }
      }
    }
    else {
      if (param_5 < iVar40) {
        iVar4 = param_5 + 1;
        piVar17 = (int *)(puVar37 + param_5 * 4);
        iVar9 = *piVar17;
        *(int *)(puVar47 + param_5 * 4) = iVar9 + 1;
        if (iVar9 + 1 == 0) {
          uVar18 = 1;
          if (iVar40 <= iVar4) goto LAB_0005d678;
          iVar9 = param_5 + 2;
          iVar10 = *(int *)(puVar37 + iVar4 * 4) + 1;
          *(int *)(puVar47 + iVar4 * 4) = iVar10;
          piVar22 = (int *)(puVar47 + param_5 * 4);
          while (iVar4 = iVar9, iVar10 == 0) {
            if (iVar40 == iVar9) goto LAB_0005dfa8;
            piVar1 = piVar17 + 2;
            iVar9 = iVar9 + 1;
            piVar17 = piVar17 + 1;
            iVar10 = *piVar1 + 1;
            piVar22[2] = iVar10;
            piVar22 = piVar22 + 1;
          }
        }
        goto LAB_0005d63c;
      }
LAB_0005dfa8:
      uVar18 = 1;
    }
LAB_0005d678:
    *(undefined4 *)(puVar47 + iVar41) = uVar18;
    local_64 = local_64 ^ (uVar39 | 1);
  }
  else {
    iVar9 = param_5 * 4;
    if (param_5 == 0) {
      iVar10 = 0;
LAB_0005d51c:
      iVar11 = 0;
      if (puVar36 != param_4) {
        if (iVar10 < iVar40) {
          (*(code *)PTR_memcpy_0009d544)
                    (puVar36 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);
        }
        iVar11 = 0;
      }
    }
    else {
      iVar11 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar36,param_4,puVar20,param_5);
      iVar10 = param_5;
      if (iVar11 == 0) goto LAB_0005d51c;
      if (param_5 < iVar40) {
        iVar10 = param_5 + 1;
        piVar17 = (int *)(param_4 + iVar9);
        iVar11 = *piVar17;
        *(int *)(puVar36 + iVar9) = iVar11 + 1;
        if (iVar11 + 1 == 0) {
          iVar11 = 1;
          if (iVar40 <= iVar10) goto LAB_0005d558;
          iVar11 = param_5 + 2;
          iVar35 = *(int *)(param_4 + iVar10 * 4) + 1;
          *(int *)(puVar36 + iVar10 * 4) = iVar35;
          piVar22 = (int *)(puVar36 + iVar9);
          while (iVar10 = iVar11, iVar35 == 0) {
            if (iVar11 == iVar40) goto LAB_0005dc80;
            piVar1 = piVar17 + 2;
            iVar11 = iVar11 + 1;
            piVar17 = piVar17 + 1;
            iVar35 = *piVar1 + 1;
            piVar22[2] = iVar35;
            piVar22 = piVar22 + 1;
          }
        }
        goto LAB_0005d51c;
      }
LAB_0005dc80:
      iVar11 = 1;
    }
LAB_0005d558:
    *piVar21 = iVar11;
    iVar11 = iVar40 - param_5;
    piVar17 = (int *)(param_4 + (param_5 + 0x3fffffff + iVar11) * 4);
    iVar10 = iVar11;
    do {
      iVar10 = iVar10 + -1;
      if (*piVar17 != 0) goto LAB_0005d59c;
      piVar17 = piVar17 + -1;
    } while (iVar10 != 0);
    puVar28 = (uint *)(param_4 + (param_5 + -1) * 4);
    iVar10 = param_5;
    do {
      iVar10 = iVar10 + -1;
      if (iVar10 < 0) goto LAB_0005d59c;
      uVar7 = *puVar28;
      puVar28 = puVar28 + -1;
    } while (uVar7 == puVar28[uVar39 + 2]);
    if (uVar7 <= puVar28[uVar39 + 2]) {
      (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,puVar20,param_4,param_5);
      uVar39 = 2;
      (*(code *)PTR_memset_0009d2e8)(puVar37 + iVar9,0,iVar11 * 4);
      goto LAB_0005d5e4;
    }
LAB_0005d59c:
    if (param_5 != 0) {
      iVar11 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar37,param_4,puVar20,param_5);
      iVar10 = param_5;
      if (iVar11 == 0) {
LAB_0005de34:
        bVar2 = iVar10 < iVar40;
        if (puVar37 != param_4) goto LAB_0005d5b4;
        uVar39 = 0;
      }
      else {
        if (param_5 < iVar40) {
          iVar10 = param_5 + 1;
          piVar17 = (int *)(param_4 + iVar9);
          iVar11 = *piVar17;
          *(int *)(puVar37 + iVar9) = iVar11 + -1;
          if (iVar11 == 0) {
            if (iVar40 <= iVar10) goto LAB_0005d97c;
            iVar11 = param_5 + 2;
            iVar35 = *(int *)(param_4 + iVar10 * 4);
            *(int *)(puVar37 + iVar10 * 4) = iVar35 + -1;
            piVar22 = (int *)(puVar37 + iVar9);
            while (iVar10 = iVar11, iVar35 == 0) {
              if (iVar40 == iVar11) goto LAB_0005d97c;
              iVar35 = piVar17[2];
              iVar11 = iVar11 + 1;
              piVar17 = piVar17 + 1;
              piVar22[2] = iVar35 + -1;
              piVar22 = piVar22 + 1;
            }
          }
          goto LAB_0005de34;
        }
LAB_0005d97c:
        uVar39 = 0;
      }
      goto LAB_0005d980;
    }
    iVar10 = 0;
    if (puVar37 != param_4) {
      bVar2 = 0 < iVar40;
LAB_0005d5b4:
      if (bVar2) {
        (*(code *)PTR_memcpy_0009d544)
                  (puVar37 + iVar10 * 4,param_4 + iVar10 * 4,(iVar40 - iVar10) * 4);
      }
      uVar39 = 0;
      goto LAB_0005d5e4;
    }
    if ((puVar36 != puVar46) && (0 < iVar43)) {
      iVar9 = 0;
      uVar39 = 0;
      goto LAB_0005d600;
    }
LAB_0005da2c:
    if (param_5 < iVar40) {
      iVar4 = iVar40 - param_5;
      piVar17 = (int *)(puVar37 + iVar40 * 4 + -4);
      do {
        iVar4 = iVar4 + -1;
        if (*piVar17 != 0) goto LAB_0005da5c;
        piVar17 = piVar17 + -1;
      } while (iVar4 != 0);
      puVar27 = puVar37 + param_5 * 4;
      puVar28 = (uint *)(param_4 + (param_5 + -1) * 4 + iVar41);
      iVar4 = param_5;
      do {
        iVar4 = iVar4 + -1;
        if (iVar4 < 0) goto LAB_0005da5c;
        puVar33 = (uint *)(puVar27 + -4);
        uVar39 = *puVar28;
        puVar27 = puVar27 + -4;
        puVar28 = puVar28 + -1;
      } while (*puVar33 == uVar39);
      if (uVar39 < *puVar33) {
LAB_0005da5c:
        iVar4 = 0;
        if (param_5 == 0) {
LAB_0005da64:
          bVar2 = iVar4 < iVar40;
          if ((puVar37 != puVar47) && (bVar2)) {
LAB_0005da78:
            iVar9 = 4;
            if (bVar2) {
              iVar9 = (iVar40 - iVar4) * 4;
            }
            (*(code *)PTR_memcpy_0009d544)(puVar47 + iVar4 * 4,puVar37 + iVar4 * 4,iVar9);
          }
        }
        else {
          iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,param_5);
          iVar4 = param_5;
          if (iVar9 != 0) {
            piVar22 = (int *)(puVar37 + param_5 * 4);
            piVar17 = (int *)(puVar47 + param_5 * 4);
            do {
              iVar9 = *piVar22;
              iVar4 = iVar4 + 1;
              *piVar17 = iVar9 + -1;
              if (iVar9 != 0) goto LAB_0005da64;
              piVar22 = piVar22 + 1;
              piVar17 = piVar17 + 1;
            } while (iVar40 != iVar4);
            *(undefined4 *)(puVar47 + iVar41) = 0;
            goto LAB_0005d68c;
          }
          bVar2 = param_5 < iVar40;
          if (puVar37 != puVar47) goto LAB_0005da78;
        }
        *(undefined4 *)(puVar47 + iVar41) = 0;
      }
      else {
        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,param_5);
        local_64 = local_64 ^ 1;
        if (iVar43 != param_5) {
          (*(code *)PTR_memset_0009d2e8)(puVar47 + param_5 * 4,0,(iVar43 - param_5) * 4);
        }
      }
    }
    else {
      puVar27 = puVar37 + iVar4 + -4;
      puVar28 = (uint *)(param_4 + iVar4 + -8 + iVar41);
      iVar4 = iVar40;
      do {
        iVar4 = iVar4 + -1;
        if (iVar4 < 0) goto LAB_0005dccc;
        puVar33 = (uint *)(puVar27 + -4);
        uVar39 = *puVar28;
        puVar27 = puVar27 + -4;
        puVar28 = puVar28 + -1;
      } while (*puVar33 == uVar39);
      if (uVar39 < *puVar33) {
LAB_0005dccc:
        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar37,puVar20,iVar40);
        *(undefined4 *)(puVar47 + iVar41) = 0;
      }
      else {
        (*(code *)PTR___gmpn_sub_n_0009d514)(puVar47,puVar20,puVar37,iVar40);
        local_64 = local_64 ^ 1;
        *(undefined4 *)(puVar47 + iVar41) = 0;
      }
    }
  }
LAB_0005d68c:
  iVar9 = *piVar21;
  iVar4 = (*(code *)PTR___gmpn_add_n_0009d334)(puVar6,puVar36,param_4,iVar40);
  *(int *)(puVar6 + iVar41) = iVar9 + iVar4;
  (*(code *)PTR___gmpn_mul_n_0009d364)(param_6,&stack0xffffff68 + uVar5 * -3,puVar46,iVar43);
  iVar9 = param_6 + iVar38 + 4;
  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar9,&stack0xffffff68 + uVar5 * -4,puVar47,iVar43);
  iVar10 = param_6 + iVar40 * 0x10 + 8;
  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar10,puVar42,puVar6,iVar43);
  iVar4 = param_6 + iVar40 * 0x18 + 0xc;
  (*(code *)PTR___gmpn_mul_n_0009d364)(iVar4,puVar29,puVar37,iVar40);
  if (*(int *)(puVar29 + iVar41) == 1) {
    iVar11 = param_6 + iVar40 * 0x1c + 0xc;
    uVar18 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar11,iVar11,puVar37,iVar40);
  }
  else if (*(int *)(puVar29 + iVar41) == 2) {
    uVar18 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_6 + iVar40 * 0x1c + 0xc,puVar37,iVar40,2)
    ;
  }
  else {
    uVar18 = 0;
  }
  puVar50 = PTR___gmpn_mul_n_0009d364;
  *(undefined4 *)(param_6 + iVar40 * 0x20 + 0xc) = uVar18;
  (*(code *)puVar50)(param_1 + iVar38,puVar26,puVar36,iVar40);
  iVar11 = *(int *)(puVar26 + iVar41);
  if (iVar11 == 1) {
    iVar11 = *piVar21;
    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar36,iVar40);
    iVar11 = iVar11 + iVar35;
    iVar35 = *piVar21;
  }
  else {
    iVar35 = *piVar21;
    if (iVar11 == 2) {
      iVar12 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,2);
      iVar11 = iVar35 * 2;
      iVar35 = *piVar21;
      iVar11 = iVar11 + iVar12;
    }
    else {
      iVar12 = iVar11 * iVar35;
      if (iVar11 != 0) {
        iVar11 = (*(code *)PTR___gmpn_addmul_1_0009d0d0)(param_1 + iVar13,puVar36,iVar40,iVar11);
        iVar35 = *piVar21;
        iVar11 = iVar12 + iVar11;
      }
    }
  }
  if (iVar35 != 0) {
    iVar35 = (*(code *)PTR___gmpn_add_n_0009d334)(param_1 + iVar13,param_1 + iVar13,puVar26,iVar40);
    iVar11 = iVar11 + iVar35;
  }
  puVar50 = PTR___gmpn_mul_n_0009d364;
  piVar21 = (int *)(param_1 + iVar38 + iVar38);
  *piVar21 = iVar11;
  (*(code *)puVar50)(param_1,param_2,param_4,iVar40);
  if (param_5 < param_3) {
    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_5;
    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,iVar44,param_3,puVar20);
  }
  else {
    *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = param_3;
    (*(code *)PTR___gmpn_mul_0009d2b4)(piVar21 + iVar40 * 2,puVar20,param_5,iVar44);
  }
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x14) = iVar10;
  iVar13 = param_6 + iVar40 * 0x20 + 0x10;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10) = param_6;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x18) = param_3 + param_5;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x1c) = iVar13;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) = iVar4;
  iVar35 = iVar40;
  iVar12 = iVar9;
  (*(code *)PTR___gmpn_toom_interpolate_7pts_0009d3c8)();
  if (iVar19 == *(int *)puVar48) {
    return;
  }
  uVar18 = 0x5e16c;
  puVar48 = PTR___stack_chk_fail_0009d4d0;
  (*(code *)PTR___stack_chk_fail_0009d4d0)();
  puVar50 = puVar48 + 0x46ed0;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x20) = iVar40;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x14) = iVar4;
  *(uint *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) = local_64;
  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) = local_64 + 2;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -8) = iVar9;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x1c) = param_3 + param_5;
  iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4);
  iVar9 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0x10);
  *(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x10) = piVar21;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) = iVar12;
  *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) = puVar50;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0xc) = iVar13;
  *(undefined4 *)((int)&uStack_c4 + iVar3 + uVar5 * -9) = uVar18;
  *(undefined1 **)(auStack_c8 + iVar3 + uVar5 * -9) = auStack_c0;
  uVar39 = (local_64 + 2) / 3;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -4) = iVar10;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x18) = iVar11;
  iVar10 = uVar39 + 1;
  *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) = iVar35;
  uVar7 = iVar19 + uVar39 * -2;
  iVar4 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc);
  iVar19 = iVar10 * 8;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c) = iVar19;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) = iVar10 * 0x10;
  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20) = iVar4 + uVar39 * -2;
  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) = iVar9 + iVar10 * 0xc;
  *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34) = iVar19 + -8;
  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24) = iVar9 + iVar10 * 0x10;
  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = param_1 + iVar19;
  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) = iVar10 * 4;
  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar9 + iVar19;
  iVar4 = param_1 + iVar10 * 4;
  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38) = iVar35 + iVar19 + -8;
  if (uVar7 == 0) {
    uVar8 = 0;
LAB_0005e258:
    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);
LAB_0005e25c:
    if ((iVar9 == iVar19) || ((int)uVar39 <= (int)uVar8)) {
      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;
    }
    else {
      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);
      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;
      puVar23 = (undefined4 *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar8 * 4);
      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);
      do {
        uVar18 = *puVar23;
        puVar23 = puVar23 + 1;
        *puVar45 = uVar18;
        puVar45 = puVar45 + 1;
      } while (puVar23 != (undefined4 *)(iVar19 + iVar35));
    }
    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);
    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;
    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar11,iVar9,iVar13,uVar39);
    piVar21 = (int *)(iVar11 + iVar35);
    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    iVar11 = iVar9 + iVar35;
    *piVar21 = iVar19;
    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + (uVar39 - 1) * 4 + iVar35);
    uVar8 = uVar39;
    do {
      uVar8 = uVar8 - 1;
      if (uVar8 == 0xffffffff) {
        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);
        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;
        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar19 + iVar35;
        goto LAB_0005e31c;
      }
      uVar24 = *(uint *)(iVar11 + -4);
      uVar30 = *puVar28;
      iVar11 = iVar11 + -4;
      puVar28 = puVar28 + -1;
    } while (uVar24 == uVar30);
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) =
         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) + iVar35;
    if (uVar30 < uVar24) {
      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;
      goto LAB_0005e31c;
    }
    (**(code **)(iVar12 + -0x7b2c))
              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar13,iVar9,uVar39);
    puVar45 = *(undefined4 **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);
    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;
    *puVar45 = 0;
    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;
  }
  else {
    iVar19 = (**(code **)(puVar48 + 0x3f1c4))(iVar9);
    puVar50 = *(undefined **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    uVar8 = uVar7;
    if (iVar19 == 0) goto LAB_0005e258;
    if ((int)uVar7 < (int)uVar39) {
      uVar24 = uVar7 + 1;
      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar7 * 4);
      piVar21 = (int *)(iVar9 + uVar7 * 4);
      iVar19 = *piVar17;
      *piVar21 = iVar19 + 1;
      uVar8 = uVar24;
      if (iVar19 + 1 != 0) goto LAB_0005e258;
      if ((int)uVar39 <= (int)uVar24) goto LAB_0005eac8;
      uVar8 = uVar7 + 2;
      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + uVar24 * 4) + 1;
      *(int *)(iVar9 + uVar24 * 4) = iVar19;
      if (iVar19 == 0) {
        do {
          if (uVar39 == uVar8) goto LAB_0005eac8;
          iVar19 = piVar17[2];
          uVar8 = uVar8 + 1;
          piVar17 = piVar17 + 1;
          piVar21[2] = iVar19 + 1;
          piVar21 = piVar21 + 1;
        } while (iVar19 + 1 == 0);
        goto LAB_0005e258;
      }
      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9);
      goto LAB_0005e25c;
    }
LAB_0005eac8:
    iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);
    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + -4;
    piVar21 = (int *)(iVar19 + iVar35);
    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9) + iVar35;
    iVar19 = (**(code **)(puVar50 + -0x7d0c))(iVar19,iVar9,iVar13,uVar39);
    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);
    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    *piVar21 = iVar19 + 1;
    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 1;
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 + iVar35;
LAB_0005e31c:
    iVar19 = (**(code **)(iVar12 + -0x7b2c))
                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c),iVar9,iVar13,
                        uVar39);
    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;
    iVar11 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);
    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) = 0;
    **(int **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar11 - iVar19;
  }
  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);
  uVar8 = (**(code **)(iVar12 + -0x7d0c))
                    (iVar4,*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38),iVar11,
                     uVar7);
  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
  if (uVar39 != uVar7) {
    iVar12 = uVar39 - uVar7;
    puVar33 = (uint *)(iVar11 + uVar7 * 4);
    puVar28 = (uint *)(iVar4 + uVar7 * 4);
    uVar24 = *puVar33;
    *puVar28 = uVar8 + uVar24;
    if (uVar8 + uVar24 < uVar8) {
      uVar8 = 1;
      if (1 < iVar12) {
        uVar8 = puVar33[1];
        puVar28[1] = uVar8 + 1;
        if (uVar8 + 1 == 0) {
          uVar8 = 1;
          if (iVar12 == 2) goto LAB_0005e408;
          uVar8 = puVar33[2];
          puVar28[2] = uVar8 + 1;
          if (uVar8 + 1 == 0) {
            puVar31 = puVar33 + 3;
            iVar11 = 3;
            puVar25 = puVar28 + 3;
            do {
              if (iVar12 == iVar11) {
                uVar8 = 1;
                goto LAB_0005e408;
              }
              uVar8 = *puVar31;
              iVar11 = iVar11 + 1;
              puVar31 = puVar31 + 1;
              *puVar25 = uVar8 + 1;
              puVar25 = puVar25 + 1;
            } while (uVar8 + 1 == 0);
          }
          else {
            iVar11 = 3;
          }
        }
        else {
          iVar11 = 2;
        }
        uVar8 = 0;
        if (puVar28 != puVar33) {
          if (iVar12 <= iVar11) goto LAB_0005ea24;
          puVar25 = puVar33 + iVar11;
          puVar28 = puVar28 + iVar11;
          do {
            uVar8 = *puVar25;
            puVar25 = puVar25 + 1;
            *puVar28 = uVar8;
            puVar28 = puVar28 + 1;
          } while (puVar25 != puVar33 + iVar12);
          uVar8 = 0;
        }
      }
    }
    else {
      uVar8 = 0;
      if (puVar28 != puVar33) {
        if (1 < iVar12) {
          puVar25 = puVar33 + 1;
          do {
            puVar28 = puVar28 + 1;
            uVar8 = *puVar25;
            puVar25 = puVar25 + 1;
            *puVar28 = uVar8;
          } while (puVar25 != puVar33 + iVar12);
        }
LAB_0005ea24:
        uVar8 = 0;
      }
    }
  }
LAB_0005e408:
  iVar34 = *piVar21;
  iVar19 = (**(code **)(iVar19 + -0x7ad4))(iVar4,iVar4,uVar39,1);
  iVar11 = (**(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7b2c))
                     (iVar4,iVar4,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9),uVar39);
  iVar13 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);
  iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
  iVar12 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);
  *(uint *)(iVar4 + iVar35) = (iVar19 - iVar11) + (uVar8 + iVar34) * 2;
  *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c) = iVar12 + iVar13;
  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);
  if (iVar19 == 0) {
    uVar8 = 0;
LAB_0005e480:
    iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);
LAB_0005e484:
    if ((iVar9 != iVar19) &&
       (iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8), (int)uVar8 < (int)uVar39)) {
      puVar23 = (undefined4 *)(iVar19 + uVar8 * 4);
      puVar45 = (undefined4 *)(iVar9 + uVar8 * 4);
      do {
        uVar18 = *puVar23;
        puVar23 = puVar23 + 1;
        *puVar45 = uVar18;
        puVar45 = puVar45 + 1;
      } while ((undefined4 *)(iVar19 + iVar35) != puVar23);
    }
    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;
    uVar18 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);
    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    iVar19 = iVar9 + iVar35;
    *(undefined4 *)(param_1 + iVar35) = uVar18;
    puVar28 = (uint *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) +
                      (uVar39 - 1) * 4 + iVar35);
    uVar8 = uVar39;
    do {
      uVar8 = uVar8 - 1;
      if (uVar8 == 0xffffffff) {
        iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);
        *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;
        *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar19 + iVar35;
        goto LAB_0005e534;
      }
      uVar24 = *(uint *)(iVar19 + -4);
      uVar30 = *puVar28;
      iVar19 = iVar19 + -4;
      puVar28 = puVar28 + -1;
    } while (uVar24 == uVar30);
    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =
         *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30) + iVar35;
    if (uVar30 < uVar24) {
      *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 0;
      goto LAB_0005e534;
    }
    (**(code **)(iVar12 + -0x7b2c))
              (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar13,iVar9,uVar39);
    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30) =
         *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24);
    **(undefined4 **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = 0;
  }
  else {
    iVar11 = (**(code **)(iVar14 + -0x7d0c))
                       (iVar9,*(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8),
                        *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),iVar19);
    iVar14 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    if (iVar11 == 0) {
      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);
      goto LAB_0005e480;
    }
    if (iVar19 < (int)uVar39) {
      uVar8 = iVar19 + 1;
      piVar17 = (int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar19 * 4);
      piVar21 = (int *)(iVar9 + iVar19 * 4);
      iVar11 = *piVar17;
      *piVar21 = iVar11 + 1;
      if (iVar11 + 1 != 0) goto LAB_0005e480;
      if ((int)uVar39 <= (int)uVar8) goto LAB_0005ec00;
      iVar11 = uVar8 * 4;
      uVar8 = iVar19 + 2;
      iVar19 = *(int *)(*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar11) + 1;
      *(int *)(iVar9 + iVar11) = iVar19;
      if (iVar19 == 0) {
        do {
          if (uVar39 == uVar8) goto LAB_0005ec00;
          iVar19 = piVar17[2];
          uVar8 = uVar8 + 1;
          piVar17 = piVar17 + 1;
          piVar21[2] = iVar19 + 1;
          piVar21 = piVar21 + 1;
        } while (iVar19 + 1 == 0);
        goto LAB_0005e480;
      }
      iVar19 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);
      goto LAB_0005e484;
    }
LAB_0005ec00:
    iVar13 = *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8) + iVar35;
    iVar19 = (**(code **)(iVar14 + -0x7d0c))(param_1,iVar9,iVar13,uVar39);
    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);
    iVar12 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    *(int *)(param_1 + iVar35) = iVar19 + 1;
    *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) = 1;
    *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) = iVar11 + iVar35;
LAB_0005e534:
    iVar19 = (**(code **)(iVar12 + -0x7b2c))
                       (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30),iVar9,iVar13,
                        uVar39);
    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    **(int **)(auStack_c8 + iVar3 + uVar5 * -9 + -0x28) =
         *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x24) - iVar19;
  }
  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);
  uVar8 = (**(code **)(iVar11 + -0x7d0c))
                    (*(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c),param_1,
                     *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c),uVar24);
  iVar19 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
  if (uVar39 != uVar24) {
    iVar11 = uVar39 - uVar24;
    puVar33 = (uint *)(param_1 + uVar24 * 4);
    puVar28 = (uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + uVar24 * 4);
    uVar24 = *puVar33;
    *puVar28 = uVar8 + uVar24;
    if (uVar8 + uVar24 < uVar8) {
      uVar8 = 1;
      if (1 < iVar11) {
        uVar8 = puVar33[1];
        puVar28[1] = uVar8 + 1;
        if (uVar8 + 1 == 0) {
          uVar8 = 1;
          if (iVar11 == 2) goto LAB_0005e618;
          uVar8 = puVar33[2];
          puVar28[2] = uVar8 + 1;
          if (uVar8 + 1 == 0) {
            puVar31 = puVar33 + 3;
            iVar12 = 3;
            puVar25 = puVar28 + 3;
            do {
              if (iVar11 == iVar12) {
                uVar8 = 1;
                goto LAB_0005e618;
              }
              uVar8 = *puVar31;
              iVar12 = iVar12 + 1;
              puVar31 = puVar31 + 1;
              *puVar25 = uVar8 + 1;
              puVar25 = puVar25 + 1;
            } while (uVar8 + 1 == 0);
          }
          else {
            iVar12 = 3;
          }
        }
        else {
          iVar12 = 2;
        }
        uVar8 = 0;
        if (puVar28 != puVar33) {
          if (iVar11 <= iVar12) goto LAB_0005e9e8;
          puVar25 = puVar33 + iVar12;
          puVar28 = puVar28 + iVar12;
          do {
            uVar8 = *puVar25;
            puVar25 = puVar25 + 1;
            *puVar28 = uVar8;
            puVar28 = puVar28 + 1;
          } while (puVar33 + iVar11 != puVar25);
          uVar8 = 0;
        }
      }
    }
    else {
      uVar8 = 0;
      if (puVar28 != puVar33) {
        if (1 < iVar11) {
          puVar25 = puVar33 + 1;
          do {
            puVar28 = puVar28 + 1;
            uVar8 = *puVar25;
            puVar25 = puVar25 + 1;
            *puVar28 = uVar8;
          } while (puVar33 + iVar11 != puVar25);
        }
LAB_0005e9e8:
        uVar8 = 0;
      }
    }
  }
LAB_0005e618:
  iVar13 = *(int *)(param_1 + iVar35);
  uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);
  iVar19 = (**(code **)(iVar19 + -0x7ad4))(uVar51,uVar51,uVar39,1);
  iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
  uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);
  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar51;
  iVar11 = (**(code **)(iVar11 + -0x7b2c))(uVar51,uVar51,uVar18,uVar39);
  iVar12 = *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x2c);
  iVar34 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
  uVar24 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);
  *(uint *)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) + iVar35) =
       (iVar19 - iVar11) + (uVar8 + iVar13) * 2;
  bVar2 = uVar24 < 0x39;
  iVar19 = iVar9 + iVar12 + -4;
  if (bVar2) {
    pcVar49 = *(code **)(iVar34 + -0x7bd0);
    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);
    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
    (*pcVar49)(iVar9,uVar18,iVar10,uVar51);
    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);
    pcVar49 = *(code **)(*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10) + -0x7bd0);
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);
    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
LAB_0005e6f8:
    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);
    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4) <=
        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc)) goto LAB_0005e714;
LAB_0005e924:
    pcVar49 = *(code **)(iVar4 + -0x7d8c);
    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);
    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);
    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9) =
         *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);
    (*pcVar49)(puVar45,uVar18,uVar7,uVar51);
    iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    uVar51 = *puVar45;
    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);
    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);
    uVar18 = *puVar45;
    if (bVar2) goto LAB_0005e968;
LAB_0005e778:
    iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28);
    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;
    iVar35 = iVar9 + (iVar35 + iVar10) * 4;
    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {
      pcVar49 = *(code **)(iVar11 + -0x7f84);
      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
      (*pcVar49)(iVar4,uVar18,iVar10,param_1);
      uVar8 = *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34);
      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);
      if (uVar8 < 0x3c) goto LAB_0005e990;
    }
    else {
      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;
      __gmpn_toom33_mul(iVar4,uVar18,iVar10,param_1);
      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
      *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);
      if (uVar39 != 0x31) {
        uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);
        uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);
        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;
        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;
        __gmpn_toom33_mul(param_1,uVar18,uVar39,uVar32);
        iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
        goto LAB_0005e7f0;
      }
    }
    pcVar49 = *(code **)(iVar4 + -0x7f84);
    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);
    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar35;
    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;
    (*pcVar49)(param_1,uVar18,uVar39,uVar32);
    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
  }
  else {
    iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;
    if (*(uint *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x34) < 0x93) {
      pcVar49 = *(code **)(iVar34 + -0x7f84);
      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);
      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
      (*pcVar49)(iVar9,uVar18,iVar10,uVar51);
      iVar35 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;
      pcVar49 = *(code **)(iVar35 + -0x7f84);
      *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
      (*pcVar49)(iVar19,iVar4,iVar10,uVar18);
      iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
      goto LAB_0005e6f8;
    }
    iVar35 = *(int *)(iVar34 + -0x7fc0);
    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);
    uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x30);
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c) = iVar35 + -0x1e90;
    __gmpn_toom33_mul(iVar9,uVar18,iVar10,uVar51);
    uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);
    pcVar49 = *(code **)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x2c);
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
    (*pcVar49)(iVar19,iVar4,iVar10,uVar18);
    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0x10);
    if (*(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 0xc) <
        *(int *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 4)) goto LAB_0005e924;
LAB_0005e714:
    if ((int)uVar7 < 0x14) {
      pcVar49 = *(code **)(iVar4 + -0x7bd0);
      uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);
      uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);
      *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;
      (*pcVar49)(puVar45,uVar18,uVar7,uVar51);
      iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    }
    else {
      iVar11 = iVar9 + (*(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x28) + iVar10) * 4;
      if ((int)uVar7 < 0x32) {
        pcVar49 = *(code **)(iVar4 + -0x7f84);
        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);
        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);
        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;
        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;
        (*pcVar49)(puVar45,uVar18,uVar7,uVar51);
        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
      }
      else {
        uVar51 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x3c);
        uVar18 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x38);
        *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = iVar11;
        *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7;
        __gmpn_toom33_mul(puVar45,uVar18,uVar7,uVar51);
        iVar11 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
      }
    }
    uVar51 = *puVar45;
    puVar45 = (undefined4 *)(param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x38) + -0xc);
    iVar4 = param_1 + *(int *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x34);
    uVar18 = *puVar45;
    if (!bVar2) goto LAB_0005e778;
LAB_0005e968:
    pcVar49 = *(code **)(iVar11 + -0x7bd0);
    uVar32 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x24);
    *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c) = uVar18;
    *(int *)((int)auStack_140 + iVar3 + uVar5 * -9) = iVar10;
    (*pcVar49)(iVar4,uVar32,iVar10,param_1);
    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
    *puVar45 = *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x1c);
LAB_0005e990:
    pcVar49 = *(code **)(iVar4 + -0x7bd0);
    uVar32 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9 + 8);
    uVar18 = *(undefined4 *)((int)aiStack_bc + iVar3 + uVar5 * -9);
    *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar39;
    (*pcVar49)(param_1,uVar18,uVar39,uVar32);
    iVar4 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x10);
  }
LAB_0005e7f0:
  iVar10 = *(int *)((int)auStack_140 + iVar3 + uVar5 * -9 + 0x20);
  uVar18 = *(undefined4 *)(auStack_c8 + iVar3 + uVar5 * -9 + -0x30);
  pcVar49 = *(code **)(iVar4 + -0x7cf8);
  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 8) = uVar51;
  *(undefined4 *)((int)auStack_140 + iVar3 + uVar5 * -9 + 4) = uVar18;
  *(uint *)((int)auStack_140 + iVar3 + uVar5 * -9) = uVar7 + iVar10;
  (*pcVar49)(param_1,iVar19,iVar9,uVar39);
  return;
}

